Zum Inhalt springen
Bereich

Medienserver

21 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 dreizehn.

21 Adressen

GET /api/admin/mediaserver/blocks may change

Blocked media-server accounts

Media-server accounts that are barred from signing in to Nexview. Administrators only.

Felder und Aufbau

Antwort

FeldArt
idZahl Pflicht
providerText Pflicht
account_idText Pflicht
usernameText oder null

Aufbau der Antwort

[
  {
    "id": "number",
    "provider": "string",
    "account_id": "string",
    "username": "string | null"
  }
]

DELETE /api/admin/mediaserver/blocks/{block_id} may change

Lift a block

This media-server account may sign in again afterwards.

Felder und Aufbau

Parameter

block_idZahl path Pflicht

POST /api/admin/mediaserver/connect/password may change

Connect a server with username and password

For servers that offer no broker flow. The counterpart to start/poll/select, where somebody confirms in a browser window instead.

Felder und Aufbau

Anfragekörper

FeldArt
providerText Pflicht
urlText Pflicht
usernameText Pflicht
passwordText Pflicht

Antwort

FeldArt
userUserPublic Pflicht
server_nameText Pflicht
server_urlText Pflicht
reachableja/nein Pflicht
warningText oder null

Aufbau der Antwort

{
  "user": {
    "id": "number",
    "username": "string",
    "role": "admin | approver | user | child",
    "display_name": "string | null",
    "email": "string | null",
    "email_verified": "boolean",
    "language": "string",
    "theme": "string",
    "is_active": "boolean",
    "auto_approve": "boolean",
    "auto_approve_movies": "boolean | null",
    "auto_approve_series": "boolean | null",
    "effective_auto_approve": "boolean",
    "effective_auto_approve_movies": "boolean"
  },
  "server_name": "string",
  "server_url": "string",
  "reachable": "boolean",
  "warning": "string | null"
}

POST /api/admin/mediaserver/connect/poll may change

Check whether the sign-in was confirmed

Once confirmed, returns the servers to choose from. The operation stays open on purpose: the provider's token is held by the broker until a server has actually been selected.

Felder und Aufbau

Anfragekörper

FeldArt
poll_tokenText Pflicht

Antwort

FeldArt
statusText Pflicht
serversListe von ServerOption
shared_hiddenZahl

Aufbau der Antwort

{
  "status": "string",
  "servers": [
    {
      "machine_id": "string",
      "name": "string",
      "url": "string",
      "owned": "boolean"
    }
  ],
  "shared_hidden": "number"
}

POST /api/admin/mediaserver/connect/select may change

Take a server into use

Adopts the chosen server and links the calling account to it in the same step.

Felder und Aufbau

Anfragekörper

FeldArt
poll_tokenText Pflicht
machine_idText Pflicht

Antwort

FeldArt
userUserPublic Pflicht
server_nameText Pflicht
server_urlText Pflicht
reachableja/nein Pflicht
warningText oder null

Aufbau der Antwort

{
  "user": {
    "id": "number",
    "username": "string",
    "role": "admin | approver | user | child",
    "display_name": "string | null",
    "email": "string | null",
    "email_verified": "boolean",
    "language": "string",
    "theme": "string",
    "is_active": "boolean",
    "auto_approve": "boolean",
    "auto_approve_movies": "boolean | null",
    "auto_approve_series": "boolean | null",
    "effective_auto_approve": "boolean",
    "effective_auto_approve_movies": "boolean"
  },
  "server_name": "string",
  "server_url": "string",
  "reachable": "boolean",
  "warning": "string | null"
}

POST /api/admin/mediaserver/connect/start may change

Start signing in with the provider

Begins the broker flow. No server is chosen yet - that happens after confirmation.

Felder und Aufbau

Anfragekörper

FeldArt
providerText

Antwort

FeldArt
poll_tokenText Pflicht
codeText Pflicht
auth_urlText Pflicht

Aufbau der Antwort

{
  "poll_token": "string",
  "code": "string",
  "auth_url": "string"
}

DELETE /api/admin/mediaserver/connection may change

Disconnect the media server

The users' links stay in place: reconnect the same server later and everything is still there. Use the consequences endpoint first to see who this would affect.

Felder und Aufbau

Parameter

providerText oder null query
bestaetigtja/nein query

GET /api/admin/mediaserver/connection/folgen may change

Who a disconnect would affect

Who would be affected - before the click, not after. Anyone who signs in through the media server and has no password of their own would be locked out.

Felder und Aufbau

Parameter

providerText oder null query

Antwort

FeldArt
verknuepftZahl Pflicht
gefaehrdetListe von BetroffenesKonto Pflicht

Aufbau der Antwort

{
  "verknuepft": "number",
  "gefaehrdet": [
    {
      "id": "number",
      "username": "string",
      "display_name": "string | null"
    }
  ]
}

GET /api/admin/mediaserver/library may change

State of the library comparison

Per provider when one is named. The card sits on the page of one server; without provider it would show a total that belongs to no server in particular.

Felder und Aufbau

Parameter

providerText oder null query

Antwort

FeldArt
countZahl Pflicht
updated_atZeitpunkt (ISO 8601) oder null

Aufbau der Antwort

{
  "count": "number",
  "updated_at": "ISO 8601 | null"
}

POST /api/admin/mediaserver/library/refresh may change

Compare the library now

In normal operation this happens in the background. The button is for the moment right after connecting - and so there is any way at all to see whether the connection works.

Felder und Aufbau

Parameter

providerText oder null query

Antwort

FeldArt
countZahl Pflicht
updated_atZeitpunkt (ISO 8601) oder null

Aufbau der Antwort

{
  "count": "number",
  "updated_at": "ISO 8601 | null"
}

POST /api/auth/mediaserver/link/password may change

Link a media-server account with a password

Attaches a media-server account to the Nexview account you are already signed in to.

Felder und Aufbau

Anfragekörper

FeldArt
providerText Pflicht
usernameText Pflicht
passwordText Pflicht

Antwort

FeldArt
statusText Pflicht
userUserPublic oder null

Aufbau der Antwort

{
  "status": "string",
  "user": {
    "id": "number",
    "username": "string",
    "role": "admin | approver | user | child",
    "display_name": "string | null",
    "email": "string | null",
    "email_verified": "boolean",
    "language": "string",
    "theme": "string",
    "is_active": "boolean",
    "auto_approve": "boolean",
    "auto_approve_movies": "boolean | null",
    "auto_approve_series": "boolean | null",
    "effective_auto_approve": "boolean",
    "effective_auto_approve_movies": "boolean"
  }
}

POST /api/auth/mediaserver/link/poll may change

Check whether the link was confirmed

Polls the broker; once the user has confirmed in the provider's window, the link is made.

Felder und Aufbau

Anfragekörper

FeldArt
poll_tokenText Pflicht

Antwort

FeldArt
statusText Pflicht
userUserPublic oder null

Aufbau der Antwort

{
  "status": "string",
  "user": {
    "id": "number",
    "username": "string",
    "role": "admin | approver | user | child",
    "display_name": "string | null",
    "email": "string | null",
    "email_verified": "boolean",
    "language": "string",
    "theme": "string",
    "is_active": "boolean",
    "auto_approve": "boolean",
    "auto_approve_movies": "boolean | null",
    "auto_approve_series": "boolean | null",
    "effective_auto_approve": "boolean",
    "effective_auto_approve_movies": "boolean"
  }
}

POST /api/auth/mediaserver/link/start may change

Start linking a media-server account

Opens the broker flow for attaching a media-server account to the account you are signed in to.

Felder und Aufbau

Antwort

FeldArt
poll_tokenText Pflicht
codeText Pflicht
auth_urlText Pflicht

Aufbau der Antwort

{
  "poll_token": "string",
  "code": "string",
  "auth_url": "string"
}

POST /api/auth/mediaserver/login/password may change

Sign in with media-server credentials

Signs in to Nexview using the username and password of the media server.

Felder und Aufbau

Anfragekörper

FeldArt
providerText Pflicht
usernameText Pflicht
passwordText Pflicht

Antwort

FeldArt
statusText Pflicht
tokensTokenPair oder null

Aufbau der Antwort

{
  "status": "string",
  "tokens": {
    "access_token": "string",
    "token_type": "string",
    "expires_in": "number"
  }
}

POST /api/auth/mediaserver/login/poll may change

