Skip to content
Area

Requests

26 addresses. Not promised — they belong to the internals and can change with any release. If you need something to stay put, use the promised thirteen.

26 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/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

Response

FieldType
idnumber required
media_typemovie | tv 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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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

Response shape

[
  {
    "id": "number",
    "media_type": "movie | tv",
    "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",
    "root_folder_path": "string | null",
    "season": "number | null",
    "from_watchlist": "boolean",
    "requested_at": "ISO 8601",
    "approved_at": "ISO 8601 | null"
  }
]

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
movieTargetChoice or null
tvTargetChoice or null
movie_uhdTargetChoice or null
tv_uhdTargetChoice or null

Response

FieldType
idnumber required
media_typemovie | tv 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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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

Response shape

[
  {
    "id": "number",
    "media_type": "movie | tv",
    "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",
    "root_folder_path": "string | null",
    "season": "number | null",
    "from_watchlist": "boolean",
    "requested_at": "ISO 8601",
    "approved_at": "ISO 8601 | null"
  }
]

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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

Response shape

{
  "id": "number",
  "media_type": "movie | tv",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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

Response shape

{
  "id": "number",
  "media_type": "movie | tv",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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

Response shape

{
  "id": "number",
  "media_type": "movie | tv",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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

Response shape

{
  "id": "number",
  "media_type": "movie | tv",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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

Response shape

{
  "id": "number",
  "media_type": "movie | tv",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

GET /api/admin/sicherungen may change

All backups

What backups exist, how big they are, when they were made, whether automatic or manual, and whether this version could restore each one.

Fields and shape

Response

FieldType
eintraegelist of SicherungPublic required
versionstring required
ordnerstring required

Response shape

{
  "eintraege": [
    {
      "name": "string",
      "groesse": "number",
      "erstellt": "string",
      "art": "string",
      "kommentar": "string",
      "version": "string",
      "einspielbar": "boolean",
      "grund": "string"
    }
  ],
  "version": "string",
  "ordner": "string"
}

POST /api/admin/sicherungen may change

Make a backup now

Writes a fresh backup and marks it as manual. Caches are stripped - they are nine tenths of the database and Nexview fetches them again by itself.

Fields and shape

Request body

FieldType
kommentarstring

Response

FieldType
namestring required
groessenumber required
erstelltstring required
artstring required
kommentarstring required
versionstring required
einspielbarboolean required
grundstring required

Response shape

{
  "name": "string",
  "groesse": "number",
  "erstellt": "string",
  "art": "string",
  "kommentar": "string",
  "version": "string",
  "einspielbar": "boolean",
  "grund": "string"
}

POST /api/admin/sicherungen/einspielen may change

Restore into the running installation

⚠️ Afterwards nobody is signed in any more, including whoever triggered it - the accounts in the backup may not be the ones from a minute ago. A safety copy of the current state is written first.

Fields and shape

Response

FieldType
versionstring required
erstelltstring required
artstring required
kommentarstring required
einspielbarboolean required
grundstring required
schluessel_aus_umgebungboolean required

Response shape

{
  "version": "string",
  "erstellt": "string",
  "art": "string",
  "kommentar": "string",
  "einspielbar": "boolean",
  "grund": "string",
  "schluessel_aus_umgebung": "boolean"
}

POST /api/admin/sicherungen/pruefen may change

Inspect a backup

Reports what is in it and whether this version can restore it. Nothing is replaced. A backup from a newer version is refused: the database can only be migrated forward.

Fields and shape

Response

FieldType
versionstring required
erstelltstring required
artstring required
kommentarstring required
einspielbarboolean required
grundstring required
schluessel_aus_umgebungboolean required

Response shape

{
  "version": "string",
  "erstellt": "string",
  "art": "string",
  "kommentar": "string",
  "einspielbar": "boolean",
  "grund": "string",
  "schluessel_aus_umgebung": "boolean"
}

DELETE /api/admin/sicherungen/{name} may change

Delete a backup

⚠️ A delete button next to backups removes exactly what matters in an emergency, so callers are expected to ask first.

Fields and shape

Parameters

namestring path required

POST /api/admin/sicherungen/{name}/archiv may change

Download a backup as an encrypted ZIP

⚠️ Deliberately POST and not GET: the password belongs in the body. In an address it would end up in the browser history and in every proxy log along the way. The archive is a plain AES ZIP - openable with 7-Zip, so nobody depends on Nexview to get at their own data.

Fields and shape

Parameters

namestring path required

Request body

FieldType
passwortstring required

GET /api/admin/stats may change

Numbers for the dashboard

Counts for requests, downloads, quotas and ratings across the installation.

Fields and shape

Response

FieldType
totalsTotalsPublic required
userslist of UserStatsPublic required
historylist of MonthPoint required
most_requestedlist of PopularTitle required

Response shape

{
  "totals": {
    "requests": "number",
    "movies": "number",
    "series": "number",
    "downloaded": "number",
    "downloaded_movies": "number",
    "downloaded_series": "number",
    "pending": "number",
    "rejected": "number",
    "cancelled": "number",
    "failed": "number",
    "active_users": "number",
    "ratings": "number",
    "average_rating": "number | null",
    "poor_ratings": "number"
  },
  "users": [
    {
      "user_id": "number",
      "username": "string",
      "display_name": "string | null",
      "avatar_url": "string | null",
      "role": "string",
      "total": "number",
      "movies": "number",
      "series": "number",
      "downloaded": "number",
      "pending": "number",
      "rejected": "number",
      "cancelled": "number",
      "failed": "number",
      "ratings": "number"
    }
  ],
  "history": [
    {
      "month": "string",
      "movies": "number",
      "series": "number"
    }
  ],
  "most_requested": [
    {
      "media_type": "string",
      "tmdb_id": "number",
      "title": "string",
      "poster_path": "string | null",
      "count": "number"
    }
  ]
}

GET /api/admin/stats/aufraeumen may change

What nobody watches any more

Titles in the whole library that nobody has watched for a long time, largest first - including the house collection. Two clocks decide, not one: an item appears only if nobody watched it in the chosen period and it has been here at least that long. Without the second clock the 60 GB file that arrived yesterday would top the list before anyone had a chance to watch it. Administrators only, unlike the rest of the statistics: acting on this list is an administrator's job anyway, and the rows name who last watched what.

Fields and shape

Parameters

monatenumber query
grenzenumber query
suchestring query
artmovie | tv or null query
nur_vorgemerktboolean query

Response

FieldType
postenlist of AufraeumPosten required
gesamt_anzahlnumber required
gesamt_bytesnumber required
monatenumber required
grundlageAufraeumGrundlage required
ohne_datumnumber required
gesehen_ohne_datumnumber

Response shape

{
  "posten": [
    {
      "posten_id": "number",
      "media_type": "string",
      "tmdb_id": "number | null",
      "tvdb_id": "number | null",
      "season": "number | null",
      "tier": "string",
      "title": "string",
      "size_bytes": "number",
      "state": "string",
      "besitzer": "string | null",
      "zuletzt_gesehen": "ISO 8601 | null",
      "gesehen_von": [
        "string"
      ],
      "bewertung": "number | null",
      "bewertungen": "number"
    }
  ],
  "gesamt_anzahl": "number",
  "gesamt_bytes": "number",
  "monate": "number",
  "grundlage": {
    "konten_gesamt": "number",
    "konten_verknuepft": "number",
    "ohne_verknuepfung": [
      "string"
    ],
    "vollstaendig": "boolean"
  },
  "ohne_datum": "number",
  "gesehen_ohne_datum": "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
tierstandard | uhd
tmdb_idnumber required
quality_profile_idnumber or null
root_folder_pathstring or null
monitor_futureboolean
seasonnumber or null
from_watchlistboolean

Response

FieldType
idnumber required
media_typemovie | tv 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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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",
    "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",
    "root_folder_path": "string | null",
    "season": "number | null",
    "from_watchlist": "boolean",
    "requested_at": "ISO 8601",
    "approved_at": "ISO 8601 | null"
  }
]

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

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
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
root_folder_pathstring or null required
seasonnumber or null required
from_watchlistboolean required
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
rejection_reasonstring or null required
error_messagestring or null required
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",
  "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",
  "root_folder_path": "string | null",
  "season": "number | null",
  "from_watchlist": "boolean",
  "requested_at": "ISO 8601",
  "approved_at": "ISO 8601 | null"
}

Nexview uses TMDB as its data source but is not from TMDB and is not endorsed or certified by TMDB. The screenshots come from a test installation; the accounts and requests shown in them are made up.

Nexview is published under the AGPL-3.0 licence. Radarr, Sonarr, Plex, Docker, Synology, IMDb, Rotten Tomatoes, Metacritic and JustWatch are trademarks of their respective owners and are named here for descriptive purposes only. Some of the icons on this page are based on Lucide (ISC licence) — copyright held in part by Cole Bemis 2013–2022 as part of Feather (MIT licence), otherwise by the Lucide contributors from 2022.