Skip to content

Repository files navigation

Go API client for seerr

This is the documentation for the Seerr API backend.

Two primary authentication methods are supported:

  • Cookie Authentication: A valid sign-in to the /auth/plex or /auth/local will generate a valid authentication cookie.
  • API Key Authentication: Sign-in is also possible by passing an X-Api-Key header along with a valid API Key generated by Seerr.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: v3.4.1
  • Package version: 0.2.0
  • Generator version: 7.24.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Import the package in a go file in your project and run go mod tidy:

import seerr "github.com/devopsarr/seerr-go/seerr"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value seerr.ContextServerIndex of type int.

ctx:=context.WithValue(context.Background(), seerr.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value seerr.ContextServerVariables of type map[string]string.

ctx:=context.WithValue(context.Background(), seerr.ContextServerVariables, map[string]string{
"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using seerr.ContextOperationServerIndices and seerr.ContextOperationServerVariables context maps.

ctx:=context.WithValue(context.Background(), seerr.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx=context.WithValue(context.Background(), seerr.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})

Documentation for API Endpoints

All URIs are relative to http://localhost:5055/api/v1

ClassMethodHTTP requestDescription
AuthAPICreateAuthJellyfinPost /auth/jellyfinSign in using a Jellyfin username and password
AuthAPICreateAuthJellyfinQuickconnectAuthenticatePost /auth/jellyfin/quickconnect/authenticateAuthenticate with Quick Connect
AuthAPICreateAuthJellyfinQuickconnectInitiatePost /auth/jellyfin/quickconnect/initiateInitiate Jellyfin Quick Connect
AuthAPICreateAuthLocalPost /auth/localSign in using a local account
AuthAPICreateAuthLogoutPost /auth/logoutSign out and clear session cookie
AuthAPICreateAuthPlexPost /auth/plexSign in using a Plex token
AuthAPIGetAuthJellyfinQuickconnectCheckGet /auth/jellyfin/quickconnect/checkCheck Quick Connect authorization status
AuthAPIGetAuthMeGet /auth/meGet logged-in user
BlocklistAPICreateBlacklistPost /blacklistAdd media to blocklist
BlocklistAPICreateBlocklistPost /blocklistAdd media to blocklist
BlocklistAPICreateBlocklistCollectionByCollectionIdPost /blocklist/collection/{collectionId}Add collection to blocklist
BlocklistAPIDeleteBlacklistDelete /blacklist/{tmdbId}Remove media from blocklist
BlocklistAPIDeleteBlocklistDelete /blocklist/{tmdbId}Remove media from blocklist
BlocklistAPIDeleteBlocklistCollectionDelete /blocklist/collection/{collectionId}Remove collection from blocklist
BlocklistAPIGetBlacklistGet /blacklistReturns blocklisted items
BlocklistAPIGetBlacklistByTmdbIdGet /blacklist/{tmdbId}Get media from blocklist
BlocklistAPIGetBlocklistGet /blocklistReturns blocklisted items
BlocklistAPIGetBlocklistByTmdbIdGet /blocklist/{tmdbId}Get media from blocklist
CollectionAPIGetCollectionByCollectionIdGet /collection/{collectionId}Get collection details
IssueAPICreateIssuePost /issueCreate new issue
IssueAPICreateIssueByStatusPost /issue/{issueId}/{status}Update an issue's status
IssueAPICreateIssueCommentPost /issue/{issueId}/commentCreate a comment
IssueAPIDeleteIssueDelete /issue/{issueId}Delete issue
IssueAPIDeleteIssueCommentDelete /issueComment/{commentId}Delete issue comment
IssueAPIGetIssueGet /issueGet all issues
IssueAPIGetIssueByIssueIdGet /issue/{issueId}Get issue
IssueAPIGetIssueCommentByCommentIdGet /issueComment/{commentId}Get issue comment
IssueAPIGetIssueCountGet /issue/countGets issue counts
IssueAPIUpdateIssueCommentPut /issueComment/{commentId}Update issue comment
MediaAPICreateMediaByStatusPost /media/{mediaId}/{status}Update media status
MediaAPIDeleteMediaDelete /media/{mediaId}Delete media item
MediaAPIDeleteMediaFileDelete /media/{mediaId}/fileDelete media file
MediaAPIGetMediaGet /mediaGet media
MediaAPIGetMediaWatchDataGet /media/{mediaId}/watch_dataGet watch data
MoviesAPIGetMovieByMovieIdGet /movie/{movieId}Get movie details
MoviesAPIGetMovieRatingsGet /movie/{movieId}/ratingsGet movie ratings
MoviesAPIGetMovieRatingscombinedGet /movie/{movieId}/ratingscombinedGet RT and IMDB movie ratings combined
MoviesAPIGetMovieRecommendationsGet /movie/{movieId}/recommendationsGet recommended movies
MoviesAPIGetMovieSimilarGet /movie/{movieId}/similarGet similar movies
OtherAPIGetCertificationsMovieGet /certifications/movieGet movie certifications
OtherAPIGetCertificationsTvGet /certifications/tvGet TV certifications
OtherAPIGetKeywordByKeywordIdGet /keyword/{keywordId}Get keyword
OtherAPIListWatchprovidersMoviesGet /watchproviders/moviesGet watch provider movies
OtherAPIListWatchprovidersRegionsGet /watchproviders/regionsGet watch provider regions
OtherAPIListWatchprovidersTvGet /watchproviders/tvGet watch provider series
OverrideruleAPICreateOverriderulePost /overrideRuleCreate override rule
OverrideruleAPIDeleteOverrideruleDelete /overrideRule/{ruleId}Delete override rule by ID
OverrideruleAPIListOverrideruleGet /overrideRuleGet override rules
OverrideruleAPIUpdateOverriderulePut /overrideRule/{ruleId}Update override rule
PersonAPIGetPersonByPersonIdGet /person/{personId}Get person details
PersonAPIGetPersonCombinedCreditsGet /person/{personId}/combined_creditsGet combined credits
PublicAPIGetStatusGet /statusGet Seerr status
PublicAPIGetStatusAppdataGet /status/appdataGet application data volume status
RequestAPICreateRequestPost /requestCreate new request
RequestAPICreateRequestByStatusPost /request/{requestId}/{status}Update a request's status
RequestAPICreateRequestRetryPost /request/{requestId}/retryRetry failed request
RequestAPIDeleteRequestDelete /request/{requestId}Delete request
RequestAPIGetRequestGet /requestGet all requests
RequestAPIGetRequestByRequestIdGet /request/{requestId}Get MediaRequest
RequestAPIGetRequestCountGet /request/countGets request counts
RequestAPIUpdateRequestPut /request/{requestId}Update MediaRequest
SearchAPIGetDiscoverKeywordMoviesGet /discover/keyword/{keywordId}/moviesGet movies from keyword
SearchAPIGetDiscoverMoviesGet /discover/moviesDiscover movies
SearchAPIGetDiscoverMoviesGenreByGenreIdGet /discover/movies/genre/{genreId}Discover movies by genre
SearchAPIGetDiscoverMoviesLanguageByLanguageGet /discover/movies/language/{language}Discover movies by original language
SearchAPIGetDiscoverMoviesStudioByStudioIdGet /discover/movies/studio/{studioId}Discover movies by studio
SearchAPIGetDiscoverMoviesUpcomingGet /discover/movies/upcomingUpcoming movies
SearchAPIGetDiscoverTrendingGet /discover/trendingTrending movies and TV
SearchAPIGetDiscoverTvGet /discover/tvDiscover TV shows
SearchAPIGetDiscoverTvGenreByGenreIdGet /discover/tv/genre/{genreId}Discover TV shows by genre
SearchAPIGetDiscoverTvLanguageByLanguageGet /discover/tv/language/{language}Discover TV shows by original language
SearchAPIGetDiscoverTvNetworkByNetworkIdGet /discover/tv/network/{networkId}Discover TV shows by network
SearchAPIGetDiscoverTvUpcomingGet /discover/tv/upcomingDiscover Upcoming TV shows
SearchAPIGetDiscoverWatchlistGet /discover/watchlistGet the Plex watchlist.
SearchAPIGetSearchGet /searchSearch for movies, TV shows, or people
SearchAPIGetSearchCompanyGet /search/companySearch for companies
SearchAPIGetSearchKeywordGet /search/keywordSearch for keywords
SearchAPIListDiscoverGenresliderMovieGet /discover/genreslider/movieGet genre slider data for movies
SearchAPIListDiscoverGenresliderTvGet /discover/genreslider/tvGet genre slider data for TV series
ServiceAPIGetServiceRadarrByRadarrIdGet /service/radarr/{radarrId}Get Radarr server quality profiles and root folders
ServiceAPIGetServiceSonarrBySonarrIdGet /service/sonarr/{sonarrId}Get Sonarr server quality profiles and root folders
ServiceAPIListServiceRadarrGet /service/radarrGet non-sensitive Radarr server list
ServiceAPIListServiceSonarrGet /service/sonarrGet non-sensitive Sonarr server list
ServiceAPIListServiceSonarrLookupByTmdbIdGet /service/sonarr/lookup/{tmdbId}Get series from Sonarr
SettingsAPICreateCacheDnsFlushPost /settings/cache/dns/{dnsEntry}/flushFlush a specific DNS cache entry
SettingsAPICreateCacheFlushPost /settings/cache/{cacheId}/flushFlush a specific cache
SettingsAPICreateDiscoverPost /settings/discoverBatch update all sliders.
SettingsAPICreateDiscoverAddPost /settings/discover/addAdd a new slider
SettingsAPICreateInitializePost /settings/initializeInitialize application
SettingsAPICreateJellyfinPost /settings/jellyfinUpdate Jellyfin settings
SettingsAPICreateJellyfinSyncPost /settings/jellyfin/syncStart full Jellyfin library sync
SettingsAPICreateJobsCancelPost /settings/jobs/{jobId}/cancelCancel a specific job
SettingsAPICreateJobsRunPost /settings/jobs/{jobId}/runInvoke a specific job
SettingsAPICreateJobsSchedulePost /settings/jobs/{jobId}/scheduleModify job schedule
SettingsAPICreateMainPost /settings/mainUpdate main settings
SettingsAPICreateMainRegeneratePost /settings/main/regenerateGet main settings with newly-generated API key
SettingsAPICreateNetworkPost /settings/networkUpdate network settings
SettingsAPICreateNotificationsDiscordPost /settings/notifications/discordUpdate Discord notification settings
SettingsAPICreateNotificationsEmailPost /settings/notifications/emailUpdate email notification settings
SettingsAPICreateNotificationsGotifyPost /settings/notifications/gotifyUpdate Gotify notification settings
SettingsAPICreateNotificationsNtfyPost /settings/notifications/ntfyUpdate ntfy.sh notification settings
SettingsAPICreateNotificationsPushbulletPost /settings/notifications/pushbulletUpdate Pushbullet notification settings
SettingsAPICreateNotificationsPushoverPost /settings/notifications/pushoverUpdate Pushover notification settings
SettingsAPICreateNotificationsSlackPost /settings/notifications/slackUpdate Slack notification settings
SettingsAPICreateNotificationsTelegramPost /settings/notifications/telegramUpdate Telegram notification settings
SettingsAPICreateNotificationsWebhookPost /settings/notifications/webhookUpdate webhook notification settings
SettingsAPICreateNotificationsWebpushPost /settings/notifications/webpushUpdate Web Push notification settings
SettingsAPICreatePlexPost /settings/plexUpdate Plex settings
SettingsAPICreatePlexSyncPost /settings/plex/syncStart full Plex library scan
SettingsAPICreateRadarrPost /settings/radarrCreate Radarr instance
SettingsAPICreateSonarrPost /settings/sonarrCreate Sonarr instance
SettingsAPICreateTautulliPost /settings/tautulliUpdate Tautulli settings
SettingsAPIDeleteDiscoverDelete /settings/discover/{sliderId}Delete slider by ID
SettingsAPIDeleteRadarrDelete /settings/radarr/{radarrId}Delete Radarr instance
SettingsAPIDeleteSonarrDelete /settings/sonarr/{sonarrId}Delete Sonarr instance
SettingsAPIGetAboutGet /settings/aboutGet server stats
SettingsAPIGetCacheGet /settings/cacheGet a list of active caches
SettingsAPIGetDiscoverResetGet /settings/discover/resetReset all discover sliders
SettingsAPIGetJellyfinGet /settings/jellyfinGet Jellyfin settings
SettingsAPIGetJellyfinSyncGet /settings/jellyfin/syncGet status of full Jellyfin library sync
SettingsAPIGetMainGet /settings/mainGet main settings
SettingsAPIGetMetadatasGet /settings/metadatasGet Metadata settings
SettingsAPIGetNetworkGet /settings/networkGet network settings
SettingsAPIGetNotificationsDiscordGet /settings/notifications/discordGet Discord notification settings
SettingsAPIGetNotificationsEmailGet /settings/notifications/emailGet email notification settings
SettingsAPIGetNotificationsGotifyGet /settings/notifications/gotifyGet Gotify notification settings
SettingsAPIGetNotificationsNtfyGet /settings/notifications/ntfyGet ntfy.sh notification settings
SettingsAPIGetNotificationsPushbulletGet /settings/notifications/pushbulletGet Pushbullet notification settings
SettingsAPIGetNotificationsPushoverGet /settings/notifications/pushoverGet Pushover notification settings
SettingsAPIGetNotificationsSlackGet /settings/notifications/slackGet Slack notification settings
SettingsAPIGetNotificationsTelegramGet /settings/notifications/telegramGet Telegram notification settings
SettingsAPIGetNotificationsWebhookGet /settings/notifications/webhookGet webhook notification settings
SettingsAPIGetNotificationsWebpushGet /settings/notifications/webpushGet Web Push notification settings
SettingsAPIGetPlexGet /settings/plexGet Plex settings
SettingsAPIGetPlexSyncGet /settings/plex/syncGet status of full Plex library scan
SettingsAPIGetPublicGet /settings/publicGet public settings
SettingsAPIGetTautulliGet /settings/tautulliGet Tautulli settings
SettingsAPIListDiscoverGet /settings/discoverGet all discover sliders
SettingsAPIListJellyfinLibraryGet /settings/jellyfin/libraryGet Jellyfin libraries
SettingsAPIListJellyfinUsersGet /settings/jellyfin/usersGet Jellyfin Users
SettingsAPIListJobsGet /settings/jobsGet scheduled jobs
SettingsAPIListLogsGet /settings/logsReturns logs
SettingsAPIListNotificationsPushoverSoundsGet /settings/notifications/pushover/soundsGet Pushover sounds
SettingsAPIListPlexDevicesServersGet /settings/plex/devices/serversGets the user's available Plex servers
SettingsAPIListPlexLibraryGet /settings/plex/libraryGet Plex libraries
SettingsAPIListPlexUsersGet /settings/plex/usersGet Plex users
SettingsAPIListRadarrGet /settings/radarrGet Radarr settings
SettingsAPIListRadarrProfilesGet /settings/radarr/{radarrId}/profilesGet available Radarr profiles
SettingsAPIListSonarrGet /settings/sonarrGet Sonarr settings
SettingsAPIPutMetadatasPut /settings/metadatasUpdate Metadata settings
SettingsAPITestMetadatasPost /settings/metadatas/testTest Provider configuration
SettingsAPITestNotificationsDiscordPost /settings/notifications/discord/testTest Discord settings
SettingsAPITestNotificationsEmailPost /settings/notifications/email/testTest email settings
SettingsAPITestNotificationsGotifyPost /settings/notifications/gotify/testTest Gotify settings
SettingsAPITestNotificationsNtfyPost /settings/notifications/ntfy/testTest ntfy.sh settings
SettingsAPITestNotificationsPushbulletPost /settings/notifications/pushbullet/testTest Pushbullet settings
SettingsAPITestNotificationsPushoverPost /settings/notifications/pushover/testTest Pushover settings
SettingsAPITestNotificationsSlackPost /settings/notifications/slack/testTest Slack settings
SettingsAPITestNotificationsTelegramPost /settings/notifications/telegram/testTest Telegram settings
SettingsAPITestNotificationsWebhookPost /settings/notifications/webhook/testTest webhook settings
SettingsAPITestNotificationsWebpushPost /settings/notifications/webpush/testTest Web Push settings
SettingsAPITestRadarrPost /settings/radarr/testTest Radarr configuration
SettingsAPITestSonarrPost /settings/sonarr/testTest Sonarr configuration
SettingsAPIUpdateDiscoverPut /settings/discover/{sliderId}Update a single slider
SettingsAPIUpdateRadarrPut /settings/radarr/{radarrId}Update Radarr instance
SettingsAPIUpdateSonarrPut /settings/sonarr/{sonarrId}Update Sonarr instance
TmdbAPIGetNetworkByNetworkIdGet /network/{networkId}Get TV network details
TmdbAPIGetStudioByStudioIdGet /studio/{studioId}Get movie studio details
TmdbAPIListBackdropsGet /backdropsGet backdrops of trending items
TmdbAPIListGenresMovieGet /genres/movieGet list of official TMDB movie genres
TmdbAPIListGenresTvGet /genres/tvGet list of official TMDB movie genres
TmdbAPIListLanguagesGet /languagesLanguages supported by TMDB
TmdbAPIListRegionsGet /regionsRegions supported by TMDB
TvAPIGetTvByTvIdGet /tv/{tvId}Get TV details
TvAPIGetTvRatingsGet /tv/{tvId}/ratingsGet TV ratings
TvAPIGetTvRecommendationsGet /tv/{tvId}/recommendationsGet recommended TV series
TvAPIGetTvSeasonBySeasonNumberGet /tv/{tvId}/season/{seasonNumber}Get season details and episode list
TvAPIGetTvSimilarGet /tv/{tvId}/similarGet similar TV series
UsersAPICreateAuthResetPasswordPost /auth/reset-passwordSend a reset password email
UsersAPICreateAuthResetPasswordByGuidPost /auth/reset-password/{guid}Reset the password for a user
UsersAPICreateUserPost /userCreate new user
UsersAPICreateUserImportFromJellyfinPost /user/import-from-jellyfinImport all users from Jellyfin
UsersAPICreateUserImportFromPlexPost /user/import-from-plexImport all users from Plex
UsersAPICreateUserRegisterPushSubscriptionPost /user/registerPushSubscriptionRegister a web push /user/registerPushSubscription
UsersAPICreateUserSettingsLinkedAccountsJellyfinPost /user/{userId}/settings/linked-accounts/jellyfinLink the provided Jellyfin account to the current user
UsersAPICreateUserSettingsLinkedAccountsJellyfinQuickconnectPost /user/{userId}/settings/linked-accounts/jellyfin/quickconnectLink Jellyfin/Emby account with Quick Connect
UsersAPICreateUserSettingsLinkedAccountsPlexPost /user/{userId}/settings/linked-accounts/plexLink the provided Plex account to the current user
UsersAPICreateUserSettingsMainPost /user/{userId}/settings/mainUpdate general settings for a user
UsersAPICreateUserSettingsNotificationsPost /user/{userId}/settings/notificationsUpdate notification settings for a user
UsersAPICreateUserSettingsPasswordPost /user/{userId}/settings/passwordUpdate password for a user
UsersAPICreateUserSettingsPermissionsPost /user/{userId}/settings/permissionsUpdate permission settings for a user
UsersAPIDeleteUserDelete /user/{userId}Delete user by ID
UsersAPIDeleteUserPushSubscriptionDelete /user/{userId}/pushSubscription/{endpoint}Delete user push subscription by key
UsersAPIDeleteUserSettingsLinkedAccountsJellyfinDelete /user/{userId}/settings/linked-accounts/jellyfinRemove the linked Jellyfin account for a user
UsersAPIDeleteUserSettingsLinkedAccountsPlexDelete /user/{userId}/settings/linked-accounts/plexRemove the linked Plex account for a user
UsersAPIGetUserGet /userGet all users
UsersAPIGetUserByUserIdGet /user/{userId}Get user by ID
UsersAPIGetUserJellyfinByJellyfinUserIdGet /user/jellyfin/{jellyfinUserId}Get user by Jellyfin user ID
UsersAPIGetUserPushSubscriptionByEndpointGet /user/{userId}/pushSubscription/{endpoint}Get web push notification settings for a user
UsersAPIGetUserPushSubscriptionsGet /user/{userId}/pushSubscriptionsGet all web push notification settings for a user
UsersAPIGetUserQuotaGet /user/{userId}/quotaGet quotas for a specific user
UsersAPIGetUserRequestsGet /user/{userId}/requestsGet requests for a specific user
UsersAPIGetUserSettingsMainGet /user/{userId}/settings/mainGet general settings for a user
UsersAPIGetUserSettingsNotificationsGet /user/{userId}/settings/notificationsGet notification settings for a user
UsersAPIGetUserSettingsPasswordGet /user/{userId}/settings/passwordGet password page informatiom
UsersAPIGetUserSettingsPermissionsGet /user/{userId}/settings/permissionsGet permission settings for a user
UsersAPIGetUserWatchDataGet /user/{userId}/watch_dataGet watch data
UsersAPIGetUserWatchlistGet /user/{userId}/watchlistGet the Plex watchlist for a specific user
UsersAPIPutUserPut /userUpdate batch of users
UsersAPIUpdateUserPut /user/{userId}Update a user by user ID
WatchlistAPICreateWatchlistPost /watchlistAdd media to watchlist
WatchlistAPIDeleteWatchlistDelete /watchlist/{tmdbId}Delete watchlist item

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

cookieAuth

  • Type: API key
  • API key parameter name: connect.sid
  • Location:

Note, each API key must be added to a map of map[string]APIKey where the key is: cookieAuth and passed in as the auth context for each request.

Example

auth:=context.WithValue(
context.Background(),
seerr.ContextAPIKeys,
map[string]seerr.APIKey{
"cookieAuth": {Key: "API_KEY_STRING"},
},
)
r, err:=client.Service.Operation(auth, args)

apiKey

  • Type: API key
  • API key parameter name: X-Api-Key
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: apiKey and passed in as the auth context for each request.

Example

auth:=context.WithValue(
context.Background(),
seerr.ContextAPIKeys,
map[string]seerr.APIKey{
"apiKey": {Key: "API_KEY_STRING"},
},
)
r, err:=client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

About

go SDK for Seerr

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors