jonlaliberte/overseerr-api-php

There is no license information available for the latest version (v1.0.1) of this package.

PHP client for Overseerr API generated by Swagger

v1.0.1 2022-10-10 20:27 UTC

This package is not auto-updated.

Last update: 2024-04-24 02:03:24 UTC


README

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.

This PHP package is automatically generated by the Swagger Codegen project:

  • API version: 1.0.0
  • Build package: io.swagger.codegen.v3.generators.php.PhpClientCodegen

Requirements

PHP 5.5 and later

Installation & Usage

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

    require_once('/path/to/SwaggerClient-php/vendor/autoload.php');

Tests

To run the unit tests:

composer install
./vendor/bin/phpunit

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\AuthLocalBody(); // \Swagger\Client\Model\AuthLocalBody | 

try {
    $result = $apiInstance->authLocalPost($body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authLocalPost: ', $e->getMessage(), PHP_EOL;
}

// Configure API key authorization: apiKey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('X-Api-Key', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Api-Key', 'Bearer');
// Configure API key authorization: cookieAuth
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('connect.sid', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('connect.sid', 'Bearer');

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);

try {
    $result = $apiInstance->authLogoutPost();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authLogoutPost: ', $e->getMessage(), PHP_EOL;
}

// Configure API key authorization: apiKey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('X-Api-Key', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Api-Key', 'Bearer');
// Configure API key authorization: cookieAuth
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('connect.sid', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('connect.sid', 'Bearer');

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);

try {
    $result = $apiInstance->authMeGet();
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authMeGet: ', $e->getMessage(), PHP_EOL;
}

$apiInstance = new Swagger\Client\Api\AuthApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client()
);
$body = new \Swagger\Client\Model\AuthPlexBody(); // \Swagger\Client\Model\AuthPlexBody | 

try {
    $result = $apiInstance->authPlexPost($body);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AuthApi->authPlexPost: ', $e->getMessage(), PHP_EOL;
}
?>

Documentation for API Endpoints

All URIs are relative to {server}/api/v1

