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.
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
idZahl PflichtproviderText Pflichtaccount_idText PflichtusernameText oder nullAufbau 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
providerText PflichturlText PflichtusernameText PflichtpasswordText PflichtAntwort
userUserPublic Pflichtserver_nameText Pflichtserver_urlText Pflichtreachableja/nein PflichtwarningText oder nullAufbau 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
poll_tokenText PflichtAntwort
statusText PflichtserversListe von ServerOptionshared_hiddenZahlAufbau 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
poll_tokenText Pflichtmachine_idText PflichtAntwort
userUserPublic Pflichtserver_nameText Pflichtserver_urlText Pflichtreachableja/nein PflichtwarningText oder nullAufbau 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
providerTextAntwort
poll_tokenText PflichtcodeText Pflichtauth_urlText PflichtAufbau 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 querybestaetigtja/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 queryAntwort
verknuepftZahl PflichtgefaehrdetListe von BetroffenesKonto PflichtAufbau 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 queryAntwort
countZahl Pflichtupdated_atZeitpunkt (ISO 8601) oder nullAufbau 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 queryAntwort
countZahl Pflichtupdated_atZeitpunkt (ISO 8601) oder nullAufbau der Antwort
{
"count": "number",
"updated_at": "ISO 8601 | null"
}
DELETE
/api/auth/mediaserver/link
may change
Unlink your own media-server account
provider unlinks exactly that provider. Without it, all of them go - the way it worked when there was only one.
Felder und Aufbau
Parameter
providerText oder null queryAntwort
idZahl PflichtusernameText Pflichtroleadmin | approver | user | child Pflichtdisplay_nameText oder null PflichtemailText oder null Pflichtemail_verifiedja/nein PflichtlanguageText PflichtthemeText Pflichtis_activeja/nein Pflichtauto_approveja/nein Pflichtauto_approve_moviesja/nein oder null Pflichtauto_approve_seriesja/nein oder null Pflichteffective_auto_approveja/nein Pflichteffective_auto_approve_moviesja/nein Pflichteffective_auto_approve_seriesja/nein Pflichtcan_approveja/nein Pflichtquota_movies_limitZahl Pflichtquota_series_limitZahl Pflichtstorage_limit_gbZahlquota_reset_atZeitpunkt (ISO 8601) oder null Pflichtblocked_movie_profilesListe von Zahl Pflichtblocked_series_profilesListe von Zahl Pflichtcan_request_uhd_moviesja/nein Pflichtcan_request_uhd_seriesja/nein Pflichtauto_approve_uhdja/nein Pflichteffective_auto_approve_uhdja/nein Pflichtblocked_movie_uhd_profilesListe von Zahl Pflichtblocked_series_uhd_profilesListe von Zahl Pflichtavatar_urlText oder null Pflichtcreated_atZeitpunkt (ISO 8601) Pflichtlast_login_atZeitpunkt (ISO 8601) oder null Pflichtmail_download_completeja/nein Pflichtmail_request_pendingja/nein Pflichtmail_request_decidedja/nein Pflichtmail_feedbackja/nein Pflichtmail_ticketja/nein Pflichtmail_watchja/nein Pflichtmail_user_importedja/nein Pflichtmail_mediaserver_reconnectja/nein Pflichtmail_storageja/nein Pflichtmail_child_wishja/nein Pflichtmail_cleanupja/nein Pflichtwatchlist_connectedja/nein Pflichtwatchlist_token_invalidja/neinmediaserver_providerText oder null Pflichtmediaserver_usernameText oder null Pflichtmediaserver_linkedja/nein Pflichtmediaserver_accountsListe von VerknuepftesKontohas_passwordja/nein Pflichtdiscover_regionText oder null PflichtageZahl oder null Pflichtrating_regionText oder null Pflichthide_unratedja/nein Pflichtcan_manage_childrenja/neinparent_idZahl oder nullAufbau der Antwort
{
"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/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
providerText PflichtusernameText PflichtpasswordText PflichtAntwort
statusText PflichtuserUserPublic oder nullAufbau 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
poll_tokenText PflichtAntwort
statusText PflichtuserUserPublic oder nullAufbau 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
poll_tokenText PflichtcodeText Pflichtauth_urlText PflichtAufbau 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
providerText PflichtusernameText PflichtpasswordText PflichtAntwort
statusText PflichttokensTokenPair oder nullAufbau 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
poll_tokenText PflichtAntwort
statusText PflichttokensTokenPair oder nullAufbau 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
poll_tokenText PflichtcodeText Pflichtauth_urlText PflichtAufbau 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
poll_tokenText PflichtAntwort
statusTextconnectedja/nein Pflichtlinkedja/nein PflichtAufbau 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
poll_tokenText PflichtcodeText Pflichtauth_urlText PflichtAufbau 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
moviesListe von MediaItem PflichtseriesListe von MediaItem PflichtunmatchedZahl PflichtAufbau 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
statusTextconnectedja/nein Pflichtlinkedja/nein PflichtAufbau der Antwort
{
"status": "string",
"connected": "boolean",
"linked": "boolean"
}