Skip to content
Area

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.

33 addresses

GET /api/admin/blocklist may change

The blocklist

Titles nobody may request. Administrators only.

Fields and shape

Response

FieldType
media_typemovie | tv required
tmdb_idnumber required
titlestring required
poster_urlstring or null required
reasonstring or null required
created_attimestamp (ISO 8601) required

Response 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

FieldType
media_typemovie | tv required
tmdb_idnumber required
titlestring
poster_urlstring or null
reasonstring or null

Response

FieldType
media_typemovie | tv required
tmdb_idnumber required
titlestring required
poster_urlstring or null required
reasonstring or null required
created_attimestamp (ISO 8601) required

Response 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 required
tmdb_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

FieldType
instanzenlist of InstanzAntwort required
haengerlist of HaengerZeile required
laufendlist of LaufZeile required
gescheitertnumber
automatik_anboolean required
stand_amtimestamp (ISO 8601) required

Response 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

FieldType
anboolean required
beim_wegboolean
regelnlist of AutomatikRegel required
obergrenzenumber required
fenster_stundennumber required
wiederholt_abnumber required
wiederholt_tagenumber required

Response 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

FieldType
anboolean required
regelnobject

Response

FieldType
anboolean required
beim_wegboolean
regelnlist of AutomatikRegel required
obergrenzenumber required
fenster_stundennumber required
wiederholt_abnumber required
wiederholt_tagenumber required

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

Response

FieldType
idnumber required
amtimestamp (ISO 8601) required
kennungstring required
instanzstring required
media_typestring required
titelstring required
releasestring required
grundstring required
wasstring required
automatischboolean required
werstring or null required
ergebnisstring required

Response 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 required

Response

FieldType
pfadstring required
namestring required
groessenumber required
qualitaetstring required
sprachenlist of string required
zuordnungstring required
folgenlist of list of number required
zuordenbarboolean required
ablehnungenlist of AblehnungZeile required

Response 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 required

Request body

FieldType
neu_suchenboolean

Response

FieldType
gesuchtboolean required
befehlstring required

Response 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 required

Response

FieldType
gesuchtboolean required
befehlstring required

Response 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 required

Request body

FieldType
pfadelist of string required
trotzdemboolean

Response

FieldType
gesuchtboolean required
befehlstring required

Response 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

FieldType
idnumber required
positionnumber required
namestring required
aktivboolean required
bedingungenlist of object required
entscheidungfreigeben | ablehnen required
hausbestandboolean required
begruendungstring required
trotzdem_fragenboolean required
created_attimestamp (ISO 8601) required

Response 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

FieldType
namestring required
aktivboolean
bedingungenlist of BedingungIn required
entscheidungfreigeben | ablehnen required
hausbestandboolean
begruendungstring
trotzdem_fragenboolean

Response

FieldType
idnumber required
positionnumber required
namestring required
aktivboolean required
bedingungenlist of object required
entscheidungfreigeben | ablehnen required
hausbestandboolean required
begruendungstring required
trotzdem_fragenboolean required
created_attimestamp (ISO 8601) required

Response 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

FieldType
kennungstring required
artzahl | menge required
minnumber or null
maxnumber or null
stufenlist of number or null

Response 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

FieldType
reihenfolgelist of number required

Response

FieldType
idnumber required
positionnumber required
namestring required
aktivboolean required
bedingungenlist of object required
entscheidungfreigeben | ablehnen required
hausbestandboolean required
begruendungstring required
trotzdem_fragenboolean required
created_attimestamp (ISO 8601) required

Response 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 required

Request body

FieldType
namestring required
aktivboolean
bedingungenlist of BedingungIn required
entscheidungfreigeben | ablehnen required
hausbestandboolean
begruendungstring
trotzdem_fragenboolean

Response

FieldType
idnumber required
positionnumber required
namestring required
aktivboolean required
bedingungenlist of object required
entscheidungfreigeben | ablehnen required
hausbestandboolean required
begruendungstring required
trotzdem_fragenboolean required
created_attimestamp (ISO 8601) required

Response 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 query
user_idnumber or null query
feedbackboolean query
from_watchlistboolean query
fremde_fassungboolean query

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required
user_idnumber required
usernamestring required
display_namestring or null required
avatar_urlstring or null required
storageAnfragerSpeicher or null
requester_subscriptionslist of string
for_child_namestring or null
import_haengtstring or null

Response 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 required

Request body

FieldType
zieleobject
movieTargetChoice or null
tvTargetChoice or null
movie_uhdTargetChoice or null
tv_uhdTargetChoice or null

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required
user_idnumber required
usernamestring required
display_namestring or null required
avatar_urlstring or null required
storageAnfragerSpeicher or null
requester_subscriptionslist of string
for_child_namestring or null
import_haengtstring or null

Response 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 required

Request body

FieldType
root_folder_pathstring or null
quality_profile_idnumber or null

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required
user_idnumber required
usernamestring required
display_namestring or null required
avatar_urlstring or null required
storageAnfragerSpeicher or null
requester_subscriptionslist of string
for_child_namestring or null
import_haengtstring or null

Response 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 required

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required
user_idnumber required
usernamestring required
display_namestring or null required
avatar_urlstring or null required
storageAnfragerSpeicher or null
requester_subscriptionslist of string
for_child_namestring or null
import_haengtstring or null

Response 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 required

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required
user_idnumber required
usernamestring required
display_namestring or null required
avatar_urlstring or null required
storageAnfragerSpeicher or null
requester_subscriptionslist of string
for_child_namestring or null
import_haengtstring or null

Response 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 required

Request body

FieldType
reasonstring or null
blockboolean

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required
user_idnumber required
usernamestring required
display_namestring or null required
avatar_urlstring or null required
storageAnfragerSpeicher or null
requester_subscriptionslist of string
for_child_namestring or null
import_haengtstring or null

Response 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 required

Request body

FieldType
replystring required

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required
user_idnumber required
usernamestring required
display_namestring or null required
avatar_urlstring or null required
storageAnfragerSpeicher or null
requester_subscriptionslist of string
for_child_namestring or null
import_haengtstring or null

Response 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

FieldType
media_typemovie | tv required
fassungstring or null
tierstandard | uhd
tmdb_idnumber required
quality_profile_idnumber or null
root_folder_pathstring or null
monitor_futureboolean
tvdb_idnumber or null
seasonnumber or null
episodeslist of number or null
from_watchlistboolean

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required

Response 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

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required

Response 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

FieldType
movieQuotaInfo required
tvQuotaInfo required
auto_approveboolean required

Response 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 required

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required

Response 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 required

Request body

FieldType
ratingnumber required
commentstring or null

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required

Response 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 required

Response

FieldType
idnumber required
media_typemovie | tv required
fassungstring or null required
tierstandard | uhd required
tmdb_idnumber required
titlestring required
poster_pathstring or null required
release_datestring or null required
statuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred required
quality_profile_idnumber or null required
quality_profile_uhdboolean
root_folder_pathstring or null required
seasonnumber or null required
episodeslist of number or null
from_watchlistboolean required
arr_linkedboolean
requested_attimestamp (ISO 8601) required
approved_attimestamp (ISO 8601) or null required
completed_attimestamp (ISO 8601) or null required
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reasonstring or null required
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_messagestring or null required
error_detailobject or null
ratingnumber or null required
feedbackstring or null required
rated_attimestamp (ISO 8601) or null required
rating_outdatedboolean
feedback_replystring or null required
replied_attimestamp (ISO 8601) or null required

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