Anfragen
33 Adressen. Ohne Zusage — sie gehören zum Innenteil der Anwendung und können sich mit jeder Fassung ändern. Wer sich auf etwas verlassen muss, nimmt die zugesagten neunzehn.
GET
/api/admin/blocklist
may change
The blocklist
Titles nobody may request. Administrators only.
Felder und Aufbau
Antwort
media_typemovie | tv Pflichttmdb_idZahl PflichttitleText Pflichtposter_urlText oder null PflichtreasonText oder null Pflichtcreated_atZeitpunkt (ISO 8601) PflichtAufbau der Antwort
[
{
"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.
Felder und Aufbau
Anfragekörper
media_typemovie | tv Pflichttmdb_idZahl PflichttitleTextposter_urlText oder nullreasonText oder nullAntwort
media_typemovie | tv Pflichttmdb_idZahl PflichttitleText Pflichtposter_urlText oder null PflichtreasonText oder null Pflichtcreated_atZeitpunkt (ISO 8601) PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
media_typemovie | tv path Pflichttmdb_idZahl path Pflicht
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.
Felder und Aufbau
Antwort
instanzenListe von InstanzAntwort PflichthaengerListe von HaengerZeile PflichtlaufendListe von LaufZeile PflichtgescheitertZahlautomatik_anja/nein Pflichtstand_amZeitpunkt (ISO 8601) PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Antwort
anja/nein Pflichtbeim_wegja/neinregelnListe von AutomatikRegel PflichtobergrenzeZahl Pflichtfenster_stundenZahl Pflichtwiederholt_abZahl Pflichtwiederholt_tageZahl PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Anfragekörper
anja/nein PflichtregelnObjektAntwort
anja/nein Pflichtbeim_wegja/neinregelnListe von AutomatikRegel PflichtobergrenzeZahl Pflichtfenster_stundenZahl Pflichtwiederholt_abZahl Pflichtwiederholt_tageZahl PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
limitZahl queryAntwort
idZahl PflichtamZeitpunkt (ISO 8601) PflichtkennungText PflichtinstanzText Pflichtmedia_typeText PflichttitelText PflichtreleaseText PflichtgrundText PflichtwasText Pflichtautomatischja/nein PflichtwerText oder null PflichtergebnisText PflichtAufbau der Antwort
[
{
"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.
Felder und Aufbau
Parameter
haenger_idZahl path PflichtAntwort
pfadText PflichtnameText PflichtgroesseZahl PflichtqualitaetText PflichtsprachenListe von Text PflichtzuordnungText PflichtfolgenListe von Liste von Zahl Pflichtzuordenbarja/nein PflichtablehnungenListe von AblehnungZeile PflichtAufbau der Antwort
[
{
"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.
Felder und Aufbau
Parameter
haenger_idZahl path PflichtAnfragekörper
neu_suchenja/neinAntwort
gesuchtja/nein PflichtbefehlText PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
haenger_idZahl path PflichtAntwort
gesuchtja/nein PflichtbefehlText PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
haenger_idZahl path PflichtAnfragekörper
pfadeListe von Text Pflichttrotzdemja/neinAntwort
gesuchtja/nein PflichtbefehlText PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Antwort
idZahl PflichtpositionZahl PflichtnameText Pflichtaktivja/nein PflichtbedingungenListe von Objekt Pflichtentscheidungfreigeben | ablehnen Pflichthausbestandja/nein PflichtbegruendungText Pflichttrotzdem_fragenja/nein Pflichtcreated_atZeitpunkt (ISO 8601) PflichtAufbau der Antwort
[
{
"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.
Felder und Aufbau
Anfragekörper
nameText Pflichtaktivja/neinbedingungenListe von BedingungIn Pflichtentscheidungfreigeben | ablehnen Pflichthausbestandja/neinbegruendungTexttrotzdem_fragenja/neinAntwort
idZahl PflichtpositionZahl PflichtnameText Pflichtaktivja/nein PflichtbedingungenListe von Objekt Pflichtentscheidungfreigeben | ablehnen Pflichthausbestandja/nein PflichtbegruendungText Pflichttrotzdem_fragenja/nein Pflichtcreated_atZeitpunkt (ISO 8601) PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Antwort
kennungText Pflichtartzahl | menge PflichtminZahl oder nullmaxZahl oder nullstufenListe von Zahl oder nullAufbau der Antwort
[
{
"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.
Felder und Aufbau
Anfragekörper
reihenfolgeListe von Zahl PflichtAntwort
idZahl PflichtpositionZahl PflichtnameText Pflichtaktivja/nein PflichtbedingungenListe von Objekt Pflichtentscheidungfreigeben | ablehnen Pflichthausbestandja/nein PflichtbegruendungText Pflichttrotzdem_fragenja/nein Pflichtcreated_atZeitpunkt (ISO 8601) PflichtAufbau der Antwort
[
{
"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.
Felder und Aufbau
Parameter
regel_idZahl path Pflicht
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.
Felder und Aufbau
Parameter
regel_idZahl path PflichtAnfragekörper
nameText Pflichtaktivja/neinbedingungenListe von BedingungIn Pflichtentscheidungfreigeben | ablehnen Pflichthausbestandja/neinbegruendungTexttrotzdem_fragenja/neinAntwort
idZahl PflichtpositionZahl PflichtnameText Pflichtaktivja/nein PflichtbedingungenListe von Objekt Pflichtentscheidungfreigeben | ablehnen Pflichthausbestandja/nein PflichtbegruendungText Pflichttrotzdem_fragenja/nein Pflichtcreated_atZeitpunkt (ISO 8601) PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred oder null queryuser_idZahl oder null queryfeedbackja/nein queryfrom_watchlistja/nein queryfremde_fassungja/nein queryAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null PflichtstorageAnfragerSpeicher oder nullrequester_subscriptionsListe von Textfor_child_nameText oder nullimport_haengtText oder nullAufbau der Antwort
[
{
"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.
Felder und Aufbau
Parameter
user_idZahl path PflichtAnfragekörper
zieleObjektmovieTargetChoice oder nulltvTargetChoice oder nullmovie_uhdTargetChoice oder nulltv_uhdTargetChoice oder nullAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null PflichtstorageAnfragerSpeicher oder nullrequester_subscriptionsListe von Textfor_child_nameText oder nullimport_haengtText oder nullAufbau der Antwort
[
{
"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.
Felder und Aufbau
Parameter
request_idZahl path Pflicht
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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAnfragekörper
root_folder_pathText oder nullquality_profile_idZahl oder nullAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null PflichtstorageAnfragerSpeicher oder nullrequester_subscriptionsListe von Textfor_child_nameText oder nullimport_haengtText oder nullAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null PflichtstorageAnfragerSpeicher oder nullrequester_subscriptionsListe von Textfor_child_nameText oder nullimport_haengtText oder nullAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null PflichtstorageAnfragerSpeicher oder nullrequester_subscriptionsListe von Textfor_child_nameText oder nullimport_haengtText oder nullAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAnfragekörper
reasonText oder nullblockja/neinAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null PflichtstorageAnfragerSpeicher oder nullrequester_subscriptionsListe von Textfor_child_nameText oder nullimport_haengtText oder nullAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAnfragekörper
replyText PflichtAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null Pflichtuser_idZahl PflichtusernameText Pflichtdisplay_nameText oder null Pflichtavatar_urlText oder null PflichtstorageAnfragerSpeicher oder nullrequester_subscriptionsListe von Textfor_child_nameText oder nullimport_haengtText oder nullAufbau der Antwort
{
"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.
Felder und Aufbau
Anfragekörper
media_typemovie | tv PflichtfassungText oder nulltierstandard | uhdtmdb_idZahl Pflichtquality_profile_idZahl oder nullroot_folder_pathText oder nullmonitor_futureja/neintvdb_idZahl oder nullseasonZahl oder nullepisodesListe von Zahl oder nullfrom_watchlistja/neinAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Antwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null PflichtAufbau der Antwort
[
{
"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.
Felder und Aufbau
Antwort
movieQuotaInfo PflichttvQuotaInfo Pflichtauto_approveja/nein PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
request_idZahl path Pflicht
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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAnfragekörper
ratingZahl PflichtcommentText oder nullAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null PflichtAufbau der Antwort
{
"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.
Felder und Aufbau
Parameter
request_idZahl path PflichtAntwort
idZahl Pflichtmedia_typemovie | tv PflichtfassungText oder null Pflichttierstandard | uhd Pflichttmdb_idZahl PflichttitleText Pflichtposter_pathText oder null Pflichtrelease_dateText oder null Pflichtstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflichtquality_profile_idZahl oder null Pflichtquality_profile_uhdja/neinroot_folder_pathText oder null PflichtseasonZahl oder null PflichtepisodesListe von Zahl oder nullfrom_watchlistja/nein Pflichtarr_linkedja/neinrequested_atZeitpunkt (ISO 8601) Pflichtapproved_atZeitpunkt (ISO 8601) oder null Pflichtcompleted_atZeitpunkt (ISO 8601) oder null Pflichtapproved_by_nameText oder nulllast_checked_atZeitpunkt (ISO 8601) oder nulllaedt_fortschrittZahl oder nulllaedt_seitZeitpunkt (ISO 8601) oder nullrejection_reasonText oder null Pflichtregel_nameText oder nulldarf_trotzdem_fragenja/neintrotzdem_gefragtja/neinerror_messageText oder null Pflichterror_detailObjekt oder nullratingZahl oder null PflichtfeedbackText oder null Pflichtrated_atZeitpunkt (ISO 8601) oder null Pflichtrating_outdatedja/neinfeedback_replyText oder null Pflichtreplied_atZeitpunkt (ISO 8601) oder null PflichtAufbau der Antwort
{
"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"
]
}