RadarrAPI

class pyarr.radarr.RadarrAPI(host_url: str, api_key: str)[source]

API wrapper for Radarr endpoints.

Parameters:

RequestAPI (str) – provides connection to API endpoint

add_root_folder(directory: str) dict[str, JsonDataType][source]

Adds a new root folder

Parameters:

directory (str) – The directory path

Returns:

Dictionary containing path details

Return type:

JsonObject

get_movie(id_: int | None = None, tmdb: bool = False) list[dict[str, JsonDataType]] | dict[str, JsonDataType][source]

Returns all movies in the database, movie based on the Radarr ID or TMDB id.

Note

IMDB is not supported at this time

Parameters:
  • id (Optional[int], optional) – Radarr ID or TMDB ID of Movies. Defaults to None.

  • tmdb (bool) – Use TMDB Id. Defaults to False

Returns:

List or Dictionary with items

Return type:

Union[JsonArray, JsonObject]

add_movie(movie: dict[str, JsonDataType], root_dir: str, quality_profile_id: int, monitored: bool = True, search_for_movie: bool = True, monitor: Literal['movieOnly', 'movieAndCollections', 'none'] = 'movieOnly', minimum_availability: Literal['announced', 'inCinemas', 'released'] = 'announced', tags: list[int] = []) dict[str, JsonDataType][source]

Adds a movie to the database

Parameters:
  • movie (JsonObject) – Movie record from lookup_movie()

  • root_dir (str) – Location of the root DIR

  • quality_profile_id (int) – ID of the quality profile the movie will use

  • monitored (bool, optional) – Should the movie be monitored. Defaults to True.

  • search_for_movie (bool, optional) – Should we search for the movie. Defaults to True.

  • monitor (RadarrMonitorType, optional) – Monitor movie or collection. Defaults to β€œmovieOnly”.

  • minimum_availability (RadarrAvailabilityType, optional) – Availability of movie. Defaults to β€œannounced”

  • tags (list[int], optional) – List of tag id’s. Defaults to [].

Returns:

Dictonary with added record

Return type:

JsonObject

upd_movie(data: dict[str, JsonDataType], move_files: bool | None = None) dict[str, JsonDataType][source]

Updates a movie in the database.

Parameters:
  • data (JsonObject) – Dictionary containing an object obtained from get_movie()

  • move_files (Optional[bool], optional) – Have radarr move files when updating. Defaults to None.

Returns:

Dictionary with updated record

Return type:

JsonObject

get_movie_by_movie_id(id_: int) dict[str, JsonDataType][source]

Get a movie by the Radarr database ID

Parameters:

id (int) – Database Id of movie to return

Note

This method is deprecated and will be removed in a future release. Please use get_movie()

Returns:

List of dictionaries with items

Return type:

JsonArray

del_movie(id_: int | list, delete_files: bool | None = None, add_exclusion: bool | None = None) Response | dict[str, JsonDataType] | dict[Any, Any][source]

Delete a single movie or multiple movies by database id.

Parameters:
  • id (Union[int, list]) – Int with single movie Id or list with multiple IDs to delete.

  • delete_files (bool, optional) – Delete movie files when deleting movies. Defaults to None.

  • add_exclusion (bool, optional) – Add deleted movies to List Exclusions. Defaults to None.

Returns:

HTTP Response

Return type:

Response

lookup_movie(term: str) list[dict[str, JsonDataType]][source]

Search for a movie to add to the database (Uses TMDB for search results)

Parameters:

term (str) –

Search term to use for lookup, can also do IMDB & TMDB IDs:

radarr.lookup_movie(term="imdb:123456")
radarr.lookup_movie(term="tmdb:123456")

Returns:

List of dictionaries with items

Return type:

JsonArray

lookup_movie_by_tmdb_id(id_: int) list[dict[str, JsonDataType]][source]

Search for movie by TMDB ID

Parameters:

id (str) – TMDB ID

Returns:

List of dictionaries with items

Return type:

JsonArray

lookup_movie_by_imdb_id(id_: str) list[dict[str, JsonDataType]][source]

Search for movie by IMDB ID

Parameters:

id (str) – IMDB ID

Returns:

List of dictionaries with items

Return type:

JsonArray

upd_movies(data: dict[str, JsonDataType]) list[dict[str, JsonDataType]][source]

The Updates operation allows to edit properties of multiple movies at once

Parameters:

data (JsonObject) –

Updated movie information:

{"movieIds":[28],"tags":[3],"applyTags":"add"}
{"movieIds":[28],"monitored":true}
{"movieIds":[28],"qualityProfileId":1}
{"movieIds":[28],"minimumAvailability":"inCinemas"}
{"movieIds":[28],"rootFolderPath":"/defaults/"}

Returns:

Dictionary containing updated record

Return type:

JsonArray

del_movies(data: dict[str, JsonDataType]) Response | dict[str, JsonDataType] | dict[Any, Any][source]

The delete operation allows mass deletion of movies (and optionally files)

Parameters:

data (JsonObject) –

dictionary of movies to be deleted:

{
    "movieIds": [
        0
    ],
    "deleteFIles": true,
    "addImportExclusion": true
}

Returns:

HTTP Response

Return type:

Response

import_movies(data: list[dict[str, JsonDataType]]) list[dict[str, JsonDataType]][source]

The movie import endpoint is used by the bulk import view in Radarr UI. It allows movies to be bulk added to the Radarr database.

Parameters:

data (JsonObject) – dictionary of all movies to be imported

Returns:

List of dictionaries with items

Return type:

JsonArray

get_movie_files_by_movie_id(id_: int) list[dict[str, JsonDataType]][source]

Get a movie file object by Movie database ID.

Parameters:

id (int) – Movie database ID

Returns:

List of dictionaries with items

Return type:

JsonArray

get_movie_file(id_: int | list) list[dict[str, JsonDataType]][source]

Get movie file by database ID

Parameters:

id (int, list) – Movie file ID, or multiple in a list

Returns:

List of dictionaries with items

Return type:

JsonArray

del_movie_file(id_: int | list) Response | dict[str, JsonDataType] | dict[Any, Any][source]

Allows for deletion of a moviefile by its database ID.

Parameters:

id (Union[int, list]) – Movie file ID

Returns:

HTTP Response

Return type:

Response

get_movie_history(id_: int, event_type: Literal['unknown', 'grabbed', 'downloadFolderImported', 'downloadFailed', 'movieFileDeleted', 'movieFolderImported', 'movieFileRenamed', 'downloadIgnored'] | None = None) list[dict[str, JsonDataType]][source]

Get history for a given movie in database by its database ID

Parameters:
  • id (int) – Database ID of movie

  • event_type (Optional[RadarrEventType], optional) – History event type to retrieve. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_blocklist_by_movie_id(id_: int) list[dict[str, JsonDataType]][source]

Retrieves blocklisted releases that are tied to a given movie in the database.

Parameters:

id (int) – Movie id from Database

Returns:

List of dictionaries with items

Return type:

JsonArray

get_queue(page: int | None = None, page_size: int | None = None, sort_dir: Literal['ascending', 'default', 'descending'] | None = None, sort_key: Literal['date', 'downloadClient', 'id', 'indexer', 'languages', 'message', 'modieId', 'movies.sortTitle', 'path', 'progress', 'protocol', 'quality', 'ratings', 'title', 'size', 'sourcetitle', 'status', 'timeleft'] | None = None, include_unknown_movie_items: bool | None = None) dict[str, JsonDataType][source]

Return a list of items in the queue

Parameters:
  • page (Optional[int], optional) – Page to be returned. Defaults to None.

  • page_size (Optional[int], optional) – Number of results per page. Defaults to None.

  • sort_direction (Optional[PyarrSortDirection], optional) – Direction to sort. Defaults to None.

  • sort_key (Optional[RadarrSortKey], optional) – Field to sort. Defaults to None.

  • include_unknown_movie_items (Optional[bool], optional) – Include unknown movie items. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonObject

get_queue_details(id_: int | None = None, include_movie: bool | None = None) list[dict[str, JsonDataType]][source]

Get details of all items in queue

Parameters:
  • id (Optional[int], optional) – select specific item by id. Defaults to None

  • include_movie (Optional[bool], optional) – Include movie object if linked. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_queue_status() dict[str, JsonDataType][source]