Class Method HTTP request Description
AuthApi authLocalPost POST /auth/local Sign in using a local account
AuthApi authLogoutPost POST /auth/logout Sign out and clear session cookie
AuthApi authMeGet GET /auth/me Get logged-in user
AuthApi authPlexPost POST /auth/plex Sign in using a Plex token
CollectionApi collectionCollectionIdGet GET /collection/{collectionId} Get collection details
IssueApi issueCommentCommentIdDelete DELETE /issueComment/{commentId} Delete issue comment
IssueApi issueCommentCommentIdGet GET /issueComment/{commentId} Get issue comment
IssueApi issueCommentCommentIdPut PUT /issueComment/{commentId} Update issue comment
IssueApi issueGet GET /issue Get all issues
IssueApi issueIssueIdCommentPost POST /issue/{issueId}/comment Create a comment
IssueApi issueIssueIdDelete DELETE /issue/{issueId} Delete issue
IssueApi issueIssueIdGet GET /issue/{issueId} Get issue
IssueApi issueIssueIdStatusPost POST /issue/{issueId}/{status} Update an issue's status
IssueApi issuePost POST /issue Create new issue
MediaApi mediaGet GET /media Get media
MediaApi mediaMediaIdDelete DELETE /media/{mediaId} Delete media item
MediaApi mediaMediaIdStatusPost POST /media/{mediaId}/{status} Update media status
MoviesApi movieMovieIdGet GET /movie/{movieId} Get movie details
MoviesApi movieMovieIdRatingsGet GET /movie/{movieId}/ratings Get movie ratings
MoviesApi movieMovieIdRecommendationsGet GET /movie/{movieId}/recommendations Get recommended movies
MoviesApi movieMovieIdSimilarGet GET /movie/{movieId}/similar Get similar movies
PersonApi personPersonIdCombinedCreditsGet GET /person/{personId}/combined_credits Get combined credits
PersonApi personPersonIdGet GET /person/{personId} Get person details
PublicApi statusAppdataGet GET /status/appdata Get application data volume status
PublicApi statusGet GET /status Get Overseerr version
RequestApi requestCountGet GET /request/count Gets request counts
RequestApi requestGet GET /request Get all requests
RequestApi requestPost POST /request Create new request
RequestApi requestRequestIdDelete DELETE /request/{requestId} Delete request
RequestApi requestRequestIdGet GET /request/{requestId} Get MediaRequest
RequestApi requestRequestIdPut PUT /request/{requestId} Update MediaRequest
RequestApi requestRequestIdRetryPost POST /request/{requestId}/retry Retry failed request
RequestApi requestRequestIdStatusPost POST /request/{requestId}/{status} Update a request's status
SearchApi discoverGenresliderMovieGet GET /discover/genreslider/movie Get genre slider data for movies
SearchApi discoverGenresliderTvGet GET /discover/genreslider/tv Get genre slider data for TV series
SearchApi discoverKeywordKeywordIdMoviesGet GET /discover/keyword/{keywordId}/movies Get movies from keyword
SearchApi discoverMoviesGenreGenreIdGet GET /discover/movies/genre/{genreId} Discover movies by genre
SearchApi discoverMoviesGet GET /discover/movies Discover movies
SearchApi discoverMoviesLanguageLanguageGet GET /discover/movies/language/{language} Discover movies by original language
SearchApi discoverMoviesStudioStudioIdGet GET /discover/movies/studio/{studioId} Discover movies by studio
SearchApi discoverMoviesUpcomingGet GET /discover/movies/upcoming Upcoming movies
SearchApi discoverTrendingGet GET /discover/trending Trending movies and TV
SearchApi discoverTvGenreGenreIdGet GET /discover/tv/genre/{genreId} Discover TV shows by genre
SearchApi discoverTvGet GET /discover/tv Discover TV shows
SearchApi discoverTvLanguageLanguageGet GET /discover/tv/language/{language} Discover TV shows by original language
SearchApi discoverTvNetworkNetworkIdGet GET /discover/tv/network/{networkId} Discover TV shows by network
SearchApi discoverTvUpcomingGet GET /discover/tv/upcoming Discover Upcoming TV shows
SearchApi searchGet GET /search Search for movies, TV shows, or people
ServiceApi serviceRadarrGet GET /service/radarr Get non-sensitive Radarr server list
ServiceApi serviceRadarrRadarrIdGet GET /service/radarr/{radarrId} Get Radarr server quality profiles and root folders
ServiceApi serviceSonarrGet GET /service/sonarr Get non-sensitive Sonarr server list
ServiceApi serviceSonarrLookupTmdbIdGet GET /service/sonarr/lookup/{tmdbId} Get series from Sonarr
ServiceApi serviceSonarrSonarrIdGet GET /service/sonarr/{sonarrId} Get Sonarr server quality profiles and root folders
SettingsApi settingsAboutGet GET /settings/about Get server stats
SettingsApi settingsCacheCacheIdFlushPost POST /settings/cache/{cacheId}/flush Flush a specific cache
SettingsApi settingsCacheGet GET /settings/cache Get a list of active caches
SettingsApi settingsInitializePost POST /settings/initialize Initialize application
SettingsApi settingsJobsGet GET /settings/jobs Get scheduled jobs
SettingsApi settingsJobsJobIdCancelPost POST /settings/jobs/{jobId}/cancel Cancel a specific job
SettingsApi settingsJobsJobIdRunPost POST /settings/jobs/{jobId}/run Invoke a specific job
SettingsApi settingsJobsJobIdSchedulePost POST /settings/jobs/{jobId}/schedule Modify job schedule
SettingsApi settingsLogsGet GET /settings/logs Returns logs
SettingsApi settingsMainGet GET /settings/main Get main settings
SettingsApi settingsMainPost POST /settings/main Update main settings
SettingsApi settingsMainRegeneratePost POST /settings/main/regenerate Get main settings with newly-generated API key
SettingsApi settingsNotificationsDiscordGet GET /settings/notifications/discord Get Discord notification settings
SettingsApi settingsNotificationsDiscordPost POST /settings/notifications/discord Update Discord notification settings
SettingsApi settingsNotificationsDiscordTestPost POST /settings/notifications/discord/test Test Discord settings
SettingsApi settingsNotificationsEmailGet GET /settings/notifications/email Get email notification settings
SettingsApi settingsNotificationsEmailPost POST /settings/notifications/email Update email notification settings
SettingsApi settingsNotificationsEmailTestPost POST /settings/notifications/email/test Test email settings
SettingsApi settingsNotificationsLunaseaGet GET /settings/notifications/lunasea Get LunaSea notification settings
SettingsApi settingsNotificationsLunaseaPost POST /settings/notifications/lunasea Update LunaSea notification settings
SettingsApi settingsNotificationsLunaseaTestPost POST /settings/notifications/lunasea/test Test LunaSea settings
SettingsApi settingsNotificationsPushbulletGet GET /settings/notifications/pushbullet Get Pushbullet notification settings
SettingsApi settingsNotificationsPushbulletPost POST /settings/notifications/pushbullet Update Pushbullet notification settings
SettingsApi settingsNotificationsPushbulletTestPost POST /settings/notifications/pushbullet/test Test Pushbullet settings
SettingsApi settingsNotificationsPushoverGet GET /settings/notifications/pushover Get Pushover notification settings
SettingsApi settingsNotificationsPushoverPost POST /settings/notifications/pushover Update Pushover notification settings
SettingsApi settingsNotificationsPushoverTestPost POST /settings/notifications/pushover/test Test Pushover settings
SettingsApi settingsNotificationsSlackGet GET /settings/notifications/slack Get Slack notification settings
SettingsApi settingsNotificationsSlackPost POST /settings/notifications/slack Update Slack notification settings
SettingsApi settingsNotificationsSlackTestPost POST /settings/notifications/slack/test Test Slack settings
SettingsApi settingsNotificationsTelegramGet GET /settings/notifications/telegram Get Telegram notification settings
SettingsApi settingsNotificationsTelegramPost POST /settings/notifications/telegram Update Telegram notification settings
SettingsApi settingsNotificationsTelegramTestPost POST /settings/notifications/telegram/test Test Telegram settings
SettingsApi settingsNotificationsWebhookGet GET /settings/notifications/webhook Get webhook notification settings
SettingsApi settingsNotificationsWebhookPost POST /settings/notifications/webhook Update webhook notification settings
SettingsApi settingsNotificationsWebhookTestPost POST /settings/notifications/webhook/test Test webhook settings
SettingsApi settingsNotificationsWebpushGet GET /settings/notifications/webpush Get Web Push notification settings
SettingsApi settingsNotificationsWebpushPost POST /settings/notifications/webpush Update Web Push notification settings
SettingsApi settingsNotificationsWebpushTestPost POST /settings/notifications/webpush/test Test Web Push settings
SettingsApi settingsPlexDevicesServersGet GET /settings/plex/devices/servers Gets the user's available Plex servers
SettingsApi settingsPlexGet GET /settings/plex Get Plex settings
SettingsApi settingsPlexLibraryGet GET /settings/plex/library Get Plex libraries
SettingsApi settingsPlexPost POST /settings/plex Update Plex settings
SettingsApi settingsPlexSyncGet GET /settings/plex/sync Get status of full Plex library scan
SettingsApi settingsPlexSyncPost POST /settings/plex/sync Start full Plex library scan
SettingsApi settingsPublicGet GET /settings/public Get public settings
SettingsApi settingsRadarrGet GET /settings/radarr Get Radarr settings
SettingsApi settingsRadarrPost POST /settings/radarr Create Radarr instance
SettingsApi settingsRadarrRadarrIdDelete DELETE /settings/radarr/{radarrId} Delete Radarr instance
SettingsApi settingsRadarrRadarrIdProfilesGet GET /settings/radarr/{radarrId}/profiles Get available Radarr profiles
SettingsApi settingsRadarrRadarrIdPut PUT /settings/radarr/{radarrId} Update Radarr instance
SettingsApi settingsRadarrTestPost POST /settings/radarr/test Test Radarr configuration
SettingsApi settingsSonarrGet GET /settings/sonarr Get Sonarr settings
SettingsApi settingsSonarrPost POST /settings/sonarr Create Sonarr instance
SettingsApi settingsSonarrSonarrIdDelete DELETE /settings/sonarr/{sonarrId} Delete Sonarr instance
SettingsApi settingsSonarrSonarrIdPut PUT /settings/sonarr/{sonarrId} Update Sonarr instance
SettingsApi settingsSonarrTestPost POST /settings/sonarr/test Test Sonarr configuration
TmdbApi backdropsGet GET /backdrops Get backdrops of trending items
TmdbApi genresMovieGet GET /genres/movie Get list of official TMDb movie genres
TmdbApi genresTvGet GET /genres/tv Get list of official TMDb movie genres
TmdbApi languagesGet GET /languages Languages supported by TMDb
TmdbApi networkNetworkIdGet GET /network/{networkId} Get TV network details
TmdbApi regionsGet GET /regions Regions supported by TMDb
TmdbApi studioStudioIdGet GET /studio/{studioId} Get movie studio details
TvApi tvTvIdGet GET /tv/{tvId} Get TV details
TvApi tvTvIdRatingsGet GET /tv/{tvId}/ratings Get TV ratings
TvApi tvTvIdRecommendationsGet GET /tv/{tvId}/recommendations Get recommended TV series
TvApi tvTvIdSeasonSeasonIdGet GET /tv/{tvId}/season/{seasonId} Get season details and episode list
TvApi tvTvIdSimilarGet GET /tv/{tvId}/similar Get similar TV series
UsersApi authMeGet GET /auth/me Get logged-in user
UsersApi authResetPasswordGuidPost POST /auth/reset-password/{guid} Reset the password for a user
UsersApi authResetPasswordPost POST /auth/reset-password Send a reset password email
UsersApi userGet GET /user Get all users
UsersApi userImportFromPlexPost POST /user/import-from-plex Import all users from Plex
UsersApi userPost POST /user Create new user
UsersApi userPut PUT /user Update batch of users
UsersApi userRegisterPushSubscriptionPost POST /user/registerPushSubscription Register a web push /user/registerPushSubscription
UsersApi userUserIdDelete DELETE /user/{userId} Delete user by ID
UsersApi userUserIdGet GET /user/{userId} Get user by ID
UsersApi userUserIdPut PUT /user/{userId} Update a user by user ID
UsersApi userUserIdQuotaGet GET /user/{userId}/quota Get quotas for a specific user
UsersApi userUserIdRequestsGet GET /user/{userId}/requests Get user by ID
UsersApi userUserIdSettingsMainGet GET /user/{userId}/settings/main Get general settings for a user
UsersApi userUserIdSettingsMainPost POST /user/{userId}/settings/main Update general settings for a user
UsersApi userUserIdSettingsNotificationsGet GET /user/{userId}/settings/notifications Get notification settings for a user
UsersApi userUserIdSettingsNotificationsPost POST /user/{userId}/settings/notifications Update notification settings for a user
UsersApi userUserIdSettingsPasswordGet GET /user/{userId}/settings/password Get password page informatiom
UsersApi userUserIdSettingsPasswordPost POST /user/{userId}/settings/password Update password for a user
UsersApi userUserIdSettingsPermissionsGet GET /user/{userId}/settings/permissions Get permission settings for a user
UsersApi userUserIdSettingsPermissionsPost POST /user/{userId}/settings/permissions Update permission settings for a user

Documentation For Models

Documentation For Authorization

apiKey

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

cookieAuth

  • Type: API key
  • API key parameter name: connect.sid
  • Location: URL query string

Author