Zum Inhalt springen
Bereich

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.

33 Adressen

GET /api/admin/blocklist may change

The blocklist

Titles nobody may request. Administrators only.

Felder und Aufbau

Antwort

FeldArt
media_typemovie | tv Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_urlText oder null Pflicht
reasonText oder null Pflicht
created_atZeitpunkt (ISO 8601) Pflicht

Aufbau 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

FeldArt
media_typemovie | tv Pflicht
tmdb_idZahl Pflicht
titleText
poster_urlText oder null
reasonText oder null

Antwort

FeldArt
media_typemovie | tv Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_urlText oder null Pflicht
reasonText oder null Pflicht
created_atZeitpunkt (ISO 8601) Pflicht

Aufbau 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 Pflicht
tmdb_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

FeldArt
instanzenListe von InstanzAntwort Pflicht
haengerListe von HaengerZeile Pflicht
laufendListe von LaufZeile Pflicht
gescheitertZahl
automatik_anja/nein Pflicht
stand_amZeitpunkt (ISO 8601) Pflicht

Aufbau 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

FeldArt
anja/nein Pflicht
beim_wegja/nein
regelnListe von AutomatikRegel Pflicht
obergrenzeZahl Pflicht
fenster_stundenZahl Pflicht
wiederholt_abZahl Pflicht
wiederholt_tageZahl Pflicht

Aufbau 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

FeldArt
anja/nein Pflicht
regelnObjekt

Antwort

FeldArt
anja/nein Pflicht
beim_wegja/nein
regelnListe von AutomatikRegel Pflicht
obergrenzeZahl Pflicht
fenster_stundenZahl Pflicht
wiederholt_abZahl Pflicht
wiederholt_tageZahl Pflicht

Aufbau 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 query

Antwort

FeldArt
idZahl Pflicht
amZeitpunkt (ISO 8601) Pflicht
kennungText Pflicht
instanzText Pflicht
media_typeText Pflicht
titelText Pflicht
releaseText Pflicht
grundText Pflicht
wasText Pflicht
automatischja/nein Pflicht
werText oder null Pflicht
ergebnisText Pflicht

Aufbau 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 Pflicht

Antwort

FeldArt
pfadText Pflicht
nameText Pflicht
groesseZahl Pflicht
qualitaetText Pflicht
sprachenListe von Text Pflicht
zuordnungText Pflicht
folgenListe von Liste von Zahl Pflicht
zuordenbarja/nein Pflicht
ablehnungenListe von AblehnungZeile Pflicht

Aufbau 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 Pflicht

Anfragekörper

FeldArt
neu_suchenja/nein

Antwort

FeldArt
gesuchtja/nein Pflicht
befehlText Pflicht

Aufbau 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 Pflicht

Antwort

FeldArt
gesuchtja/nein Pflicht
befehlText Pflicht

Aufbau 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 Pflicht

Anfragekörper

FeldArt
pfadeListe von Text Pflicht
trotzdemja/nein

Antwort

FeldArt
gesuchtja/nein Pflicht
befehlText Pflicht

Aufbau 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

FeldArt
idZahl Pflicht
positionZahl Pflicht
nameText Pflicht
aktivja/nein Pflicht
bedingungenListe von Objekt Pflicht
entscheidungfreigeben | ablehnen Pflicht
hausbestandja/nein Pflicht
begruendungText Pflicht
trotzdem_fragenja/nein Pflicht
created_atZeitpunkt (ISO 8601) Pflicht

Aufbau 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

FeldArt
nameText Pflicht
aktivja/nein
bedingungenListe von BedingungIn Pflicht
entscheidungfreigeben | ablehnen Pflicht
hausbestandja/nein
begruendungText
trotzdem_fragenja/nein

Antwort

FeldArt
idZahl Pflicht
positionZahl Pflicht
nameText Pflicht
aktivja/nein Pflicht
bedingungenListe von Objekt Pflicht
entscheidungfreigeben | ablehnen Pflicht
hausbestandja/nein Pflicht
begruendungText Pflicht
trotzdem_fragenja/nein Pflicht
created_atZeitpunkt (ISO 8601) Pflicht

Aufbau 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

FeldArt
kennungText Pflicht
artzahl | menge Pflicht
minZahl oder null
maxZahl oder null
stufenListe von Zahl oder null

Aufbau 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

FeldArt
reihenfolgeListe von Zahl Pflicht

Antwort

FeldArt
idZahl Pflicht
positionZahl Pflicht
nameText Pflicht
aktivja/nein Pflicht
bedingungenListe von Objekt Pflicht
entscheidungfreigeben | ablehnen Pflicht
hausbestandja/nein Pflicht
begruendungText Pflicht
trotzdem_fragenja/nein Pflicht
created_atZeitpunkt (ISO 8601) Pflicht

Aufbau 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 Pflicht

Anfragekörper

FeldArt
nameText Pflicht
aktivja/nein
bedingungenListe von BedingungIn Pflicht
entscheidungfreigeben | ablehnen Pflicht
hausbestandja/nein
begruendungText
trotzdem_fragenja/nein

Antwort