Queue item status

Returns:

List of dictionaries with items

Return type:

JsonArray

del_queue_bulk(id_: list[int], remove_from_client: bool | None = None, blocklist: bool | None = None) Response | dict[str, JsonDataType] | dict[Any, Any][source]

Remove multiple items from queue by their IDs

Parameters:
  • id (list[int]) – Dictionary of IDs to be removed:

  • remove_from_client (bool, optional) – Remove the items from the client. Defaults to True.

  • blocklist (bool, optional) – Add the items to the blocklist. Defaults to True.

Returns:

HTTP Response

Return type:

Response

force_grab_queue_item(id_: int) dict[str, JsonDataType][source]

Perform a Radarr β€œforce grab” on a pending queue item by its ID.

Parameters:

id (int) – Queue item ID from database.

Returns:

Dictionary with record

Return type:

JsonObject

post_command(name: Literal['DownloadedMoviesScan', 'MissingMoviesSearch', 'MoviesSearch', 'RefreshMovie', 'RenameMovie', 'RenameFiles', 'Backup'], **kwargs: dict[str, Union[int, list[int]]] | None) dict[str, JsonDataType][source]

Performs any of the predetermined Radarr command routines.

Parameters:
  • name (RadarrCommands) – Command that should be executed

  • **kwargs – Additional parameters for specific commands. See note.

Note

For available commands and required **kwargs see the RadarrCommands model

Returns:

Dictionary containing job

Return type:

JsonObject

get_custom_filter() list[dict[str, JsonDataType]][source]

Query Radarr for custom filters

Returns:

List of dictionaries with items

Return type:

JsonArray

add_quality_profile(name: str, schema: dict[str, Any], cutoff: int, upgrade_allowed: bool | None = None, language: dict[str, Any] | None = None, min_format_score: int | None = None, cutoff_format_score: int | None = None, format_items: list | None = None) dict[str, JsonDataType][source]

Add new quality profile

Parameters:
  • name (str) – Name of the profile

  • schema (dict[str, Any]) – Add the profile schema (from get_quality_profile_schema())

  • cutoff (int) – ID of quality definition to cutoff at. Must be an allowed definition ID.

  • upgrade_allowed (bool, optional) – Are upgrades in quality allowed?. Default provided by schema.

  • language (dict, optional) – Language profile (from get_language()). Default provided by schema.

  • min_format_score (int, optional) – Minimum format score. Default provided by schema.

  • cutoff_format_score (int, optional) – Cutoff format score. Default provided by schema.

  • format_items (list, optional) – Format items. Default provided by schema.

Note

Update the result from get_quality_profile_schema() set the items you need from β€œallowed”: false to β€œallowed”: true. See tests for more details.

Returns:

An object containing the profile

Return type:

JsonObject

get_manual_import(folder: str, download_id: str | None = None, movie_id: int | None = None, filter_existing_files: bool | None = None, replace_existing_files: bool | None = None) list[dict[str, JsonDataType]][source]

Gets a manual import list

Parameters:
  • downloadId (str) – Download IDs

  • movieId (int, optional) – Movie Database ID. Defaults to None.

  • folder (Optional[str], optional) – folder name. Defaults to None.

  • filterExistingFiles (bool, optional) – filter files. Defaults to True.

  • replaceExistingFiles (bool, optional) – replace files. Defaults to True.

Returns:

List of dictionaries with items

Return type:

JsonArray

upd_manual_import(data: dict[str, JsonDataType]) dict[str, JsonDataType][source]

Update a manual import

Note

To be used in conjunction with get_manual_import()

Parameters:

data (JsonObject) – Data containing changes

Returns:

Dictionary of updated record

Return type:

JsonObject

get_release(id_: int | None = None) list[dict[str, JsonDataType]][source]

Query indexers for latest releases.

Parameters:

id (int) – Database id for movie to check

Returns:

List of dictionaries with items

Return type:

JsonArray

post_release(guid: str, indexer_id: int) dict[str, JsonDataType][source]
Adds a previously searched release to the download client, if the release is