Check whether the sign-in was confirmed

Polls the broker; once confirmed, returns Nexview tokens for the linked account.

Felder und Aufbau

Anfragekörper

FeldArt
poll_tokenText Pflicht

Antwort

FeldArt
statusText Pflicht
tokensTokenPair oder null

Aufbau der Antwort

{
  "status": "string",
  "tokens": {
    "access_token": "string",
    "token_type": "string",
    "expires_in": "number"
  }
}

POST /api/auth/mediaserver/login/start may change

Start signing in via the media server

Opens the broker flow for signing in to Nexview with a media-server account.

Felder und Aufbau

Antwort

FeldArt
poll_tokenText Pflicht
codeText Pflicht
auth_urlText Pflicht

Aufbau der Antwort

{
  "poll_token": "string",
  "code": "string",
  "auth_url": "string"
}

POST /api/watchlist/connect/poll may change

Check whether the watchlist link was confirmed

Stores the personal access once confirmed. It has to be the same account that is already linked - otherwise somebody could hang a stranger's watchlist on their own profile.

Felder und Aufbau

Anfragekörper

FeldArt
poll_tokenText Pflicht

Antwort

FeldArt
statusText
connectedja/nein Pflicht
linkedja/nein Pflicht

Aufbau der Antwort

{
  "status": "string",
  "connected": "boolean",
  "linked": "boolean"
}

POST /api/watchlist/connect/start may change

Start linking a watchlist

Opens the provider flow for granting Nexview access to a personal watchlist.

Felder und Aufbau

Antwort

FeldArt
poll_tokenText Pflicht
codeText Pflicht
auth_urlText Pflicht

Aufbau der Antwort

{
  "poll_token": "string",
  "code": "string",
  "auth_url": "string"
}

GET /api/watchlist/plex may change

Your Plex watchlist

What is on the linked watchlist, and which of it is already here.

Felder und Aufbau

Antwort

FeldArt
moviesListe von MediaItem Pflicht
seriesListe von MediaItem Pflicht
unmatchedZahl Pflicht

Aufbau der Antwort

{
  "movies": [
    {
      "media_type": "movie | tv",
      "tmdb_id": "number",
      "tvdb_id": "number | null",
      "title": "string",
      "original_title": "string | null",
      "overview": "string",
      "poster_url": "string | null",
      "backdrop_url": "string | null",
      "release_date": "string | null",
      "vote_average": "number",
      "vote_count": "number",
      "genres": [
        "string"
      ],
      "runtime_minutes": "number | null",
      "certification": "string | null"
    }
  ],
  "series": [
    {
      "media_type": "movie | tv",
      "tmdb_id": "number",
      "tvdb_id": "number | null",
      "title": "string",
      "original_title": "string | null",
      "overview": "string",
      "poster_url": "string | null",
      "backdrop_url": "string | null",
      "release_date": "string | null",
      "vote_average": "number",
      "vote_count": "number",
      "genres": [
        "string"
      ],
      "runtime_minutes": "number | null",
      "certification": "string | null"
    }
  ],
  "unmatched": "number"
}

GET /api/watchlist/status may change

Is a watchlist available

Whether a personal access exists and whether an account is linked.

Felder und Aufbau

Antwort

FeldArt
statusText
connectedja/nein Pflicht
linkedja/nein Pflicht

Aufbau der Antwort

{
  "status": "string",
  "connected": "boolean",
  "linked": "boolean"
}

Nexview nutzt TMDB als Datenquelle, stammt aber nicht von TMDB und wird von TMDB nicht unterstützt. Die Bildschirmfotos stammen aus einer Testinstallation; die darin gezeigten Konten und Anfragen sind erfunden.

Nexview steht unter der AGPL-3.0-Lizenz. Radarr, Sonarr, Plex, Docker, Synology, IMDb, Rotten Tomatoes, Metacritic und JustWatch sind Marken der jeweiligen Rechteinhaber und werden hier ausschließlich beschreibend genannt. Ein Teil der Symbole auf dieser Seite beruht auf Lucide (ISC-Lizenz) — Rechte teils bei Cole Bemis 2013–2022 als Bestandteil von Feather (MIT-Lizenz), im Übrigen bei den Lucide-Mitwirkenden ab 2022.