# README
Go API client for overseerr
This is the documentation for the Overseerr 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 Overseerr.
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.
- Package version: 0.1.1
-
API version: 1.0.0
-
Build package: org.openapitools.codegen.languages.GoClientCodegen
Installation
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import overseerr "github.com/devopsarr/overseerr-go"
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 sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), overseerr.ContextServerIndex, 1)
Templated Server URL
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), overseerr.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 sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), overseerr.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), overseerr.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
Class | Method | HTTP request | Description |
---|---|---|---|
AuthAPI | CreateAuthLocal | Post /auth/local | Sign in using a local account |
AuthAPI | CreateAuthLogout | Post /auth/logout | Sign out and clear session cookie |
AuthAPI | CreateAuthPlex | Post /auth/plex | Sign in using a Plex token |
AuthAPI | GetAuthMe | Get /auth/me | Get logged-in user |
CollectionAPI | GetCollectionByCollectionId | Get /collection/{collectionId} | Get collection details |
IssueAPI | CreateIssue | Post /issue | Create new issue |
IssueAPI | CreateIssueByStatus | Post /issue/{issueId}/{status} | Update an issue's status |
IssueAPI | CreateIssueComment | Post /issue/{issueId}/comment | Create a comment |
IssueAPI | DeleteIssue | Delete /issue/{issueId} | Delete issue |
IssueAPI | DeleteIssueComment | Delete /issueComment/{commentId} | Delete issue comment |
IssueAPI | GetIssue | Get /issue | Get all issues |
IssueAPI | GetIssueByIssueId | Get /issue/{issueId} | Get issue |
IssueAPI | GetIssueCommentByCommentId | Get /issueComment/{commentId} | Get issue comment |
IssueAPI | GetIssueCount | Get /issue/count | Gets issue counts |
IssueAPI | UpdateIssueComment | Put /issueComment/{commentId} | Update issue comment |
MediaAPI | CreateMediaByStatus | Post /media/{mediaId}/{status} | Update media status |
MediaAPI | DeleteMedia | Delete /media/{mediaId} | Delete media item |
MediaAPI | GetMedia | Get /media | Get media |
MediaAPI | GetMediaWatchData | Get /media/{mediaId}/watch_data | Get watch data |
MoviesAPI | GetMovieByMovieId | Get /movie/{movieId} | Get movie details |
MoviesAPI | GetMovieRatings | Get /movie/{movieId}/ratings | Get movie ratings |
MoviesAPI | GetMovieRatingscombined | Get /movie/{movieId}/ratingscombined | Get RT and IMDB movie ratings combined |
MoviesAPI | GetMovieRecommendations | Get /movie/{movieId}/recommendations | Get recommended movies |
MoviesAPI | GetMovieSimilar | Get /movie/{movieId}/similar | Get similar movies |
OtherAPI | GetKeywordByKeywordId | Get /keyword/{keywordId} | Get keyword |
OtherAPI | ListWatchprovidersMovies | Get /watchproviders/movies | Get watch provider movies |
OtherAPI | ListWatchprovidersRegions | Get /watchproviders/regions | Get watch provider regions |
OtherAPI | ListWatchprovidersTv | Get /watchproviders/tv | Get watch provider series |
PersonAPI | GetPersonByPersonId | Get /person/{personId} | Get person details |
PersonAPI | GetPersonCombinedCredits | Get /person/{personId}/combined_credits | Get combined credits |
PublicAPI | GetStatus | Get /status | Get Overseerr status |
PublicAPI | GetStatusAppdata | Get /status/appdata | Get application data volume status |
RequestAPI | CreateRequest | Post /request | Create new request |
RequestAPI | CreateRequestByStatus | Post /request/{requestId}/{status} | Update a request's status |
RequestAPI | CreateRequestRetry | Post /request/{requestId}/retry | Retry failed request |
RequestAPI | DeleteRequest | Delete /request/{requestId} | Delete request |
RequestAPI | GetRequest | Get /request | Get all requests |
RequestAPI | GetRequestByRequestId | Get /request/{requestId} | Get MediaRequest |
RequestAPI | GetRequestCount | Get /request/count | Gets request counts |
RequestAPI | UpdateRequest | Put /request/{requestId} | Update MediaRequest |
SearchAPI | GetDiscoverKeywordMovies | Get /discover/keyword/{keywordId}/movies | Get movies from keyword |
SearchAPI | GetDiscoverMovies | Get /discover/movies | Discover movies |
SearchAPI | GetDiscoverMoviesGenreByGenreId | Get /discover/movies/genre/{genreId} | Discover movies by genre |
SearchAPI | GetDiscoverMoviesLanguageByLanguage | Get /discover/movies/language/{language} | Discover movies by original language |
SearchAPI | GetDiscoverMoviesStudioByStudioId | Get /discover/movies/studio/{studioId} | Discover movies by studio |
SearchAPI | GetDiscoverMoviesUpcoming | Get /discover/movies/upcoming | Upcoming movies |
SearchAPI | GetDiscoverTrending | Get /discover/trending | Trending movies and TV |
SearchAPI | GetDiscoverTv | Get /discover/tv | Discover TV shows |
SearchAPI | GetDiscoverTvGenreByGenreId | Get /discover/tv/genre/{genreId} | Discover TV shows by genre |
SearchAPI | GetDiscoverTvLanguageByLanguage | Get /discover/tv/language/{language} | Discover TV shows by original language |
SearchAPI | GetDiscoverTvNetworkByNetworkId | Get /discover/tv/network/{networkId} | Discover TV shows by network |
SearchAPI | GetDiscoverTvUpcoming | Get /discover/tv/upcoming | Discover Upcoming TV shows |
SearchAPI | GetDiscoverWatchlist | Get /discover/watchlist | Get the Plex watchlist. |
SearchAPI | GetSearch | Get /search | Search for movies, TV shows, or people |
SearchAPI | GetSearchCompany | Get /search/company | Search for companies |
SearchAPI | GetSearchKeyword | Get /search/keyword | Search for keywords |
SearchAPI | ListDiscoverGenresliderMovie | Get /discover/genreslider/movie | Get genre slider data for movies |
SearchAPI | ListDiscoverGenresliderTv | Get /discover/genreslider/tv | Get genre slider data for TV series |
ServiceAPI | GetServiceRadarrByRadarrId | Get /service/radarr/{radarrId} | Get Radarr server quality profiles and root folders |
ServiceAPI | GetServiceSonarrBySonarrId | Get /service/sonarr/{sonarrId} | Get Sonarr server quality profiles and root folders |
ServiceAPI | ListServiceRadarr | Get /service/radarr | Get non-sensitive Radarr server list |
ServiceAPI | ListServiceSonarr | Get /service/sonarr | Get non-sensitive Sonarr server list |
ServiceAPI | ListServiceSonarrLookupByTmdbId | Get /service/sonarr/lookup/{tmdbId} | Get series from Sonarr |
SettingsAPI | CreateCacheFlush | Post /settings/cache/{cacheId}/flush | Flush a specific cache |
SettingsAPI | CreateDiscover | Post /settings/discover | Batch update all sliders. |
SettingsAPI | CreateDiscoverAdd | Post /settings/discover/add | Add a new slider |
SettingsAPI | CreateInitialize | Post /settings/initialize | Initialize application |
SettingsAPI | CreateJobsCancel | Post /settings/jobs/{jobId}/cancel | Cancel a specific job |
SettingsAPI | CreateJobsRun | Post /settings/jobs/{jobId}/run | Invoke a specific job |
SettingsAPI | CreateJobsSchedule | Post /settings/jobs/{jobId}/schedule | Modify job schedule |
SettingsAPI | CreateMain | Post /settings/main | Update main settings |
SettingsAPI | CreateMainRegenerate | Post /settings/main/regenerate | Get main settings with newly-generated API key |
SettingsAPI | CreateNotificationsDiscord | Post /settings/notifications/discord | Update Discord notification settings |
SettingsAPI | CreateNotificationsEmail | Post /settings/notifications/email | Update email notification settings |
SettingsAPI | CreateNotificationsGotify | Post /settings/notifications/gotify | Update Gotify notification settings |
SettingsAPI | CreateNotificationsLunasea | Post /settings/notifications/lunasea | Update LunaSea notification settings |
SettingsAPI | CreateNotificationsPushbullet | Post /settings/notifications/pushbullet | Update Pushbullet notification settings |
SettingsAPI | CreateNotificationsPushover | Post /settings/notifications/pushover | Update Pushover notification settings |
SettingsAPI | CreateNotificationsSlack | Post /settings/notifications/slack | Update Slack notification settings |
SettingsAPI | CreateNotificationsTelegram | Post /settings/notifications/telegram | Update Telegram notification settings |
SettingsAPI | CreateNotificationsWebhook | Post /settings/notifications/webhook | Update webhook notification settings |
SettingsAPI | CreateNotificationsWebpush | Post /settings/notifications/webpush | Update Web Push notification settings |
SettingsAPI | CreatePlex | Post /settings/plex | Update Plex settings |
SettingsAPI | CreatePlexSync | Post /settings/plex/sync | Start full Plex library scan |
SettingsAPI | CreateRadarr | Post /settings/radarr | Create Radarr instance |
SettingsAPI | CreateSonarr | Post /settings/sonarr | Create Sonarr instance |
SettingsAPI | CreateTautulli | Post /settings/tautulli | Update Tautulli settings |
SettingsAPI | DeleteDiscover | Delete /settings/discover/{sliderId} | Delete slider by ID |
SettingsAPI | DeleteRadarr | Delete /settings/radarr/{radarrId} | Delete Radarr instance |
SettingsAPI | DeleteSonarr | Delete /settings/sonarr/{sonarrId} | Delete Sonarr instance |
SettingsAPI | GetAbout | Get /settings/about | Get server stats |
SettingsAPI | GetCache | Get /settings/cache | Get a list of active caches |
SettingsAPI | GetDiscoverReset | Get /settings/discover/reset | Reset all discover sliders |
SettingsAPI | GetMain | Get /settings/main | Get main settings |
SettingsAPI | GetNotificationsDiscord | Get /settings/notifications/discord | Get Discord notification settings |
SettingsAPI | GetNotificationsEmail | Get /settings/notifications/email | Get email notification settings |
SettingsAPI | GetNotificationsGotify | Get /settings/notifications/gotify | Get Gotify notification settings |
SettingsAPI | GetNotificationsLunasea | Get /settings/notifications/lunasea | Get LunaSea notification settings |
SettingsAPI | GetNotificationsPushbullet | Get /settings/notifications/pushbullet | Get Pushbullet notification settings |
SettingsAPI | GetNotificationsPushover | Get /settings/notifications/pushover | Get Pushover notification settings |
SettingsAPI | GetNotificationsSlack | Get /settings/notifications/slack | Get Slack notification settings |
SettingsAPI | GetNotificationsTelegram | Get /settings/notifications/telegram | Get Telegram notification settings |
SettingsAPI | GetNotificationsWebhook | Get /settings/notifications/webhook | Get webhook notification settings |
SettingsAPI | GetNotificationsWebpush | Get /settings/notifications/webpush | Get Web Push notification settings |
SettingsAPI | GetPlex | Get /settings/plex | Get Plex settings |
SettingsAPI | GetPlexSync | Get /settings/plex/sync | Get status of full Plex library scan |
SettingsAPI | GetPublic | Get /settings/public | Get public settings |
SettingsAPI | GetTautulli | Get /settings/tautulli | Get Tautulli settings |
SettingsAPI | ListDiscover | Get /settings/discover | Get all discover sliders |
SettingsAPI | ListJobs | Get /settings/jobs | Get scheduled jobs |
SettingsAPI | ListLogs | Get /settings/logs | Returns logs |
SettingsAPI | ListNotificationsPushoverSounds | Get /settings/notifications/pushover/sounds | Get Pushover sounds |
SettingsAPI | ListPlexDevicesServers | Get /settings/plex/devices/servers | Gets the user's available Plex servers |
SettingsAPI | ListPlexLibrary | Get /settings/plex/library | Get Plex libraries |
SettingsAPI | ListPlexUsers | Get /settings/plex/users | Get Plex users |
SettingsAPI | ListRadarr | Get /settings/radarr | Get Radarr settings |
SettingsAPI | ListRadarrProfiles | Get /settings/radarr/{radarrId}/profiles | Get available Radarr profiles |
SettingsAPI | ListSonarr | Get /settings/sonarr | Get Sonarr settings |
SettingsAPI | TestNotificationsDiscord | Post /settings/notifications/discord/test | Test Discord settings |
SettingsAPI | TestNotificationsEmail | Post /settings/notifications/email/test | Test email settings |
SettingsAPI | TestNotificationsGotify | Post /settings/notifications/gotify/test | Test Gotify settings |
SettingsAPI | TestNotificationsLunasea | Post /settings/notifications/lunasea/test | Test LunaSea settings |
SettingsAPI | TestNotificationsPushbullet | Post /settings/notifications/pushbullet/test | Test Pushbullet settings |
SettingsAPI | TestNotificationsPushover | Post /settings/notifications/pushover/test | Test Pushover settings |
SettingsAPI | TestNotificationsSlack | Post /settings/notifications/slack/test | Test Slack settings |
SettingsAPI | TestNotificationsTelegram | Post /settings/notifications/telegram/test | Test Telegram settings |
SettingsAPI | TestNotificationsWebhook | Post /settings/notifications/webhook/test | Test webhook settings |
SettingsAPI | TestNotificationsWebpush | Post /settings/notifications/webpush/test | Test Web Push settings |
SettingsAPI | TestRadarr | Post /settings/radarr/test | Test Radarr configuration |
SettingsAPI | TestSonarr | Post /settings/sonarr/test | Test Sonarr configuration |
SettingsAPI | UpdateDiscover | Put /settings/discover/{sliderId} | Update a single slider |
SettingsAPI | UpdateRadarr | Put /settings/radarr/{radarrId} | Update Radarr instance |
SettingsAPI | UpdateSonarr | Put /settings/sonarr/{sonarrId} | Update Sonarr instance |
TmdbAPI | GetNetworkByNetworkId | Get /network/{networkId} | Get TV network details |
TmdbAPI | GetStudioByStudioId | Get /studio/{studioId} | Get movie studio details |
TmdbAPI | ListBackdrops | Get /backdrops | Get backdrops of trending items |
TmdbAPI | ListGenresMovie | Get /genres/movie | Get list of official TMDB movie genres |
TmdbAPI | ListGenresTv | Get /genres/tv | Get list of official TMDB movie genres |
TmdbAPI | ListLanguages | Get /languages | Languages supported by TMDB |
TmdbAPI | ListRegions | Get /regions | Regions supported by TMDB |
TvAPI | GetTvByTvId | Get /tv/{tvId} | Get TV details |
TvAPI | GetTvRatings | Get /tv/{tvId}/ratings | Get TV ratings |
TvAPI | GetTvRecommendations | Get /tv/{tvId}/recommendations | Get recommended TV series |
TvAPI | GetTvSeasonBySeasonId | Get /tv/{tvId}/season/{seasonId} | Get season details and episode list |
TvAPI | GetTvSimilar | Get /tv/{tvId}/similar | Get similar TV series |
UsersAPI | CreateAuthResetPassword | Post /auth/reset-password | Send a reset password email |
UsersAPI | CreateAuthResetPasswordByGuid | Post /auth/reset-password/{guid} | Reset the password for a user |
UsersAPI | CreateUser | Post /user | Create new user |
UsersAPI | CreateUserImportFromPlex | Post /user/import-from-plex | Import all users from Plex |
UsersAPI | CreateUserRegisterPushSubscription | Post /user/registerPushSubscription | Register a web push /user/registerPushSubscription |
UsersAPI | CreateUserSettingsMain | Post /user/{userId}/settings/main | Update general settings for a user |
UsersAPI | CreateUserSettingsNotifications | Post /user/{userId}/settings/notifications | Update notification settings for a user |
UsersAPI | CreateUserSettingsPassword | Post /user/{userId}/settings/password | Update password for a user |
UsersAPI | CreateUserSettingsPermissions | Post /user/{userId}/settings/permissions | Update permission settings for a user |
UsersAPI | DeleteUser | Delete /user/{userId} | Delete user by ID |
UsersAPI | GetUser | Get /user | Get all users |
UsersAPI | GetUserByUserId | Get /user/{userId} | Get user by ID |
UsersAPI | GetUserQuota | Get /user/{userId}/quota | Get quotas for a specific user |
UsersAPI | GetUserRequests | Get /user/{userId}/requests | Get requests for a specific user |
UsersAPI | GetUserSettingsMain | Get /user/{userId}/settings/main | Get general settings for a user |
UsersAPI | GetUserSettingsNotifications | Get /user/{userId}/settings/notifications | Get notification settings for a user |
UsersAPI | GetUserSettingsPassword | Get /user/{userId}/settings/password | Get password page informatiom |
UsersAPI | GetUserSettingsPermissions | Get /user/{userId}/settings/permissions | Get permission settings for a user |
UsersAPI | GetUserWatchData | Get /user/{userId}/watch_data | Get watch data |
UsersAPI | GetUserWatchlist | Get /user/{userId}/watchlist | Get the Plex watchlist for a specific user |
UsersAPI | PutUser | Put /user | Update batch of users |
UsersAPI | UpdateUser | Put /user/{userId} | Update a user by user ID |
Documentation For Models
- Cast
- Collection
- Company
- CreateAuthLocalRequest
- CreateAuthLogout200Response
- CreateAuthPlexRequest
- CreateAuthResetPasswordByGuidRequest
- CreateAuthResetPasswordRequest
- CreateDiscoverAddRequest
- CreateIssueCommentRequest
- CreateIssueRequest
- CreateJobsScheduleRequest
- CreateMediaByStatusRequest
- CreatePlexSyncRequest
- CreateRequestRequest
- CreateRequestRequestSeasons
- CreateUserImportFromPlexRequest
- CreateUserRegisterPushSubscriptionRequest
- CreateUserRequest
- CreateUserSettingsMainRequest
- CreateUserSettingsPasswordRequest
- CreateUserSettingsPermissionsRequest
- CreditCast
- CreditCrew
- Crew
- DiscordSettings
- DiscordSettingsOptions
- DiscoverSlider
- Episode
- ExternalIds
- Genre
- GetAbout200Response
- GetCache200Response
- GetCache200ResponseApiCachesInner
- GetCache200ResponseApiCachesInnerStats
- GetCache200ResponseImageCache
- GetCache200ResponseImageCacheTmdb
- GetDiscoverMovies200Response
- GetDiscoverMoviesGenreByGenreId200Response
- GetDiscoverMoviesLanguageByLanguage200Response
- GetDiscoverMoviesStudioByStudioId200Response
- GetDiscoverTv200Response
- GetDiscoverTvGenreByGenreId200Response
- GetDiscoverTvLanguageByLanguage200Response
- GetDiscoverTvNetworkByNetworkId200Response
- GetIssue200Response
- GetIssueCount200Response
- GetMedia200Response
- GetMediaWatchData200Response
- GetMediaWatchData200ResponseData
- GetMovieRatings200Response
- GetMovieRatingscombined200Response
- GetMovieRatingscombined200ResponseImdb
- GetPersonCombinedCredits200Response
- GetPlexSync200Response
- GetRequestCount200Response
- GetSearch200Response
- GetSearch200ResponseResultsInner
- GetSearchCompany200Response
- GetSearchKeyword200Response
- GetServiceRadarrByRadarrId200Response
- GetServiceSonarrBySonarrId200Response
- GetStatus200Response
- GetStatusAppdata200Response
- GetTvRatings200Response
- GetUser200Response
- GetUserQuota200Response
- GetUserQuota200ResponseMovie
- GetUserRequests200Response
- GetUserSettingsMain200Response
- GetUserSettingsPassword200Response
- GetUserSettingsPermissions200Response
- GetUserWatchData200Response
- GetUserWatchlist200Response
- GetUserWatchlist200ResponseResultsInner
- GotifySettings
- GotifySettingsOptions
- Issue
- IssueComment
- Job
- Keyword
- ListDiscoverGenresliderMovie200ResponseInner
- ListGenresMovie200ResponseInner
- ListGenresTv200ResponseInner
- ListLanguages200ResponseInner
- ListLogs200ResponseInner
- ListNotificationsPushoverSounds200ResponseInner
- ListPlexUsers200ResponseInner
- ListRegions200ResponseInner
- LunaSeaSettings
- LunaSeaSettingsOptions
- MainSettings
- MediaInfo
- MediaRequest
- MediaRequestModifiedBy
- MovieDetails
- MovieDetailsCollection
- MovieDetailsCredits
- MovieDetailsProductionCountriesInner
- MovieDetailsReleases
- MovieDetailsReleasesResultsInner
- MovieDetailsReleasesResultsInnerReleaseDatesInner
- MovieResult
- Network
- NotificationAgentTypes
- NotificationEmailSettings
- NotificationEmailSettingsOptions
- PageInfo
- PersonDetails
- PersonResult
- PersonResultKnownForInner
- PlexConnection
- PlexDevice
- PlexLibrary
- PlexSettings
- ProductionCompany
- PublicSettings
- PushbulletSettings
- PushbulletSettingsOptions
- PushoverSettings
- PushoverSettingsOptions
- PutUserRequest
- RadarrSettings
- RelatedVideo
- Season
- ServarrTag
- ServiceProfile
- SlackSettings
- SlackSettingsOptions
- SonarrSeries
- SonarrSeriesAddOptionsInner
- SonarrSeriesImagesInner
- SonarrSeriesRatingsInner
- SonarrSeriesSeasonsInner
- SonarrSettings
- SpokenLanguage
- TautulliSettings
- TelegramSettings
- TelegramSettingsOptions
- TestRadarr200Response
- TestRadarrRequest
- TestSonarrRequest
- TvDetails
- TvDetailsContentRatings
- TvDetailsContentRatingsResultsInner
- TvDetailsCreatedByInner
- TvResult
- UpdateDiscoverRequest
- UpdateIssueCommentRequest
- UpdateRequestRequest
- User
- UserSettings
- UserSettingsNotifications
- WatchProviderDetails
- WatchProviderRegion
- WatchProvidersInner
- WebPushSettings
- WebhookSettings
- WebhookSettingsOptions
Documentation For Authorization
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: connect.sid and passed in as the auth context for each request.
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: X-Api-Key and passed in as the auth context for each request.
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