still in Radarr’s search cache (30 minute cache). If the release is not found in the cache Radarr will return a 404.

Parameters:
  • guid (str) – Recently searched result guid

  • indexer_id (int) – Database id of indexer to use

Returns:

Dictionary with download release details

Return type:

JsonObject

post_release_push(title: str, download_url: str, protocol: str, publish_date: datetime) Any[source]

If the title is wanted, Radarr will grab it.

Parameters:
  • title (str) – Release name

  • download_url (str) – .torrent file URL

  • protocol (str) – β€œUsenet” or β€œTorrent

  • publish_date (datetime) – ISO8601 date

Returns:

Array

Return type:

JSON

add_download_client(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Add a download client based on the schema information supplied

Note

Recommended to be used in conjunction with get_download_client_schema()

Parameters:

data (JsonObject) – dictionary with download client schema and settings

Returns:

dictionary of added item

Return type:

JsonObject

add_import_list(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Add an import list based on the schema information supplied

Note

Recommended to be used in conjunction with get_import_list_schema()

Parameters:

data (JsonObject) – dictionary with import list schema and settings

Returns:

dictionary of added item

Return type:

JsonObject

add_notification(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Add an import list based on the schema information supplied

Note

Recommended to be used in conjunction with get_notification_schema()

Parameters:

data (JsonObject) – dictionary with import list schema and settings

Returns:

dictionary of added item

Return type:

JsonObject

basic_auth(username: str, password: str) HTTPBasicAuth | None

If you have basic authentication setup you will need to pass your username and passwords to the HTTPBASICAUTH() method.

Parameters:
  • username (str) – Username for basic auth.

  • password (str) – Password for basic auth.

Returns:

HTTP Auth object

Return type:

Object

create_tag(label: str) dict[str, JsonDataType]

Adds a new tag

Parameters:

label (str) – Tag name / label

Returns:

Dictionary of new record

Return type:

JsonObject

del_blocklist(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Removes a specific release (the id provided) from the blocklist

Parameters:

id (int) – Blocklist ID from database

Returns:

HTTP Response

Return type:

Response

del_blocklist_bulk(ids: list[int]) Response | dict[str, JsonDataType] | dict[Any, Any]

Delete blocked releases in bulk

Parameters:

ids (list[int]) – Blocklists ids that should be deleted

Returns:

HTTP Response

Return type:

Response

del_download_client(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Delete a download client by database id

Parameters:

id (int) – download client database id

Returns:

HTTP Response

Return type:

Response

del_import_list(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Delete an import list

Parameters:

id (int) – Import list database id

Returns:

HTTP Response

Return type:

Response

del_indexer(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Removes a specific indexer from the blocklist

Parameters:

id (int) – indexer id from database

Returns:

HTTP Response

Return type:

Response

del_notification(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Delete a notification by its database id

Parameters:

id (int) – Database id of notification.

Returns:

HTTP Response

Return type:

Response

del_quality_profile(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Removes a specific quality profile from the blocklist

Parameters:

id (int) – Quality profile ID from database

Returns:

HTTP Response

Return type:

Response

del_queue(id_: int, remove_from_client: bool | None = None, blocklist: bool | None = None) Response | dict[str, JsonDataType] | dict[Any, Any]

Remove an item from the queue and blocklist it

Parameters:
  • id (int) – ID of the item to be removed

  • remove_from_client (Optional[bool], optional) – Remove the item from the client. Defaults to None.

  • blocklist (Optional[bool], optional) – Add the item to the blocklist. Defaults to None.

Returns:

HTTP Response

Return type:

Response

del_root_folder(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Delete root folder with specified id

Parameters:

id (int) – Root folder id from database

Returns:

HTTP Response

Return type:

Response

del_tag(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any]

Delete the tag with the given ID

Parameters:

id (int) – Database id of tag

Returns:

HTTP Response

Return type:

Response

get_backup() list[dict[str, JsonDataType]]

Returns the list of available backups

Returns:

List of dictionaries with items

Return type:

JsonArray

get_blocklist(page: int | None = None, page_size: int | None = None, sort_key: Literal['date'] | None = None, sort_dir: Literal['ascending', 'default', 'descending'] | None = None) dict[str, JsonDataType]

Returns blocked releases.

Parameters:
  • page (Optional[int], optional) – Page number to return. Defaults to None.

  • page_size (Optional[int], optional) – Number of items per page. Defaults to None.

  • sort_key (Optional[PyarrBlocklistSortKey], optional) – Field to sort by. Defaults to None.

  • sort_dir (Optional[PyarrSortDirection], optional) – Direction to sort the items. Defaults to None.

Returns:

Dictionary with items

Return type:

JsonObject

get_calendar(start_date: datetime | None = None, end_date: datetime | None = None, unmonitored: bool = True) list[dict[str, JsonDataType]]

Gets upcoming releases by monitored, if start/end are not supplied, today and tomorrow will be returned

Parameters:
  • start_date (Optional[str], optional) – ISO8601 start datetime. Defaults to None.

  • end_date (Optional[str], optional) – ISO8601 end datetime. Defaults to None.

  • unmonitored (bool, optional) – Include unmonitored movies. Defaults to True.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_command(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Queries the status of a previously started command, or all currently started commands.

Parameters:

id (Optional[int], optional) – Database ID of the command. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_config_download_client() dict[str, JsonDataType]

Gets download client page configuration

Returns:

Dictionary of configuration

Return type:

JsonObject

get_config_host() dict[str, JsonDataType]

Get General/Host settings.

Returns:

Dictionaries with items

Return type:

JsonObject

get_config_naming() dict[str, JsonDataType]

Get Settings for file and folder naming.

Returns:

Dictionary with items

Return type:

JsonObject

get_config_ui() dict[str, JsonDataType]

Query Radarr for UI configuration

Returns:

List of dictionaries with items

Return type:

JsonObject

get_disk_space() list[dict[str, JsonDataType]]
Query disk usage information

System > Status

Returns:

List of dictionaries with items

Return type:

JsonArray

get_download_client(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Get a list of all the download clients or a single client by its database id

Parameters:

id (Optional[int], optional) – Download client database id. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_download_client_schema(implementation: Literal['Aria2', 'Deluge', 'TorrentDownloadStation', 'UsenetDownloadStation', 'Flood', 'Hadouken', 'Nzbget', 'NzbVortex', 'Pneumatic', 'QBittorrent', 'RTorrent', 'Sabnzbd', 'TorrentBlackhole', 'Transmission', 'UsenetBlackhole', 'UTorrent', 'Vuze'] | None = None) list[dict[str, JsonDataType]]

Gets the schemas for the different download Clients

Parameters:

implementation (Optional[PyarrDownloadClientSchema], optional) – Client implementation name. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_health() list[dict[str, JsonDataType]]

Get health information

Returns:

List of dictionaries with items

Return type:

JsonArray

get_history(page: int | None = None, page_size: int | None = None, sort_key: Literal['id', 'date', 'eventType', 'series.title', 'episode.title', 'movieFile.relativePath', 'sourceTitle', 'status'] | None = None, sort_dir: Literal['ascending', 'default', 'descending'] | None = None) dict[str, JsonDataType]

Gets history (grabs/failures/completed)

Parameters:
  • page (Optional[int], optional) – Page number to return. Defaults to None.

  • page_size (Optional[int], optional) – Number of items per page. Defaults to None.

  • sort_key (Optional[PyarrSortKey], optional) – Field to sort by. Defaults to None.

  • sort_dir (Optional[PyarrSortDirection], optional) – Direction to sort the items. Defaults to None.

Returns:

Dictionary with items

Return type:

JsonObject

get_import_list(id_: int | None = None) list[dict[str, JsonDataType]]

Query for all lists or a single list by its database id

Parameters:

id (Optional[int], optional) – Import list database id. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_import_list_schema(implementation: Literal['PlexImport', 'SonarrImport', 'TraktListImport', 'TraktPopularImport', 'TraktUserImport'] | Literal['LidarrImport', 'HeadphonesImport', 'LastFmTag', 'LastFmUser', 'LidarrLists', 'MusicBrainzSeries', 'SpotifyFollowedArtists', 'SpotifyPlaylist', 'SpotifySavedAlbums'] | None = None) list[dict[str, JsonDataType]]

Gets the schemas for the different import list sources

Parameters:

implementation (Optional[Union[PyarrImportListSchema, LidarrImportListSchema]], optional) – Client implementation name. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_indexer(id_: int | None = None) list[dict[str, JsonDataType]] | dict[Any, Any]

Get all indexers or specific by id

Parameters:

id (Optional[int], optional) – Database if of indexer to return. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, dict[Any, Any]]

get_indexer_schema(implementation: Literal['FileList', 'HDBits', 'IPTorrents', 'Newznab', 'Nyaa', 'Omgwtfnzbs', 'PassThePopcorn', 'Rarbg', 'TorrentRssIndexer', 'TorrentPotato', 'Torznab'] | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Get possible indexer connections

Parameters:

implementation (Optional[PyarrIndexerSchema], optional) – indexer system

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_language(id_: int | None = None) list[dict[str, JsonDataType]] | dict[Any, Any]

Gets all language profiles or specific one with id

Note

This method is not working in Sonarr, use get_language_profile() I have raised this with the Sonarr team.

Parameters:

id (Optional[int], optional) – Language profile id from database. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, dict[Any, Any]]

get_log(page: int | None = None, page_size: int | None = None, sort_key: Literal['Id', 'level', 'time', 'logger', 'message', 'exception', 'exceptionType'] | None = None, sort_dir: Literal['ascending', 'default', 'descending'] | None = None, filter_key: Literal['level'] | None = None, filter_value: Literal['all', 'info', 'warn', 'error'] | None = None) dict[str, JsonDataType]

Gets logs from instance

Parameters:
  • page (Optional[int], optional) – Specifiy page to return. Defaults to None.

  • page_size (Optional[int], optional) – Number of items per page. Defaults to None.

  • sort_key (Optional[PyarrLogSortKey], optional) – Field to sort by. Defaults to None.

  • sort_dir (Optional[PyarrSortDirection], optional) – Direction to sort. Defaults to None.

  • filter_key (Optional[PyarrFilterKey], optional) – Key to filter by. Defaults to None.

  • filter_value (Optional[PyarrFilterValue], optional) – Value of the filter. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonObject

get_media_management() dict[str, JsonDataType]

Get media management configuration

Returns:

Dictionary with items

Return type:

JsonObject

get_metadata(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Get all metadata consumer settings

Parameters:

id (Optional[int], optional) – ID for specific metadata record

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_notification(id_: int | None = None) list[dict[str, JsonDataType]] | dict[Any, Any]

Get a list of all notification services, or single by ID

Parameters:

id (Optional[int], optional) – Notification ID. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, dict[Any, Any]]

get_notification_schema(implementation: Literal['Boxcar', 'CustomScript', 'Discord', 'Email', 'MediaBrowser', 'Gotify', 'Join', 'Xbmc', 'MailGun', 'PlexHomeTheater', 'PlexClient', 'PlexServer', 'Prowl', 'PushBullet', 'Pushover', 'SendGrid', 'Slack', 'SynologyIndexer', 'Telegram', 'Trakt', 'Twitter', 'Webhook'] | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Get possible notification connections

Parameters:

implementation (Optional[PyarrNotificationSchema], optional) – notification system

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_quality_definition(id_: int | None = None) list[dict[str, JsonDataType]] | dict[Any, Any]

Gets all quality definitions or specific one by ID

Parameters:

id (Optional[int], optional) – Import list database id. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, dict[Any, Any]]

get_quality_profile(id_: int | None = None) list[dict[str, JsonDataType]] | dict[Any, Any]

Gets all quality profiles or specific one with id

Parameters:

id (Optional[int], optional) – Quality profile id from database. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_quality_profile_schema() list[dict[str, JsonDataType]]

Get the schemas for quality profiles

Returns:

List of dictionaries with items

Return type:

JsonArray

get_remote_path_mapping(id_: int | None = None) list[dict[str, JsonDataType]] | dict[Any, Any]

Get remote path mappings for downloads Directory

Parameters:

id (Optional[int], optional) – ID for specific record. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonArray

get_root_folder(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Get list of root folders, free space and any unmappedFolders

Parameters:

id (Optional[int], optional) – ID of the folder to return. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_system_status() dict[str, JsonDataType]

Gets system status

Returns:

Dictionary with items

Return type:

JsonObject

get_tag(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Returns all tags or specific tag by database id

Parameters:

id (Optional[int], optional) – Database id for tag. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_tag_detail(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType]

Returns all tags or specific tag by database id with detailed information

Parameters:

id (Optional[int], optional) – Database id for tag. Defaults to None.

Returns:

List of dictionaries with items

Return type:

Union[JsonArray, JsonObject]

get_task(id_: int | None = None) dict[str, JsonDataType]

Return a list of tasks, or specify a task ID to return single task

Parameters:

id (Optional[int], optional) – ID for task. Defaults to None.

Returns:

List of dictionaries with items

Return type:

JsonObject

get_update() list[dict[str, JsonDataType]]

Will return a list of recent updated

Returns:

List of dictionaries with items

Return type:

JsonArray

upd_config_download_client(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Update download client page configurations

Note

Recommended to be used in conjunction with get_config_download_client()

Parameters:

data (JsonObject) – data to be updated

Returns:

dictionary with updated items

Return type:

JsonObject

upd_config_host(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Edit General/Host settings.

Parameters:

data (JsonObject) – data to be updated

Returns:

Dictionaries with items

Return type:

JsonObject

upd_config_naming(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Edit Settings for file and folder naming.

Parameters:

data (JsonObject) – data to be updated

Returns:

Dictionary with items

Return type:

JsonObject

upd_config_ui(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Edit one or many UI settings and save to to the database

Parameters:

data (JsonObject) – Data to be Updated.

Returns:

Dictionary with items

Return type:

JsonObject

upd_download_client(id_: int, data: dict[str, JsonDataType]) dict[str, JsonDataType]

Edit a downloadclient by database id

Parameters:
  • id (int) – Download client database id

  • data (JsonObject) – data to be updated within download client

Returns:

dictionary of updated item

Return type:

dict[str, v]

upd_import_list(id_: int, data: dict[str, JsonDataType]) dict[str, JsonDataType]

Edit an importlist

Parameters:
  • id (int) – Import list database id

  • data (JsonObject) – data to be updated within the import list

Returns:

Dictionary of updated data

Return type:

JsonObject

upd_indexer(id_: int, data: dict[str, JsonDataType]) dict[str, JsonDataType]

Edit a Indexer by database id

Note

To be used in conjunction with get_indexer()

Parameters:
  • id (int) – Indexer database id

  • data (JsonObject) – Data to be updated within Indexer

Returns:

Dictionary of updated record

Return type:

JsonObject

upd_media_management(data: dict[str, JsonDataType]) dict[str, JsonDataType]

Get media management configuration

Note

Recommended to use with get_media_management()

Parameters:

data (JsonObject) – data to be updated

Returns:

Dictionary with items

Return type:

JsonObject

upd_notification(id_: int, data: dict[str, JsonDataType]) dict[str, JsonDataType]

Edit notification by database id

Parameters:
  • id (int) – Database id of notification

  • data (JsonObject) – data that requires updating

Returns:

Dictionary of updated record

Return type:

JsonObject

upd_quality_definition(id_: int, data: dict[str, JsonDataType]) dict[str, JsonDataType]

Update the quality definitions.

Note

To be used in conjunction with get_quality_definition()

Parameters:
  • id (int) – ID of definition to update

  • data (JsonObject) – All parameters to update

Returns:

Dictionary of updated record

Return type:

JsonObject

upd_quality_profile(id_: int, data: dict[str, JsonDataType]) dict[str, JsonDataType]

Update the quality profile data

Note

To be used in conjunction with get_quality_profile()

Parameters:
  • id (int) – Profile ID to Update

  • data (JsonObject) – All parameters to update

Returns:

Dictionary of updated record

Return type:

JsonObject

upd_tag(id_: int, label: str) dict[str, JsonDataType]

Update an existing tag

Note

You should perform a get_tag() and submit the full body with changes

Parameters:
  • id (int) – Database id of tag

  • label (str) – tag name / label

Returns:

Dictionary of updated items

Return type:

JsonObject