Categorygithub.com/devopsarr/overseerr-go
module
0.1.1
Repository: https://github.com/devopsarr/overseerr-go.git
Documentation: pkg.go.dev

# 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

ClassMethodHTTP requestDescription
AuthAPICreateAuthLocalPost /auth/localSign in using a local account
AuthAPICreateAuthLogoutPost /auth/logoutSign out and clear session cookie
AuthAPICreateAuthPlexPost /auth/plexSign in using a Plex token
AuthAPIGetAuthMeGet /auth/meGet logged-in user
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
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
OtherAPIGetKeywordByKeywordIdGet /keyword/{keywordId}Get keyword
OtherAPIListWatchprovidersMoviesGet /watchproviders/moviesGet watch provider movies
OtherAPIListWatchprovidersRegionsGet /watchproviders/regionsGet watch provider regions
OtherAPIListWatchprovidersTvGet /watchproviders/tvGet watch provider series
PersonAPIGetPersonByPersonIdGet /person/{personId}Get person details
PersonAPIGetPersonCombinedCreditsGet /person/{personId}/combined_creditsGet combined credits
PublicAPIGetStatusGet /statusGet Overseerr 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
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
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
SettingsAPICreateNotificationsDiscordPost /settings/notifications/discordUpdate Discord notification settings
SettingsAPICreateNotificationsEmailPost /settings/notifications/emailUpdate email notification settings
SettingsAPICreateNotificationsGotifyPost /settings/notifications/gotifyUpdate Gotify notification settings
SettingsAPICreateNotificationsLunaseaPost /settings/notifications/lunaseaUpdate LunaSea 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
SettingsAPIGetMainGet /settings/mainGet main settings
SettingsAPIGetNotificationsDiscordGet /settings/notifications/discordGet Discord notification settings
SettingsAPIGetNotificationsEmailGet /settings/notifications/emailGet email notification settings
SettingsAPIGetNotificationsGotifyGet /settings/notifications/gotifyGet Gotify notification settings
SettingsAPIGetNotificationsLunaseaGet /settings/notifications/lunaseaGet LunaSea 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
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
SettingsAPITestNotificationsDiscordPost /settings/notifications/discord/testTest Discord settings
SettingsAPITestNotificationsEmailPost /settings/notifications/email/testTest email settings
SettingsAPITestNotificationsGotifyPost /settings/notifications/gotify/testTest Gotify settings
SettingsAPITestNotificationsLunaseaPost /settings/notifications/lunasea/testTest LunaSea 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
TvAPIGetTvSeasonBySeasonIdGet /tv/{tvId}/season/{seasonId}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
UsersAPICreateUserImportFromPlexPost /user/import-from-plexImport all users from Plex
UsersAPICreateUserRegisterPushSubscriptionPost /user/registerPushSubscriptionRegister a web push /user/registerPushSubscription
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
UsersAPIGetUserGet /userGet all users
UsersAPIGetUserByUserIdGet /user/{userId}Get user by ID
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

Documentation For Models

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

Author

# Packages

No description provided by the author