FeldArt
idZahl Pflicht
positionZahl Pflicht
nameText Pflicht
aktivja/nein Pflicht
bedingungenListe von Objekt Pflicht
entscheidungfreigeben | ablehnen Pflicht
hausbestandja/nein Pflicht
begruendungText Pflicht
trotzdem_fragenja/nein Pflicht
created_atZeitpunkt (ISO 8601) Pflicht

Aufbau 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 query
user_idZahl oder null query
feedbackja/nein query
from_watchlistja/nein query
fremde_fassungja/nein query

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht
user_idZahl Pflicht
usernameText Pflicht
display_nameText oder null Pflicht
avatar_urlText oder null Pflicht
storageAnfragerSpeicher oder null
requester_subscriptionsListe von Text
for_child_nameText oder null
import_haengtText oder null

Aufbau 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 Pflicht

Anfragekörper

FeldArt
zieleObjekt
movieTargetChoice oder null
tvTargetChoice oder null
movie_uhdTargetChoice oder null
tv_uhdTargetChoice oder null

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht
user_idZahl Pflicht
usernameText Pflicht
display_nameText oder null Pflicht
avatar_urlText oder null Pflicht
storageAnfragerSpeicher oder null
requester_subscriptionsListe von Text
for_child_nameText oder null
import_haengtText oder null

Aufbau 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 Pflicht

Anfragekörper

FeldArt
root_folder_pathText oder null
quality_profile_idZahl oder null

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht
user_idZahl Pflicht
usernameText Pflicht
display_nameText oder null Pflicht
avatar_urlText oder null Pflicht
storageAnfragerSpeicher oder null
requester_subscriptionsListe von Text
for_child_nameText oder null
import_haengtText oder null

Aufbau 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 Pflicht

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht
user_idZahl Pflicht
usernameText Pflicht
display_nameText oder null Pflicht
avatar_urlText oder null Pflicht
storageAnfragerSpeicher oder null
requester_subscriptionsListe von Text
for_child_nameText oder null
import_haengtText oder null

Aufbau 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 Pflicht

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht
user_idZahl Pflicht
usernameText Pflicht
display_nameText oder null Pflicht
avatar_urlText oder null Pflicht
storageAnfragerSpeicher oder null
requester_subscriptionsListe von Text
for_child_nameText oder null
import_haengtText oder null

Aufbau 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 Pflicht

Anfragekörper

FeldArt
reasonText oder null
blockja/nein

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht
user_idZahl Pflicht
usernameText Pflicht
display_nameText oder null Pflicht
avatar_urlText oder null Pflicht
storageAnfragerSpeicher oder null
requester_subscriptionsListe von Text
for_child_nameText oder null
import_haengtText oder null

Aufbau 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 Pflicht

Anfragekörper

FeldArt
replyText Pflicht

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht
user_idZahl Pflicht
usernameText Pflicht
display_nameText oder null Pflicht
avatar_urlText oder null Pflicht
storageAnfragerSpeicher oder null
requester_subscriptionsListe von Text
for_child_nameText oder null
import_haengtText oder null

Aufbau 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

FeldArt
media_typemovie | tv Pflicht
fassungText oder null
tierstandard | uhd
tmdb_idZahl Pflicht
quality_profile_idZahl oder null
root_folder_pathText oder null
monitor_futureja/nein
tvdb_idZahl oder null
seasonZahl oder null
episodesListe von Zahl oder null
from_watchlistja/nein

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht

Aufbau 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

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht

Aufbau 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

FeldArt
movieQuotaInfo Pflicht
tvQuotaInfo Pflicht
auto_approveja/nein Pflicht

Aufbau 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 Pflicht

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht

Aufbau 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 Pflicht

Anfragekörper

FeldArt
ratingZahl Pflicht
commentText oder null

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht

Aufbau 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 Pflicht

Antwort

FeldArt
idZahl Pflicht
media_typemovie | tv Pflicht
fassungText oder null Pflicht
tierstandard | uhd Pflicht
tmdb_idZahl Pflicht
titleText Pflicht
poster_pathText oder null Pflicht
release_dateText oder null Pflicht
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred Pflicht
quality_profile_idZahl oder null Pflicht
quality_profile_uhdja/nein
root_folder_pathText oder null Pflicht
seasonZahl oder null Pflicht
episodesListe von Zahl oder null
from_watchlistja/nein Pflicht
arr_linkedja/nein
requested_atZeitpunkt (ISO 8601) Pflicht
approved_atZeitpunkt (ISO 8601) oder null Pflicht
completed_atZeitpunkt (ISO 8601) oder null Pflicht
approved_by_nameText oder null
last_checked_atZeitpunkt (ISO 8601) oder null
laedt_fortschrittZahl oder null
laedt_seitZeitpunkt (ISO 8601) oder null
rejection_reasonText oder null Pflicht
regel_nameText oder null
darf_trotzdem_fragenja/nein
trotzdem_gefragtja/nein
error_messageText oder null Pflicht
error_detailObjekt oder null
ratingZahl oder null Pflicht
feedbackText oder null Pflicht
rated_atZeitpunkt (ISO 8601) oder null Pflicht
rating_outdatedja/nein
feedback_replyText oder null Pflicht
replied_atZeitpunkt (ISO 8601) oder null Pflicht

Aufbau 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"
  ]
}