ReadarrAPIο
- class pyarr.readarr.ReadarrAPI(host_url: str, api_key: str)[source]ο
API wrapper for Readarr endpoints.
- lookup(term: str) list[dict[str, JsonDataType]] [source]ο
Search for an author / book by name or Goodreads ID / ISBN / ASIN
Note
You can also search using the Goodreads ID, work, or author, the ISBN or ASIN:
readarr.lookup(term="edition:656") readarr.lookup(term="work:4912789") readarr.lookup(term="author:128382") readarr.lookup(term="isbn:067003469X") readarr.lookup(term="asin:B00JCDK5ME")
- Parameters:
term (str) β Search term
- Returns:
List of dictionaries with items
- Return type:
JsonArray
- lookup_book(term: str) list[dict[str, JsonDataType]] [source]ο
Searches for new books using a term, goodreads ID, isbn or asin.
- Parameters:
term (str) β
Search term:
goodreads:656 isbn:067003469X asin:B00JCDK5ME
- Returns:
List of dictionaries with items
- Return type:
JsonArray
- lookup_author(term: str) list[dict[str, JsonDataType]] [source]ο
Searches for new authors using a term
- Parameters:
term (str) β Author name or book
- Returns:
List of dictionaries with items
- Return type:
JsonArray
- get_command(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType] [source]ο
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]
- post_command(name: Literal['ApplicationUpdateCheck', 'AuthorSearch', 'BookSearch', 'RefreshAuthor', 'RefreshBook', 'RenameAuthor', 'RenameFiles', 'RescanFolders', 'RssSync', 'Backup', 'MissingBookSearch'], **kwargs: dict[str, Union[int, list[int]]] | None) dict[str, JsonDataType] [source]ο
Performs any of the predetermined Readarr command routines
- Parameters:
name (ReadarrCommands) β Command name that should be executed
**kwargs β Additional parameters for specific commands
Note
For available commands and required **kwargs see the ReadarrCommands model
- Returns:
Dictionary of command run
- Return type:
JsonObject
- get_missing(page: int | None = None, page_size: int | None = None, sort_key: Literal['authorId', 'Books.Id', 'books.releaseDate', 'downloadClient', 'id', 'indexer', 'message', 'path', 'progress', 'protocol', 'quality', 'ratings', 'size', 'sourcetitle', 'status', 'timeleft', 'title'] | None = None, sort_dir: Literal['ascending', 'default', 'descending'] | None = None) dict[str, JsonDataType] [source]ο
Gets missing episode (episodes without files)
- Parameters:
page (int, optional) β Page number to return. Defaults to None.
page_size (int, optional) β Number of items per page. Defaults to None.
sort_key (ReadarrSortKeys, optional) β id, title, ratings, bookid, or quality. (Others do not apply). Defaults to None.
sort_dir (PyarrSortDirection, optional) β Direction to sort the items. Defaults to None,
- Returns:
List of dictionaries with items
- Return type:
JsonObject
- get_cutoff(page: int | None = None, page_size: int | None = None, sort_key: Literal['authorId', 'Books.Id', 'books.releaseDate', 'downloadClient', 'id', 'indexer', 'message', 'path', 'progress', 'protocol', 'quality', 'ratings', 'size', 'sourcetitle', 'status', 'timeleft', 'title'] | None = None, sort_dir: Literal['ascending', 'default', 'descending'] | None = None, monitored: bool | None = None) dict[str, JsonDataType] [source]ο
Get wanted items where the cutoff is unmet
- Parameters:
page (int, optional) β Page number to return. Defaults to None.
page_size (int, optional) β Number of items per page. Defaults to None.
sort_key (ReadarrSortKeys, optional) β id, title, ratings, bookid, or qualityβ. (others do not apply). Defaults to None.
sort_dir (PyarrSortDirection, optional) β Direction to sort. Defaults to None.
monitored (bool, optional) β Search for monitored only. Defaults to None.
- Returns:
List of dictionaries with items
- Return type:
JsonObject
- get_queue(page: int | None = None, page_size: int | None = None, sort_key: Literal['authorId', 'Books.Id', 'books.releaseDate', 'downloadClient', 'id', 'indexer', 'message', 'path', 'progress', 'protocol', 'quality', 'ratings', 'size', 'sourcetitle', 'status', 'timeleft', 'title'] | None = None, sort_dir: Literal['ascending', 'default', 'descending'] | None = None, unknown_authors: bool | None = None, include_author: bool | None = None, include_book: bool | None = None) dict[str, JsonDataType] [source]ο
Get current download information
- Parameters:
page (int, optional) β Page number. Defaults to None.
page_size (int, optional) β Number of items per page. Defaults to None.
sort_key (ReadarrSortKeys, optional) β Field to sort by. Defaults to None.
sort_dir (PyarrSortDirection, optional) β Direction to sort. Defaults to None.
unknown_authors (bool, optional) β Include items with an unknown author. Defaults to None.
include_author (bool, optional) β Include the author. Defaults to None.
include_book (bool, optional) β Include the book. Defaults to None.
- Returns:
List of dictionaries with items
- Return type:
JsonObject
- add_quality_profile(name: str, upgrades_allowed: bool, cutoff: int, items: list, min_format_score: int = 0, cutoff_format_score: int = 0, format_items: list | None = None) dict[str, JsonDataType] [source]ο
Add new quality profile
- Parameters:
name (str) β Name of the profile
upgrades_allowed (bool) β Are upgrades in quality allowed?
cutoff (int) β ID of quality definition to cutoff at. Must be an allowed definition ID.
items (list) β Add a list of items (from get_quality_definition())
min_format_score (int) β minimum score for format. Defaults to 0
cutoff_format_score (int) β cutoff format score. Defaults to 0
format_items (list) β custom format items. Defaults to []
- Returns:
An object containing the profile
- Return type:
JsonObject
- get_metadata_profile(id_: int | None = None) list[dict[str, JsonDataType]] | dict[Any, Any] [source]ο
Gets all metadata profiles or specific one with ID
- Parameters:
id (Optional[int], optional) β Metadata profile id from database. Defaults to None.
- Returns:
List of dictionaries with items
- Return type:
Union[JsonArray, JsonObject]
- add_metadata_profile(name: str, min_popularity: int, skip_missing_date: bool, skip_missing_isbn: bool, skip_parts_and_sets: bool, skip_series_secondary: bool, allowed_languages: str, min_pages: int) list[dict[str, JsonDataType]] | dict[str, JsonDataType] [source]ο
Add a metadata profile
- Parameters:
name (str) β Name of the profile
min_popularity (int) β Minimum popularity
skip_missing_date (bool) β Skip missing dates
skip_missing_isbn (bool) β Skip missing isbn
skip_parts_and_sets (bool) β Skip parts and sets
skip_series_secondary (bool) β Skip series secondary
allowed_languages (str) β List of allowed languages
min_pages (int) β minimum pages
- Returns:
object of added record
- Return type:
Union[JsonArray, JsonObject]
- del_metadata_profile(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any] [source]ο
Delete the metadata profile with the given ID
- Parameters:
id (int) β Database ID for metadata profile
- Returns:
HTTP Response
- Return type:
Response
- get_delay_profile(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType] [source]ο
Gets all delay profiles or specific one with ID
- Parameters:
id (Optional[int], optional) β Metadata profile ID from database. Defaults to None.
- Returns:
List of dictionaries with items
- Return type:
Union[JsonArray, JsonObject]
- get_release_profile(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType] [source]ο
Gets all release profiles or specific one with ID
- Parameters:
id (Optional[int], optional) β Release profile ID from database. Defaults to None.
- Returns:
List of dictionaries with items
- Return type:
Union[JsonArray, JsonObject]
- get_book(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType] [source]ο
Returns all books in your collection or the book with the matching book ID if one is found.
- Parameters:
id (Optional[int], optional) β Database id for book. Defaults to None.
- Returns:
List of dictionaries with items
- Return type:
Union[JsonArray, JsonObject]
- add_book(book: dict[str, JsonDataType], root_dir: str, quality_profile_id: int | None = None, metadata_profile_id: int | None = None, monitored: bool = True, search_for_new_book: bool = False, author_monitor: Literal['all', 'future', 'missing', 'existing', 'first', 'latest', 'none'] = 'all', author_search_for_missing_books: bool = False) dict[str, JsonDataType] [source]ο
Add a new book and its associated author (if not already added).
- Parameters:
book (JsonObject) β A book object from lookup()
root_dir (str) β The root directory for the books to be saved.
quality_profile_id (Optional[int], optional) β Quality Profile. Defaults to first found profile.
metadata_profile_id (Optional[int], optional) β Metadata Profile. Defaults to first found profile.
monitored (bool, optional) β Monitor the book. Defaults to True.
search_for_new_book (bool, optional) β Look for new books. Defaults to False.
author_monitor (ReadarrAuthorMonitor, optional) β Monitor the author for books. Defaults to βallβ.
author_search_for_missing_books (bool, optional) β Search missing books by the author. Defaults to False.
- Returns:
A copy of the added books
- Return type:
JsonObject
- upd_book(book: dict[str, JsonDataType], editions: list[dict[str, JsonDataType]]) dict[str, JsonDataType] [source]ο
Update the given book.
Note
To be used in conjunction with get_book() and get_edition()
Currently only monitored states are updated (for the book and edition).
- Parameters:
id (int) β Book database ID to update
book (JsonObject) β All parameters to update book
editions (JsonArray) β List of editions to update book from get_edition()
- Returns:
Dictionary with updated record
- Return type:
JsonObject
- upd_book_monitor(book_ids: list[int], monitored: bool = True) list[dict[str, JsonDataType]] [source]ο
Update book monitored status
- Parameters:
book_ids (list[int]) β All book IDs to be updated
monitored (bool, optional) β True or False. Defaults to True.
- Returns:
list of dictionaries containing updated records
- Return type:
JsonArray
- del_book(id_: int, delete_files: bool | None = None, import_list_exclusion: bool | None = None) Response | dict[str, JsonDataType] | dict[Any, Any] [source]ο
Delete the book with the given ID
- Parameters:
id (int) β Database ID for book
delete_files (bool, optional) β If true book folder and files will be deleted. Defaults to None.
import_list_exclusion (bool, optional) β Add an exclusion so book doesnβt get re-added. Defaults to None.
- Returns:
HTTP Response
- Return type:
Response
- get_author(id_: int | None = None) list[dict[str, JsonDataType]] | dict[str, JsonDataType] [source]ο
Returns all authors in your collection or the author with the matching ID if one is found.
- Parameters:
id (Optional[int], optional) β Database ID for author. Defaults to None.
- Returns:
List of dictionaries with items
- Return type:
Union[JsonArray, JsonObject]
- add_author(author: dict[str, JsonDataType], root_dir: str, quality_profile_id: int | None = None, metadata_profile_id: int | None = None, monitored: bool = True, author_monitor: Literal['all', 'future', 'missing', 'existing', 'first', 'latest', 'none'] = 'none', author_search_for_missing_books: bool = False) dict[str, JsonDataType] [source]ο
Adds an author based on data from lookup, must be an author record
- Parameters:
author (JsonObject) β A author object from lookup()
root_dir (str) β Directory for book to be stored
quality_profile_id (int, optional) β Quality profile id. Defaults to 1.
metadata_profile_id (int, optional) β Metadata profile id. Defaults to 0.
monitored (bool, optional) β Should the author be monitored. Defaults to True.
author_monitor (ReadarrAuthorMonitor, optional) β What level should the author be monitored. Defaults to βnoneβ.
author_search_for_missing_books (bool, optional) β Search for any missing books by the author. Defaults to False.
- Returns:
Dictonary of added record
- Return type:
JsonObject
- upd_author(id_: int, data: dict[str, JsonDataType]) dict[str, JsonDataType] [source]ο
Update the given author, currently only monitored is changed, all other modifications are ignored.
Note
To be used in conjunction with get_author()
- Parameters:
id (int) β Author database ID to update
data (JsonObject) β All parameters to update author
- Returns:
Dictionary with updated record
- Return type:
JsonObject
- del_author(id_: int, delete_files: bool | None = None, import_list_exclusion: bool | None = None) Response | dict[str, JsonDataType] | dict[Any, Any] [source]ο
Delete the author with the given ID
- Parameters:
id (int) β Database ID for author
delete_files (bool, optional) β If true author folder and files will be deleted. Defaults to None.
import_list_exclusion (bool, optional) β Add an exclusion so author doesnβt get re-added. Defaults to None.
- Returns:
HTTP Response
- Return type:
Response
- get_log_file() list[dict[str, JsonDataType]] [source]ο
Get log file
- Returns:
List of dictionaries with items
- Return type:
JsonArray
- add_root_folder(name: str, path: str, default_quality_profile_id: int, default_metadata_profile_id: int, default_tags: list | None = None, is_calibre_lib: bool = False, calibre_host: str = 'localhost', calibre_port: int = 8080, use_ssl: bool = False, output_profile: str = 'default') dict[str, JsonDataType] [source]ο
Add a new location to store files
- Parameters:
name (str) β Friendly Name for folder
path (str) β Location the files should be stored
default_quality_profile_id (int) β Quality Profile.
default_metadata_profile_id (int) β Metadata Profile.
default_tags (Optional[list], optional) β List of tags to apply. Defaults to None.
is_calibre_lib (bool, optional) β Use Calibre Content Server. Defaults to False.
calibre_host (str, optional) β Calibre Content Server address. Defaults to βlocalhostβ.
calibre_port (int, optional) β Calibre Content Server port. Defaults to 8080.
use_ssl (bool, optional) β Calibre Content Server SSL. Defaults to False.
output_profile (str, optional) β Books to monitor. Defaults to βdefaultβ.
- Returns:
Dictionary of added record
- Return type:
JsonObject
- get_metadata_provider() dict[str, JsonDataType] [source]ο
Get metadata provider from settings/metadata
- Returns:
Dictionary of record
- Return type:
JsonObject
- upd_metadata_provider(data: dict[str, JsonDataType]) dict[str, JsonDataType] [source]ο
Update the metadata provider data.
Note
To be used in conjunction with get_metadata_provider()
- Parameters:
data (JsonObject) β All parameters to update
- Returns:
Dictionary of updated record
- Return type:
dict[str, Any]
- add_release_profile(ignored: list, required: list, indexerId: int = 0, tags: list[int] | None = None, enabled: bool = True, includePreferredWhenRenaming: bool = False) dict[str, JsonDataType] [source]ο
Add a Release Profile
- Parameters:
ignored (list) β List of terms in the release to ignore
indexerId (int) β ID for preferred indexer. Defaults to 0 (any).
required (list) β List of terms the release must include.
tags (list[int]) β List of tag idβs. Defaults to empty list
enabled (bool, optional) β Enable release profile. Defaults to True.
includePreferredWhenRenaming (bool, optional) β Include preferred when renaming. Defaults to False.
- Returns:
Dictionary containing details of new profile
- Return type:
JsonObject
- del_release_profile(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any] [source]ο
Delete the release profile with the given ID
- Parameters:
id (int) β Database ID for release profile
- Returns:
HTTP Response
- Return type:
Response
- add_delay_profile(tags: list[int], preferredProtocol: str = 'usenet', usenetDelay: int = 0, torrentDelay: int = 0, bypassIfHighestQuality: bool = False, bypassIfAboveCustomFormatScore: bool = False, minimumCustomFormatScore: int = 0) dict[str, JsonDataType] [source]ο
Add delay profile
- Parameters:
tags (list[int]) β List of tag IDs. Use: get_tag.
preferredProtocol (str, optional) β usenet, torrent, onlyusenet, onlytorrent . Defaults to βusenetβ.
usenetDelay (int, optional) β Delay before grabbing a release. Defaults to 0.
torrentDelay (int, optional) β Delay before grabbing a release. Defaults to 0.
bypassIfHighestQuality (bool, optional) β Bypass delay when release has the highest enabled quality in the quality profile. Defaults to False.
bypassIfAboveCustomFormatScore (bool, optional) β Enable bypass when release has a score higher than the configured minimum custom format score. Defaults to False.
minimumCustomFormatScore (int, optional) β set when using bypassIfAboveCustomFormatScore. Defaults to 0.
- Returns:
Dictonary with added item
- Return type:
JsonObject
- del_delay_profile(id_: int) Response | dict[str, JsonDataType] | dict[Any, Any] [source]ο
Delete the delay profile with the given ID
- Parameters:
id (int) β Database ID for delay profile
- Returns:
HTTP Response
- Return type:
Response
- get_manual_import(folder: str, download_id: str | None = None, author_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
author_id (int, optional) β Author 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_edition(id_: int) list[dict[str, JsonDataType]] [source]ο
Get editionβs for specific book
- Parameters:
id (int) β Database ID of book
- Returns:
Dictionary of editions
- Return type:
JsonObject
- 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_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