Requests
33 addresses. Not promised — they belong to the internals and can change with any release. If you need something to stay put, use the promised nineteen.
GET
/api/admin/blocklist
may change
The blocklist
Titles nobody may request. Administrators only.
Fields and shape
Response
media_typemovie | tv requiredtmdb_idnumber requiredtitlestring requiredposter_urlstring or null requiredreasonstring or null requiredcreated_attimestamp (ISO 8601) requiredResponse shape
[
{
"media_type": "movie | tv",
"tmdb_id": "number",
"title": "string",
"poster_url": "string | null",
"reason": "string | null",
"created_at": "ISO 8601"
}
]
POST
/api/admin/blocklist
may change
Block a title
Blocking something twice is not an error.
Fields and shape
Request body
media_typemovie | tv requiredtmdb_idnumber requiredtitlestringposter_urlstring or nullreasonstring or nullResponse
media_typemovie | tv requiredtmdb_idnumber requiredtitlestring requiredposter_urlstring or null requiredreasonstring or null requiredcreated_attimestamp (ISO 8601) requiredResponse shape
{
"media_type": "movie | tv",
"tmdb_id": "number",
"title": "string",
"poster_url": "string | null",
"reason": "string | null",
"created_at": "ISO 8601"
}
DELETE
/api/admin/blocklist/{media_type}/{tmdb_id}
may change
Unblock a title
The title can be requested again afterwards.
Fields and shape
Parameters
media_typemovie | tv path requiredtmdb_idnumber path required
GET
/api/admin/downloads
may change
List stuck and running downloads
Administrators only. Asks every Radarr and Sonarr instance for its queue (a result at most 15 seconds old is reused) and returns the downloads that are stuck, each with the reason Nexview recognised, the original messages of the instance, the actions that make sense and the requests it belongs to. A download counts as stuck after it has been disturbed for a while without changing. Everything else in the queues is listed as running; a disturbed download that is not stuck yet carries its reason in "beobachtet". Instances that did not answer are listed with an error code.
Fields and shape
Response
instanzenlist of InstanzAntwort requiredhaengerlist of HaengerZeile requiredlaufendlist of LaufZeile requiredgescheitertnumberautomatik_anboolean requiredstand_amtimestamp (ISO 8601) requiredResponse shape
{
"instanzen": [
{
"kennung": "string",
"name": "string",
"media_type": "string",
"erreichbar": "boolean",
"fehler": "string"
}
],
"haenger": [
{
"id": "number",
"kennung": "string",
"instanz": "string",
"media_type": "string",
"titel": "string",
"jahr": "number | null",
"release": "string",
"folgen": [
[
"number"
]
],
"grund": "string",
"wortlaut": [
"string"
],
"zustand": "string",
"meldestufe": "string",
"programmstand": "string",
"protokoll": "string"
}
],
"laufend": [
{
"kennung": "string",
"instanz": "string",
"media_type": "string",
"titel": "string",
"jahr": "number | null",
"release": "string",
"folgen": [
[
"number"
]
],
"fortschritt": "number | null",
"groesse": "number",
"rest": "number",
"restzeit": "string | null",
"programm": "string",
"protokoll": "string",
"programmstand": "string"
}
],
"gescheitert": "number",
"automatik_an": "boolean",
"stand_am": "ISO 8601"
}
GET
/api/admin/downloads/automatik
may change
Read the download automation
Administrators only. Whether the automation is switched on and, for every reason that allows it, the configured action and the allowed actions. Also the limits: automatic actions per title within the window, and how often a title has to get stuck within a week before administrators are notified.
Fields and shape
Response
anboolean requiredbeim_wegbooleanregelnlist of AutomatikRegel requiredobergrenzenumber requiredfenster_stundennumber requiredwiederholt_abnumber requiredwiederholt_tagenumber requiredResponse shape
{
"an": "boolean",
"beim_weg": "boolean",
"regeln": [
{
"grund": "string",
"aktion": "string | null",
"erlaubt": [
"string"
]
}
],
"obergrenze": "number",
"fenster_stunden": "number",
"wiederholt_ab": "number",
"wiederholt_tage": "number"
}
PUT
/api/admin/downloads/automatik
may change
Change the download automation
Administrators only. Switches the automation on or off and sets one action per reason; a missing or empty action leaves that reason alone. An action the reason does not allow is refused with 422. A manual import is never allowed as an automatic action.
Fields and shape
Request body
anboolean requiredregelnobjectResponse
anboolean requiredbeim_wegbooleanregelnlist of AutomatikRegel requiredobergrenzenumber requiredfenster_stundennumber requiredwiederholt_abnumber requiredwiederholt_tagenumber requiredResponse shape
{
"an": "boolean",
"beim_weg": "boolean",
"regeln": [
{
"grund": "string",
"aktion": "string | null",
"erlaubt": [
"string"
]
}
],
"obergrenze": "number",
"fenster_stunden": "number",
"wiederholt_ab": "number",
"wiederholt_tage": "number"
}
GET
/api/admin/downloads/verlauf
may change
History of stuck downloads
Administrators only. Newest first: when a download was recognised as stuck, what was done about it by hand or by the automation, who did it, and whether it worked. Entries are kept for 90 days.
Fields and shape
Parameters
limitnumber queryResponse
idnumber requiredamtimestamp (ISO 8601) requiredkennungstring requiredinstanzstring requiredmedia_typestring requiredtitelstring requiredreleasestring requiredgrundstring requiredwasstring requiredautomatischboolean requiredwerstring or null requiredergebnisstring requiredResponse shape
[
{
"id": "number",
"am": "ISO 8601",
"kennung": "string",
"instanz": "string",
"media_type": "string",
"titel": "string",
"release": "string",
"grund": "string",
"was": "string",
"automatisch": "boolean",
"wer": "string | null",
"ergebnis": "string"
}
]
GET
/api/admin/downloads/{haenger_id}/dateien
may change
Files of a stuck download
Administrators only. What a manual import would do with the files of this download, as the instance sees them right now: the matched title and episodes, quality, languages and every rejection with its original text and whether it is permanent.
Fields and shape
Parameters
haenger_idnumber path requiredResponse
pfadstring requirednamestring requiredgroessenumber requiredqualitaetstring requiredsprachenlist of string requiredzuordnungstring requiredfolgenlist of list of number requiredzuordenbarboolean requiredablehnungenlist of AblehnungZeile requiredResponse shape
[
{
"pfad": "string",
"name": "string",
"groesse": "number",
"qualitaet": "string",
"sprachen": [
"string"
],
"zuordnung": "string",
"folgen": [
[
"number"
]
],
"zuordenbar": "boolean",
"ablehnungen": [
{
"text": "string",
"dauerhaft": "boolean"
}
]
}
]
POST
/api/admin/downloads/{haenger_id}/entfernen
may change
Remove a stuck download
Administrators only. Reads the queue again, then removes the download from the queue and from the download client, including its data. With "neu_suchen" the release is blocklisted and Nexview starts a new search itself; the instance is told to skip its own redownload, so the search happens once. Answers 409 with download_gone when the instance no longer lists the download, and the stored entry is dropped.
Fields and shape
Parameters
haenger_idnumber path requiredRequest body
neu_suchenbooleanResponse
gesuchtboolean requiredbefehlstring requiredResponse shape
{
"gesucht": "boolean",
"befehl": "string"
}
POST
/api/admin/downloads/{haenger_id}/erneut
may change
Let the instance check a download again
Administrators only. Sends RefreshMonitoredDownloads to the instance, which looks at finished and blocked downloads again and imports them when the cause is gone, for example after an archive was extracted or a remote path mapping was added.
Fields and shape
Parameters
haenger_idnumber path requiredResponse
gesuchtboolean requiredbefehlstring requiredResponse shape
{
"gesucht": "boolean",
"befehl": "string"
}
POST
/api/admin/downloads/{haenger_id}/importieren
may change
Import files of a stuck download
Administrators only. Imports the chosen files with the mapping the instance proposes; the request only names paths. A file the instance cannot map is refused. A file with a permanent rejection is only imported with "trotzdem" set, because the instance does not check rejections again during a manual import. Waits up to 20 seconds for the command and reports its status.
Fields and shape
Parameters
haenger_idnumber path requiredRequest body
pfadelist of string requiredtrotzdembooleanResponse
gesuchtboolean requiredbefehlstring requiredResponse shape
{
"gesucht": "boolean",
"befehl": "string"
}
GET
/api/admin/regeln
may change
The rules
Rules decide requests before the account setting applies. They are checked in order and the first one that matches wins. Administrators only.
Fields and shape
Response
idnumber requiredpositionnumber requirednamestring requiredaktivboolean requiredbedingungenlist of object requiredentscheidungfreigeben | ablehnen requiredhausbestandboolean requiredbegruendungstring requiredtrotzdem_fragenboolean requiredcreated_attimestamp (ISO 8601) requiredResponse shape
[
{
"id": "number",
"position": "number",
"name": "string",
"aktiv": "boolean",
"bedingungen": [
"object"
],
"entscheidung": "freigeben | ablehnen",
"hausbestand": "boolean",
"begruendung": "string",
"trotzdem_fragen": "boolean",
"created_at": "ISO 8601"
}
]
POST
/api/admin/regeln
may change
Add a rule
The new rule goes last, so it overtakes nothing that is already there. A rule without conditions is refused - it would match everything.
Fields and shape
Request body
namestring requiredaktivbooleanbedingungenlist of BedingungIn requiredentscheidungfreigeben | ablehnen requiredhausbestandbooleanbegruendungstringtrotzdem_fragenbooleanResponse
idnumber requiredpositionnumber requirednamestring requiredaktivboolean requiredbedingungenlist of object requiredentscheidungfreigeben | ablehnen requiredhausbestandboolean requiredbegruendungstring requiredtrotzdem_fragenboolean requiredcreated_attimestamp (ISO 8601) requiredResponse shape
{
"id": "number",
"position": "number",
"name": "string",
"aktiv": "boolean",
"bedingungen": [
"object"
],
"entscheidung": "freigeben | ablehnen",
"hausbestand": "boolean",
"begruendung": "string",
"trotzdem_fragen": "boolean",
"created_at": "ISO 8601"
}
GET
/api/admin/regeln/felder
may change
Fields a condition can use
So the interface keeps no second list of its own. Each field is either a number, with a lower and an upper bound, or a set of allowed values.
Fields and shape
Response
kennungstring requiredartzahl | menge requiredminnumber or nullmaxnumber or nullstufenlist of number or nullResponse shape
[
{
"kennung": "string",
"art": "zahl | menge",
"min": "number | null",
"max": "number | null",
"stufen": [
"number"
]
}
]
PUT
/api/admin/regeln/reihenfolge
may change
Reorder the rules
Send every rule id exactly once. Order carries meaning here - the first matching rule decides - so an incomplete list is refused rather than guessed at.
Fields and shape
Request body
reihenfolgelist of number requiredResponse
idnumber requiredpositionnumber requirednamestring requiredaktivboolean requiredbedingungenlist of object requiredentscheidungfreigeben | ablehnen requiredhausbestandboolean requiredbegruendungstring requiredtrotzdem_fragenboolean requiredcreated_attimestamp (ISO 8601) requiredResponse shape
[
{
"id": "number",
"position": "number",
"name": "string",
"aktiv": "boolean",
"bedingungen": [
"object"
],
"entscheidung": "freigeben | ablehnen",
"hausbestand": "boolean",
"begruendung": "string",
"trotzdem_fragen": "boolean",
"created_at": "ISO 8601"
}
]
DELETE
/api/admin/regeln/{regel_id}
may change
Delete a rule
Requests it already decided stay as they are; they simply lose the link to it.
Fields and shape
Parameters
regel_idnumber path required
PUT
/api/admin/regeln/{regel_id}
may change
Change a rule
Conditions are replaced as a whole. "House stock" is kept only on a rule that approves, "may ask anyway" only on one that rejects.
Fields and shape
Parameters
regel_idnumber path requiredRequest body
namestring requiredaktivbooleanbedingungenlist of BedingungIn requiredentscheidungfreigeben | ablehnen requiredhausbestandbooleanbegruendungstringtrotzdem_fragenbooleanResponse
idnumber requiredpositionnumber requirednamestring requiredaktivboolean requiredbedingungenlist of object requiredentscheidungfreigeben | ablehnen requiredhausbestandboolean requiredbegruendungstring requiredtrotzdem_fragenboolean requiredcreated_attimestamp (ISO 8601) requiredResponse shape
{
"id": "number",
"position": "number",
"name": "string",
"aktiv": "boolean",
"bedingungen": [
"object"
],
"entscheidung": "freigeben | ablehnen",
"hausbestand": "boolean",
"begruendung": "string",
"trotzdem_fragen": "boolean",
"created_at": "ISO 8601"
}
GET
/api/admin/requests
may change
All requests
Every request from every account, optionally filtered by state, media type or account. For approvers and administrators.
Fields and shape
Parameters
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred or null queryuser_idnumber or null queryfeedbackboolean queryfrom_watchlistboolean queryfremde_fassungboolean queryResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requireduser_idnumber requiredusernamestring requireddisplay_namestring or null requiredavatar_urlstring or null requiredstorageAnfragerSpeicher or nullrequester_subscriptionslist of stringfor_child_namestring or nullimport_haengtstring or nullResponse shape
[
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
]
POST
/api/admin/requests/approve-all/{user_id}
may change
Approve everything from one account
Approves all open requests of one account at once. If handing one over to Radarr or Sonarr fails, the rest still go through - one unreachable instance should not block the whole batch.
Fields and shape
Parameters
user_idnumber path requiredRequest body
zieleobjectmovieTargetChoice or nulltvTargetChoice or nullmovie_uhdTargetChoice or nulltv_uhdTargetChoice or nullResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requireduser_idnumber requiredusernamestring requireddisplay_namestring or null requiredavatar_urlstring or null requiredstorageAnfragerSpeicher or nullrequester_subscriptionslist of stringfor_child_namestring or nullimport_haengtstring or nullResponse shape
[
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
]
GET
/api/admin/requests/pending/count
may change
How many requests await a decision
A plain number for the menu badge. Restricted to accounts that may decide - a token inherits that from its owner.
DELETE
/api/admin/requests/{request_id}
may change
Remove a request from the overview
Deletes the entry in Nexview only - in Radarr or Sonarr the title stays. Use cancel if the download should stop too.
Fields and shape
Parameters
request_idnumber path required
POST
/api/admin/requests/{request_id}/approve
may change
Approve a request
Hands the title over to Radarr or Sonarr and starts the download. The requester is notified.
Fields and shape
Parameters
request_idnumber path requiredRequest body
root_folder_pathstring or nullquality_profile_idnumber or nullResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requireduser_idnumber requiredusernamestring requireddisplay_namestring or null requiredavatar_urlstring or null requiredstorageAnfragerSpeicher or nullrequester_subscriptionslist of stringfor_child_namestring or nullimport_haengtstring or nullResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
POST
/api/admin/requests/{request_id}/cancel
may change
Cancel a running request
Stops the request and deletes the title in Radarr or Sonarr, freeing the requester's quota again.
Fields and shape
Parameters
request_idnumber path requiredResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requireduser_idnumber requiredusernamestring requireddisplay_namestring or null requiredavatar_urlstring or null requiredstorageAnfragerSpeicher or nullrequester_subscriptionslist of stringfor_child_namestring or nullimport_haengtstring or nullResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
POST
/api/admin/requests/{request_id}/defer
may change
Put a request aside
"Yes in principle, just not now." Meant for the account that is over its quota: the approver wants neither to say no nor to wave it through. A deferred request comes back on its own at the next period change.
Fields and shape
Parameters
request_idnumber path requiredResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requireduser_idnumber requiredusernamestring requireddisplay_namestring or null requiredavatar_urlstring or null requiredstorageAnfragerSpeicher or nullrequester_subscriptionslist of stringfor_child_namestring or nullimport_haengtstring or nullResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
POST
/api/admin/requests/{request_id}/reject
may change
Turn down a request
The requester is notified and their quota is not charged.
Fields and shape
Parameters
request_idnumber path requiredRequest body
reasonstring or nullblockbooleanResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requireduser_idnumber requiredusernamestring requireddisplay_namestring or null requiredavatar_urlstring or null requiredstorageAnfragerSpeicher or nullrequester_subscriptionslist of stringfor_child_namestring or nullimport_haengtstring or nullResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
POST
/api/admin/requests/{request_id}/reply
may change
Reply to a requester's feedback
Administrators only - approvers decide about requests, but answering is a conversation, and that belongs with whoever runs the installation.
Fields and shape
Parameters
request_idnumber path requiredRequest body
replystring requiredResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requireduser_idnumber requiredusernamestring requireddisplay_namestring or null requiredavatar_urlstring or null requiredstorageAnfragerSpeicher or nullrequester_subscriptionslist of stringfor_child_namestring or nullimport_haengtstring or nullResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
POST
/api/requests
may change
Request a title
Goes through exactly the same checks as a request made in the browser: quota, blocklist and approval all apply to the account the call is made for. A request needing approval comes back as pending, not as an error.
Fields and shape
Request body
media_typemovie | tv requiredfassungstring or nulltierstandard | uhdtmdb_idnumber requiredquality_profile_idnumber or nullroot_folder_pathstring or nullmonitor_futurebooleantvdb_idnumber or nullseasonnumber or nullepisodeslist of number or nullfrom_watchlistbooleanResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
GET
/api/requests/mine
may change
Your own requests
Every request from the calling account, newest first, with the rating attached to the title.
Fields and shape
Response
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requiredResponse shape
[
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
]
GET
/api/requests/quota
may change
How much you may still request
What has been used in the current period and what is left. An account without a limit reports no ceiling rather than a very large number.
Fields and shape
Response
movieQuotaInfo requiredtvQuotaInfo requiredauto_approveboolean requiredResponse shape
{
"movie": {
"limit": "number | null",
"used": "number",
"remaining": "number | null",
"unlimited": "boolean",
"exhausted": "boolean",
"period": "day | week | month",
"resets_at": "ISO 8601 | null"
},
"tv": {
"limit": "number | null",
"used": "number",
"remaining": "number | null",
"unlimited": "boolean",
"exhausted": "boolean",
"period": "day | week | month",
"resets_at": "ISO 8601 | null"
},
"auto_approve": "boolean"
}
DELETE
/api/requests/{request_id}
may change
Delete your own request entry
Removes the entry. What has already been downloaded stays where it is.
Fields and shape
Parameters
request_idnumber path required
POST
/api/requests/{request_id}/cancel
may change
Cancel your own request
Useful when a title has not been found for days: the space in your quota is freed again. Only works while the request is still open.
Fields and shape
Parameters
request_idnumber path requiredResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
POST
/api/requests/{request_id}/feedback
may change
Rate your own request
Is the downloaded copy any good? The approvers are notified; a poor rating notifies them more clearly, because that is the case somebody has to act on.
Fields and shape
Parameters
request_idnumber path requiredRequest body
ratingnumber requiredcommentstring or nullResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}
POST
/api/requests/{request_id}/trotzdem
may change
Ask anyway after a rule declined
Only where the rule allows it, and only with the same checks a fresh request would face - quota included. Skipping those would build the very path around a full quota: have a rule decline it, then ask anyway.
Fields and shape
Parameters
request_idnumber path requiredResponse
idnumber requiredmedia_typemovie | tv requiredfassungstring or null requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredquality_profile_uhdbooleanroot_folder_pathstring or null requiredseasonnumber or null requiredepisodeslist of number or nullfrom_watchlistboolean requiredarr_linkedbooleanrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nulllaedt_fortschrittnumber or nulllaedt_seittimestamp (ISO 8601) or nullrejection_reasonstring or null requiredregel_namestring or nulldarf_trotzdem_fragenbooleantrotzdem_gefragtbooleanerror_messagestring or null requirederror_detailobject or nullratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"media_type": "movie | tv",
"fassung": "string | null",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"quality_profile_uhd": "boolean",
"root_folder_path": "string | null",
"season": "number | null",
"episodes": [
"number"
]
}