Skip to content
NEXVIEW

API · Area

iPhone app.

81 addresses without a promise. They are internal: the interface talks to the server through them, and they can change with any release. If you need something to stay put, use the 19 promised ones under /api/v1.

Good to knowGenerated from Nexview 1.4.0.

GET/api/app/1/admin/blocklistThe blocklistmay change

Same as GET /api/admin/blocklist in the web interface, for the iPhone app.

Response BlockedOut

FieldType
media_type *movie | tv
tmdb_id *number
title *string
poster_url *string or null
reason *string or null
created_at *timestamp (ISO 8601)

Response shape

[
  {
    "media_type": "movie | tv",
    "tmdb_id": "number",
    "title": "string",
    "poster_url": "string | null",
    "reason": "string | null",
    "created_at": "ISO 8601"
  }
]
DELETE/api/app/1/admin/blocklist/{media_type}/{tmdb_id}Take a title off the blocklistmay change

Same as DELETE /api/admin/blocklist/{media_type}/{tmdb_id} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv
tmdb_id *number
GET/api/app/1/admin/dashboardThe operator's overviewmay change

Same as GET /api/admin/dashboard in the web interface, for the iPhone app.

Response DashboardStand

FieldType
befunde *list of BefundPublic
zaehler *object
ungesehennumber
zahlen *HandlungsZahlen
verlauf *list of VerlaufsPunkt
traeger *Datentraeger or null

Response shape

{
  "befunde": [
    {
      "schluessel": "string",
      "kennung": "string",
      "schwere": "string",
      "bereich": "string",
      "werte": "object",
      "ziel": "string | null",
      "wortlaut": "string | null"
    }
  ],
  "zaehler": "object",
  "ungesehen": "number",
  "zahlen": {
    "freigaben_offen": "number",
    "laeuft": "number",
    "tickets_offen": "number",
    "rueckmeldungen_offen": "number"
  },
  "verlauf": [
    {
      "tag": "string",
      "belegt_bytes": "number",
      "frei_bytes": "number"
    }
  ],
  "traeger": {
    "gesamt_bytes": "number",
    "frei_bytes": "number",
    "medien_bytes": "number"
  }
}
GET/api/app/1/admin/downloadsWhat is stuck and what is loadingmay change

Same as GET /api/admin/downloads in the web interface, for the iPhone app.

Response DownloadsStand

FieldType
instanzen *list of InstanzAntwort
haenger *list of HaengerZeile
laufend *list of LaufZeile
gescheitertnumber
automatik_an *boolean
stand_am *timestamp (ISO 8601)

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/app/1/admin/downloads/{haenger_id}/filesFiles of a stuck downloadmay change

Same as GET /api/admin/downloads/{haenger_id}/dateien in the web interface, for the iPhone app.

Parameters

NameType
haenger_id *number

Response KandidatZeile

FieldType
pfad *string
name *string
groesse *number
qualitaet *string
sprachen *list of string
zuordnung *string
folgen *list of list of number
zuordenbar *boolean
ablehnungen *list of AblehnungZeile

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/app/1/admin/downloads/{haenger_id}/importImport a chosen filemay change

Same as POST /api/admin/downloads/{haenger_id}/importieren in the web interface, for the iPhone app.

Parameters

NameType
haenger_id *number

Request body app__routers__downloads__ImportWunsch

FieldType
pfade *list of string
trotzdemboolean

Response AktionsAntwort

FieldType
gesucht *boolean
befehl *string

Response shape

{
  "gesucht": "boolean",
  "befehl": "string"
}
POST/api/app/1/admin/downloads/{haenger_id}/removeRemove a stuck downloadmay change

Same as POST /api/admin/downloads/{haenger_id}/entfernen in the web interface, for the iPhone app.

Parameters

NameType
haenger_id *number

Request body EntfernenWunsch

FieldType
neu_suchenboolean

Response AktionsAntwort

FieldType
gesucht *boolean
befehl *string

Response shape

{
  "gesucht": "boolean",
  "befehl": "string"
}
POST/api/app/1/admin/downloads/{haenger_id}/retryTry a stuck download againmay change

Same as POST /api/admin/downloads/{haenger_id}/erneut in the web interface, for the iPhone app.

Parameters

NameType
haenger_id *number

Response AktionsAntwort

FieldType
gesucht *boolean
befehl *string

Response shape

{
  "gesucht": "boolean",
  "befehl": "string"
}
GET/api/app/1/admin/invitationsOpen invitationsmay change

Same as GET /api/users/invitations in the web interface, for the iPhone app.

Response InvitationPublic

FieldType
id *number
email *string
role *admin | approver | user | child
created_at *timestamp (ISO 8601)
expires_at *timestamp (ISO 8601)
eingeloest_amtimestamp (ISO 8601) or null
kontostring or null
entfallenlist of string
serverlist of ServerZiel

Response shape

[
  {
    "id": "number",
    "email": "string",
    "role": "admin | approver | user | child",
    "created_at": "ISO 8601",
    "expires_at": "ISO 8601",
    "eingeloest_am": "ISO 8601 | null",
    "konto": "string | null",
    "entfallen": [
      "string"
    ],
    "server": [
      {
        "provider": "string",
        "label": "string",
        "bibliotheken": [
          "string"
        ],
        "zustand": "string",
        "fehler": "object | null",
        "nachholbar": "boolean"
      }
    ]
  }
]
POST/api/app/1/admin/invitationsInvite someonemay change

Same as POST /api/users/invitations in the web interface, for the iPhone app.

Request body InvitationCreate

FieldType
roleadmin | approver | user | child
auto_approve_moviesboolean
auto_approve_seriesboolean
fassungenlist of FassungRechtWunsch
can_request_uhd_moviesboolean
can_request_uhd_seriesboolean
auto_approve_uhdboolean
hausordnungboolean
email *string
quota_movies_limitnumber
quota_series_limitnumber
storage_limit_gbnumber
serverlist of ServerWunsch

Response InvitationCreated

FieldType
id *number
email *string
role *admin | approver | user | child
created_at *timestamp (ISO 8601)
expires_at *timestamp (ISO 8601)
eingeloest_amtimestamp (ISO 8601) or null
kontostring or null
entfallenlist of string
serverlist of ServerZiel
mail_sent *boolean
mail_errorstring or null
manual_linkstring or null

Response shape

{
  "id": "number",
  "email": "string",
  "role": "admin | approver | user | child",
  "created_at": "ISO 8601",
  "expires_at": "ISO 8601",
  "eingeloest_am": "ISO 8601 | null",
  "konto": "string | null",
  "entfallen": [
    "string"
  ],
  "server": [
    {
      "provider": "string",
      "label": "string",
      "bibliotheken": [
        "string"
      ],
      "zustand": "string",
      "fehler": "object | null",
      "nachholbar": "boolean"
    }
  ],
  "mail_sent": "boolean",
  "mail_error": "string | null",
  "manual_link": "string | null"
}
DELETE/api/app/1/admin/invitations/{invitation_id}Withdraw an invitationmay change

Same as DELETE /api/users/invitations/{invitation_id} in the web interface, for the iPhone app.

Parameters

NameType
invitation_id *number
GET/api/app/1/admin/ratingsAll quality ratingsmay change

Same as GET /api/feedback in the web interface, for the iPhone app.

Parameters

NameType
unanswered (query)boolean

Response RatingOut

FieldType
id *number
media_type *string
tmdb_id *number
season *number or null
rating *number
comment *string or null
title *string
reply *string or null
outdated *boolean
updated_at *string
user_namestring

Response shape

[
  {
    "id": "number",
    "media_type": "string",
    "tmdb_id": "number",
    "season": "number | null",
    "rating": "number",
    "comment": "string | null",
    "title": "string",
    "reply": "string | null",
    "outdated": "boolean",
    "updated_at": "string",
    "user_name": "string"
  }
]
POST/api/app/1/admin/ratings/{rating_id}/replyAnswer a quality ratingmay change

Same as POST /api/feedback/{rating_id}/reply in the web interface, for the iPhone app.

Parameters

NameType
rating_id *number

Request body ReplyIn

FieldType
reply *string

Response RatingOut

FieldType
id *number
media_type *string
tmdb_id *number
season *number or null
rating *number
comment *string or null
title *string
reply *string or null
outdated *boolean
updated_at *string
user_namestring

Response shape

{
  "id": "number",
  "media_type": "string",
  "tmdb_id": "number",
  "season": "number | null",
  "rating": "number",
  "comment": "string | null",
  "title": "string",
  "reply": "string | null",
  "outdated": "boolean",
  "updated_at": "string",
  "user_name": "string"
}
GET/api/app/1/admin/releasesTitles given up, waitingmay change

Same as GET /api/storage/releases in the web interface, for the iPhone app.

Response StorageAbgabe

FieldType
entry *StoragePosten
user_id *number or null
username *string or null
display_name *string or null
released_at *timestamp (ISO 8601) or null

Response shape

[
  {
    "entry": {
      "id": "number",
      "media_type": "string",
      "fassung": "string",
      "tier": "string",
      "tmdb_id": "number | null",
      "tvdb_id": "number | null",
      "season": "number | null",
      "title": "string",
      "size_bytes": "number",
      "state": "string",
      "measured_at": "ISO 8601",
      "path": "string",
      "released_at": "ISO 8601 | null",
      "release_wish": "string | null"
    },
    "user_id": "number | null",
    "username": "string | null",
    "display_name": "string | null",
    "released_at": "ISO 8601 | null"
  }
]
POST/api/app/1/admin/releases/{posten_id}/deleteDelete a given-up titlemay change

Same as POST /api/storage/entries/{posten_id}/loeschen in the web interface, for the iPhone app.

Parameters

NameType
posten_id *number
GET/api/app/1/admin/releases/{posten_id}/filesFiles a deletion would removemay change

Same as GET /api/storage/entries/{posten_id}/dateien in the web interface, for the iPhone app.

Parameters

NameType
posten_id *number

Response StorageLoeschvorschau

FieldType
files *list of StorageDatei
total_bytes *number
deletable *boolean
reasonstring

Response shape

{
  "files": [
    {
      "path": "string",
      "size_bytes": "number"
    }
  ],
  "total_bytes": "number",
  "deletable": "boolean",
  "reason": "string"
}
POST/api/app/1/admin/releases/{posten_id}/houseMove a given-up title to the housemay change

Same as POST /api/storage/entries/{posten_id}/haus in the web interface, for the iPhone app.

Parameters

NameType
posten_id *number

Response StoragePosten

FieldType
id *number
media_type *string
fassung *string
tier *string
tmdb_id *number or null
tvdb_id *number or null
season *number or null
title *string
size_bytes *number
state *string
measured_at *timestamp (ISO 8601)
pathstring
released_attimestamp (ISO 8601) or null
release_wishstring or null
watchedboolean or null
managedboolean

Response shape

{
  "id": "number",
  "media_type": "string",
  "fassung": "string",
  "tier": "string",
  "tmdb_id": "number | null",
  "tvdb_id": "number | null",
  "season": "number | null",
  "title": "string",
  "size_bytes": "number",
  "state": "string",
  "measured_at": "ISO 8601",
  "path": "string",
  "released_at": "ISO 8601 | null",
  "release_wish": "string | null"
}
POST/api/app/1/admin/releases/{posten_id}/unfollowKeep a given-up title, stop loading itmay change

Same as POST /api/storage/entries/{posten_id}/entfolgen in the web interface, for the iPhone app.

Parameters

NameType
posten_id *number

Response StoragePosten

FieldType
id *number
media_type *string
fassung *string
tier *string
tmdb_id *number or null
tvdb_id *number or null
season *number or null
title *string
size_bytes *number
state *string
measured_at *timestamp (ISO 8601)
pathstring
released_attimestamp (ISO 8601) or null
release_wishstring or null
watchedboolean or null
managedboolean

Response shape

{
  "id": "number",
  "media_type": "string",
  "fassung": "string",
  "tier": "string",
  "tmdb_id": "number | null",
  "tvdb_id": "number | null",
  "season": "number | null",
  "title": "string",
  "size_bytes": "number",
  "state": "string",
  "measured_at": "ISO 8601",
  "path": "string",
  "released_at": "ISO 8601 | null",
  "release_wish": "string | null"
}
PATCH/api/app/1/admin/tickets/{ticket_id}Set a ticket's statemay change

Same as PATCH /api/tickets/{ticket_id} in the web interface, for the iPhone app.

Parameters

NameType
ticket_id *number

Request body StatusIn

FieldType
status *open | in_progress | closed

Response TicketDetail

FieldType
id *number
subject *string
status *open | in_progress | closed
created_at *timestamp (ISO 8601)
updated_at *timestamp (ISO 8601)
closed_at *timestamp (ISO 8601) or null
last_reply_at *timestamp (ISO 8601) or null
last_reply_by *number or null
media_type *movie | tv or null
tmdb_id *number or null
media_title *string or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
message_count *number
opened_by *number or null
opened_by_name *string or null
messages *list of MessageOut
kinderkonten_offenboolean

Response shape

{
  "id": "number",
  "subject": "string",
  "status": "open | in_progress | closed",
  "created_at": "ISO 8601",
  "updated_at": "ISO 8601",
  "closed_at": "ISO 8601 | null",
  "last_reply_at": "ISO 8601 | null",
  "last_reply_by": "number | null",
  "media_type": "movie | tv | null",
  "tmdb_id": "number | null",
  "media_title": "string | null",
  "user_id": "number",
  "username": "string",
  "display_name": "string | null"
}
GET/api/app/1/admin/trashnexcrate's recycle binmay change

Same as GET /api/beschaffung/papierkorb in the web interface, for the iPhone app.

Response PapierkorbAntwort

FieldType
eintraegelist of PapierkorbZeile
sprungstring

Response shape

{
  "eintraege": [
    {
      "eintrag_id": "number",
      "media_type": "string",
      "tmdb_id": "number | null",
      "name": "string | null",
      "jahr": "number | null",
      "fassung": "string | null",
      "staffel": "number | null",
      "folgen": [
        "number"
      ],
      "dateiname": "string",
      "size_bytes": "number",
      "geloescht_am": "string",
      "geloescht_von": "string",
      "geloescht_von_name": "string | null",
      "datei_da": "boolean"
    }
  ],
  "sprung": "string"
}
POST/api/app/1/admin/trash/{eintrag_id}/restoreRestore from the recycle binmay change

Same as POST /api/beschaffung/papierkorb/{eintrag_id}/zurueckholen in the web interface, for the iPhone app.

Parameters

NameType
eintrag_id *number

Response ZurueckgeholtAntwort

FieldType
createdboolean

Response shape

{
  "created": "boolean"
}
GET/api/app/1/admin/usersAll accountsmay change

Same as GET /api/users in the web interface, for the iPhone app.

Response UserWithUsage

FieldType
id *number
username *string
role *admin | approver | user | child
display_name *string or null
email *string or null
email_verified *boolean
language *string
theme *string
card_versionslist of string
card_versions_alwaysboolean
is_active *boolean
is_betreiberboolean
auto_approve *boolean
auto_approve_movies *boolean or null
auto_approve_series *boolean or null
effective_auto_approve *boolean
effective_auto_approve_movies *boolean
effective_auto_approve_series *boolean
can_approve *boolean
quota_movies_limit *number
quota_series_limit *number
storage_limit_gbnumber
quota_reset_at *timestamp (ISO 8601) or null
hausordnung_gelesen_amtimestamp (ISO 8601) or null
blocked_movie_profiles *list of number
blocked_series_profiles *list of number
fassung_rechtelist of FassungRechtOut
can_request_uhd_movies *boolean
can_request_uhd_series *boolean
auto_approve_uhd *boolean
effective_auto_approve_uhd *boolean
blocked_movie_uhd_profiles *list of number
blocked_series_uhd_profiles *list of number
avatar_url *string or null
created_at *timestamp (ISO 8601)
last_login_at *timestamp (ISO 8601) or null
mail_download_complete *boolean
mail_request_pending *boolean
mail_request_decided *boolean
mail_feedback *boolean
mail_ticket *boolean
mail_watch *boolean
mail_user_imported *boolean
mail_mediaserver_reconnect *boolean
mail_storage *boolean
mail_child_wish *boolean
mail_cleanup *boolean
push_download_complete *boolean
push_request_pending *boolean
push_request_decided *boolean
push_feedback *boolean
push_ticket *boolean
push_watch *boolean
push_user_imported *boolean
push_mediaserver_reconnect *boolean
push_storage *boolean
push_child_wish *boolean
watchlist_connected *boolean
watchlist_token_invalidboolean
mediaserver_provider *string or null
mediaserver_username *string or null
mediaserver_linked *boolean
mediaserver_accountslist of VerknuepftesKonto
oidc_linkslist of OidcVerknuepfung
has_password *boolean
discover_region *string or null
age *number or null
rating_region *string or null
hide_unrated *boolean
can_manage_childrenboolean
parent_idnumber or null
quota_movies_used *number
quota_series_used *number

Response shape

[
  {
    "id": "number",
    "username": "string",
    "role": "admin | approver | user | child",
    "display_name": "string | null",
    "email": "string | null",
    "email_verified": "boolean",
    "language": "string",
    "theme": "string",
    "card_versions": [
      "string"
    ],
    "card_versions_always": "boolean",
    "is_active": "boolean",
    "is_betreiber": "boolean",
    "auto_approve": "boolean",
    "auto_approve_movies": "boolean | null"
  }
]
PATCH/api/app/1/admin/users/{user_id}Change an accountmay change

Same as PATCH /api/users/{user_id} in the web interface, for the iPhone app.

Parameters

NameType
user_id *number

Request body UserUpdate

FieldType
roleadmin | approver | user | child or null
display_namestring or null
languagestring or null
is_activeboolean or null
auto_approveboolean or null
auto_approve_moviesboolean or null
auto_approve_seriesboolean or null
quota_movies_limitnumber or null
quota_series_limitnumber or null
storage_limit_gbnumber or null
blocked_movie_profileslist of number or null
blocked_series_profileslist of number or null
fassung_rechtelist of FassungRechtWunsch or null
can_request_uhd_moviesboolean or null
can_request_uhd_seriesboolean or null
auto_approve_uhdboolean or null
blocked_movie_uhd_profileslist of number or null
blocked_series_uhd_profileslist of number or null
can_manage_childrenboolean or null

Response UserPublic

FieldType
id *number
username *string
role *admin | approver | user | child
display_name *string or null
email *string or null
email_verified *boolean
language *string
theme *string
card_versionslist of string
card_versions_alwaysboolean
is_active *boolean
is_betreiberboolean
auto_approve *boolean
auto_approve_movies *boolean or null
auto_approve_series *boolean or null
effective_auto_approve *boolean
effective_auto_approve_movies *boolean
effective_auto_approve_series *boolean
can_approve *boolean
quota_movies_limit *number
quota_series_limit *number
storage_limit_gbnumber
quota_reset_at *timestamp (ISO 8601) or null
hausordnung_gelesen_amtimestamp (ISO 8601) or null
blocked_movie_profiles *list of number
blocked_series_profiles *list of number
fassung_rechtelist of FassungRechtOut
can_request_uhd_movies *boolean
can_request_uhd_series *boolean
auto_approve_uhd *boolean
effective_auto_approve_uhd *boolean
blocked_movie_uhd_profiles *list of number
blocked_series_uhd_profiles *list of number
avatar_url *string or null
created_at *timestamp (ISO 8601)
last_login_at *timestamp (ISO 8601) or null
mail_download_complete *boolean
mail_request_pending *boolean
mail_request_decided *boolean
mail_feedback *boolean
mail_ticket *boolean
mail_watch *boolean
mail_user_imported *boolean
mail_mediaserver_reconnect *boolean
mail_storage *boolean
mail_child_wish *boolean
mail_cleanup *boolean
push_download_complete *boolean
push_request_pending *boolean
push_request_decided *boolean
push_feedback *boolean
push_ticket *boolean
push_watch *boolean
push_user_imported *boolean
push_mediaserver_reconnect *boolean
push_storage *boolean
push_child_wish *boolean
watchlist_connected *boolean
watchlist_token_invalidboolean
mediaserver_provider *string or null
mediaserver_username *string or null
mediaserver_linked *boolean
mediaserver_accountslist of VerknuepftesKonto
oidc_linkslist of OidcVerknuepfung
has_password *boolean
discover_region *string or null
age *number or null
rating_region *string or null
hide_unrated *boolean
can_manage_childrenboolean
parent_idnumber or null

Response shape

{
  "id": "number",
  "username": "string",
  "role": "admin | approver | user | child",
  "display_name": "string | null",
  "email": "string | null",
  "email_verified": "boolean",
  "language": "string",
  "theme": "string",
  "card_versions": [
    "string"
  ],
  "card_versions_always": "boolean",
  "is_active": "boolean",
  "is_betreiber": "boolean",
  "auto_approve": "boolean",
  "auto_approve_movies": "boolean | null"
}
POST/api/app/1/admin/users/{user_id}/quota/resetReset an account's request countmay change

Same as POST /api/users/{user_id}/quota/reset in the web interface, for the iPhone app.

Parameters

NameType
user_id *number

Response UserWithUsage

FieldType
id *number
username *string
role *admin | approver | user | child
display_name *string or null
email *string or null
email_verified *boolean
language *string
theme *string
card_versionslist of string
card_versions_alwaysboolean
is_active *boolean
is_betreiberboolean
auto_approve *boolean
auto_approve_movies *boolean or null
auto_approve_series *boolean or null
effective_auto_approve *boolean
effective_auto_approve_movies *boolean
effective_auto_approve_series *boolean
can_approve *boolean
quota_movies_limit *number
quota_series_limit *number
storage_limit_gbnumber
quota_reset_at *timestamp (ISO 8601) or null
hausordnung_gelesen_amtimestamp (ISO 8601) or null
blocked_movie_profiles *list of number
blocked_series_profiles *list of number
fassung_rechtelist of FassungRechtOut
can_request_uhd_movies *boolean
can_request_uhd_series *boolean
auto_approve_uhd *boolean
effective_auto_approve_uhd *boolean
blocked_movie_uhd_profiles *list of number
blocked_series_uhd_profiles *list of number
avatar_url *string or null
created_at *timestamp (ISO 8601)
last_login_at *timestamp (ISO 8601) or null
mail_download_complete *boolean
mail_request_pending *boolean
mail_request_decided *boolean
mail_feedback *boolean
mail_ticket *boolean
mail_watch *boolean
mail_user_imported *boolean
mail_mediaserver_reconnect *boolean
mail_storage *boolean
mail_child_wish *boolean
mail_cleanup *boolean
push_download_complete *boolean
push_request_pending *boolean
push_request_decided *boolean
push_feedback *boolean
push_ticket *boolean
push_watch *boolean
push_user_imported *boolean
push_mediaserver_reconnect *boolean
push_storage *boolean
push_child_wish *boolean
watchlist_connected *boolean
watchlist_token_invalidboolean
mediaserver_provider *string or null
mediaserver_username *string or null
mediaserver_linked *boolean
mediaserver_accountslist of VerknuepftesKonto
oidc_linkslist of OidcVerknuepfung
has_password *boolean
discover_region *string or null
age *number or null
rating_region *string or null
hide_unrated *boolean
can_manage_childrenboolean
parent_idnumber or null
quota_movies_used *number
quota_series_used *number

Response shape

{
  "id": "number",
  "username": "string",
  "role": "admin | approver | user | child",
  "display_name": "string | null",
  "email": "string | null",
  "email_verified": "boolean",
  "language": "string",
  "theme": "string",
  "card_versions": [
    "string"
  ],
  "card_versions_always": "boolean",
  "is_active": "boolean",
  "is_betreiber": "boolean",
  "auto_approve": "boolean",
  "auto_approve_movies": "boolean | null"
}
POST/api/app/1/admin/users/{user_id}/storage/resetMove an account's titles to the housemay change

Same as POST /api/users/{user_id}/storage/reset in the web interface, for the iPhone app.

Parameters

NameType
user_id *number

Response UserWithUsage

FieldType
id *number
username *string
role *admin | approver | user | child
display_name *string or null
email *string or null
email_verified *boolean
language *string
theme *string
card_versionslist of string
card_versions_alwaysboolean
is_active *boolean
is_betreiberboolean
auto_approve *boolean
auto_approve_movies *boolean or null
auto_approve_series *boolean or null
effective_auto_approve *boolean
effective_auto_approve_movies *boolean
effective_auto_approve_series *boolean
can_approve *boolean
quota_movies_limit *number
quota_series_limit *number
storage_limit_gbnumber
quota_reset_at *timestamp (ISO 8601) or null
hausordnung_gelesen_amtimestamp (ISO 8601) or null
blocked_movie_profiles *list of number
blocked_series_profiles *list of number
fassung_rechtelist of FassungRechtOut
can_request_uhd_movies *boolean
can_request_uhd_series *boolean
auto_approve_uhd *boolean
effective_auto_approve_uhd *boolean
blocked_movie_uhd_profiles *list of number
blocked_series_uhd_profiles *list of number
avatar_url *string or null
created_at *timestamp (ISO 8601)
last_login_at *timestamp (ISO 8601) or null
mail_download_complete *boolean
mail_request_pending *boolean
mail_request_decided *boolean
mail_feedback *boolean
mail_ticket *boolean
mail_watch *boolean
mail_user_imported *boolean
mail_mediaserver_reconnect *boolean
mail_storage *boolean
mail_child_wish *boolean
mail_cleanup *boolean
push_download_complete *boolean
push_request_pending *boolean
push_request_decided *boolean
push_feedback *boolean
push_ticket *boolean
push_watch *boolean
push_user_imported *boolean
push_mediaserver_reconnect *boolean
push_storage *boolean
push_child_wish *boolean
watchlist_connected *boolean
watchlist_token_invalidboolean
mediaserver_provider *string or null
mediaserver_username *string or null
mediaserver_linked *boolean
mediaserver_accountslist of VerknuepftesKonto
oidc_linkslist of OidcVerknuepfung
has_password *boolean
discover_region *string or null
age *number or null
rating_region *string or null
hide_unrated *boolean
can_manage_childrenboolean
parent_idnumber or null
quota_movies_used *number
quota_series_used *number

Response shape

{
  "id": "number",
  "username": "string",
  "role": "admin | approver | user | child",
  "display_name": "string | null",
  "email": "string | null",
  "email_verified": "boolean",
  "language": "string",
  "theme": "string",
  "card_versions": [
    "string"
  ],
  "card_versions_always": "boolean",
  "is_active": "boolean",
  "is_betreiber": "boolean",
  "auto_approve": "boolean",
  "auto_approve_movies": "boolean | null"
}
GET/api/app/1/approvalsAll requestsmay change

Same as GET /api/admin/requests in the web interface, for the iPhone app.

Parameters

NameType
status (query)pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred or null
user_id (query)number or null
feedback (query)boolean
from_watchlist (query)boolean
fremde_fassung (query)boolean

Response RequestWithUser

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
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/app/1/approvals/all/{user_id}Approve everything one person asked formay change

Same as POST /api/admin/requests/approve-all/{user_id} in the web interface, for the iPhone app.

Parameters

NameType
user_id *number

Request body

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

Response RequestWithUser

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
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/app/1/approvals/countRequests awaiting a decisionmay change

Same as GET /api/admin/requests/pending/count in the web interface, for the iPhone app.

POST/api/app/1/approvals/{request_id}/approveApprove a requestmay change

Same as POST /api/admin/requests/{request_id}/approve in the web interface, for the iPhone app.

Parameters

NameType
request_id *number

Request body

FieldType
root_folder_pathstring or null
quality_profile_idnumber or null

Response RequestWithUser

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
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/app/1/approvals/{request_id}/deferDefer a requestmay change

Same as POST /api/admin/requests/{request_id}/defer in the web interface, for the iPhone app.

Parameters

NameType
request_id *number

Response RequestWithUser

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
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/app/1/approvals/{request_id}/rejectReject a requestmay change

Same as POST /api/admin/requests/{request_id}/reject in the web interface, for the iPhone app.

Parameters

NameType
request_id *number

Request body RejectPayload

FieldType
reasonstring or null
blockboolean

Response RequestWithUser

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
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/app/1/browse/shelf/{media_type}/{kennung}One shelf of titlesmay change

Same as GET /api/stoebern/regal/{media_type}/{kennung} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv
kennung *string
page (query)number
bestand (query)egal | nur_vorhanden | nur_neu
anzahl (query)number

Response RegalSeite

FieldType
kennung *string
items *list of MediaItem
page *number
total_pages *number
seiten_durchsucht *number
erschoepft *boolean
demoboolean
arr_warningstring or null

Response shape

{
  "kennung": "string",
  "items": [
    {
      "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"
      ],
      "genre_ids": [
        "number"
      ],
      "runtime_minutes": "number | null"
    }
  ],
  "page": "number",
  "total_pages": "number",
  "seiten_durchsucht": "number",
  "erschoepft": "boolean",
  "demo": "boolean",
  "arr_warning": "string | null"
}
GET/api/app/1/browse/shelves/{media_type}Shelves to browsemay change

Same as GET /api/stoebern/regale/{media_type} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv

Response RegalInfo

FieldType
kennung *string
gruppe *string
kategorie *string
persoenlich *boolean
titelstring or null

Response shape

[
  {
    "kennung": "string",
    "gruppe": "string",
    "kategorie": "string",
    "persoenlich": "boolean",
    "titel": "string | null"
  }
]
GET/api/app/1/calendarWhat comes out whenmay change

Same as GET /api/calendar in the web interface, for the iPhone app.

Parameters

NameType
date_from (query)string or null
date_to (query)string or null
sources (query)all | mine | new
date_type (query)digital | kino
noise (query)sinnvoll | studios | known | none

Response CalendarResult

FieldType
date_from *string
date_to *string
dayslist of CalendarDay
arr_warningstring or null
arr_warning_servicestring or null
tmdb_warningstring or null
demoboolean

Response shape

{
  "date_from": "string",
  "date_to": "string",
  "days": [
    {
      "date": "string",
      "entries": [
        {}
      ]
    }
  ],
  "arr_warning": "string | null",
  "arr_warning_service": "string | null",
  "tmdb_warning": "string | null",
  "demo": "boolean"
}
GET/api/app/1/discover/{media_type}Discover titlesmay change

Same as GET /api/discover/{media_type} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv
date_from (query)string or null
date_to (query)string or null
language (query)string or null
region (query)string or null
genre_id (query)number or null
sort (query)newest | rating | popular
page (query)number
feature_length (query)boolean
min_rating (query)number or null
hide_unrated (query)boolean
released_in_region (query)boolean
studio_id (query)number or null
known_only (query)boolean

Response MediaPage

FieldType
page *number
total_pages *number
total_results *number
items *list of MediaItem
demoboolean
arr_warningstring or null

Response shape

{
  "page": "number",
  "total_pages": "number",
  "total_results": "number",
  "items": [
    {
      "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"
      ],
      "genre_ids": [
        "number"
      ],
      "runtime_minutes": "number | null"
    }
  ],
  "demo": "boolean",
  "arr_warning": "string | null"
}
GET/api/app/1/favoritesTitles you likemay change

Same as GET /api/favorites in the web interface, for the iPhone app.

Response FavoriteOut

FieldType
media_type *movie | tv
tmdb_id *number
title *string
poster_url *string or null
created_at *timestamp (ISO 8601)

Response shape

[
  {
    "media_type": "movie | tv",
    "tmdb_id": "number",
    "title": "string",
    "poster_url": "string | null",
    "created_at": "ISO 8601"
  }
]
POST/api/app/1/favoritesLike a titlemay change

Same as POST /api/favorites in the web interface, for the iPhone app.

Request body FavoriteIn

FieldType
media_type *movie | tv
tmdb_id *number
titlestring
poster_urlstring or null

Response FavoriteOut

FieldType
media_type *movie | tv
tmdb_id *number
title *string
poster_url *string or null
created_at *timestamp (ISO 8601)

Response shape

{
  "media_type": "movie | tv",
  "tmdb_id": "number",
  "title": "string",
  "poster_url": "string | null",
  "created_at": "ISO 8601"
}
DELETE/api/app/1/favorites/{media_type}/{tmdb_id}Stop liking a titlemay change

Same as DELETE /api/favorites/{media_type}/{tmdb_id} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv
tmdb_id *number
GET/api/app/1/home/recentRecently arrivedmay change

Same as GET /api/home/recent in the web interface, for the iPhone app.

Response RecentItem

FieldType
request_id *number
media_type *movie | tv
tmdb_id *number
title *string
overviewstring
poster_urlstring or null
backdrop_urlstring or null
release_datestring or null
vote_averagenumber
runtime_minutesnumber or null
genreslist of string
completed_attimestamp (ISO 8601) or null
requested_by *string
requester_avatarstring or null
seasonslist of number

Response shape

[
  {
    "request_id": "number",
    "media_type": "movie | tv",
    "tmdb_id": "number",
    "title": "string",
    "overview": "string",
    "poster_url": "string | null",
    "backdrop_url": "string | null",
    "release_date": "string | null",
    "vote_average": "number",
    "runtime_minutes": "number | null",
    "genres": [
      "string"
    ],
    "completed_at": "ISO 8601 | null",
    "requested_by": "string",
    "requester_avatar": "string | null"
  }
]
GET/api/app/1/house-rulesHouse rulesmay change

Same as GET /api/hausordnung in the web interface, for the iPhone app.

Response HausordnungOeffentlich

FieldType
titel *string
inhalt *string
fassung *number
quittierbar *boolean
gelesen *number or null
akzeptiert *boolean or null

Response shape

{
  "titel": "string",
  "inhalt": "string",
  "fassung": "number",
  "quittierbar": "boolean",
  "gelesen": "number | null",
  "akzeptiert": "boolean | null"
}
POST/api/app/1/house-rules/decisionAccept or refuse the house rulesmay change

Same as POST /api/hausordnung/entscheidung in the web interface, for the iPhone app.

Request body Entscheidung

FieldType
akzeptiertboolean
GET/api/app/1/kids/categoriesCategories for a childmay change

Same as GET /api/kids/categories in the web interface, for the iPhone app.

Parameters

NameType
media_type (query)movie | tv

Response KidsCategory

FieldType
rubrik *string
bilder *list of string

Response shape

[
  {
    "rubrik": "string",
    "bilder": [
      "string"
    ]
  }
]
GET/api/app/1/kids/rubrik/{rubrik}One categorymay change

Same as GET /api/kids/rubrik/{rubrik} in the web interface, for the iPhone app.

Parameters

NameType
rubrik *string
media_type (query)movie | tv
page (query)number

Response KidsItems

FieldType
verfuegbar *list of MediaItem
wuenschbar *list of MediaItem
gewuenscht *list of number

Response shape

{
  "verfuegbar": [
    {
      "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"
      ],
      "genre_ids": [
        "number"
      ],
      "runtime_minutes": "number | null"
    }
  ],
  "wuenschbar": [
    {
      "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"
      ],
      "genre_ids": [
        "number"
      ],
      "runtime_minutes": "number | null"
    }
  ],
  "gewuenscht": [
    "number"
  ]
}
GET/api/app/1/kids/title/{media_type}/{tmdb_id}One titlemay change

Same as GET /api/kids/title/{media_type}/{tmdb_id} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv
tmdb_id *number

Response MediaDetail

FieldType
media_type *movie | tv
tmdb_id *number
tvdb_idnumber or null
title *string
original_titlestring or null
overviewstring
poster_urlstring or null
backdrop_urlstring or null
release_datestring or null
vote_averagenumber
vote_countnumber
genreslist of string
genre_idslist of number
runtime_minutesnumber or null
certificationstring or null
original_languagestring or null
origin_countrylist of string
seasonslist of SeasonInfo
statusstring
status_uhdstring or null
fassungenlist of FassungAchse
watchedboolean
watched_onlist of string
watched_not_onlist of string
pathstring or null
path_uhdstring or null
uhd_in_standardboolean
taglinestring
homepagestring or null
status_textstring
original_countrylist of string
spoken_languageslist of string
budgetnumber or null
revenuenumber or null
studioslist of NamedRef
keywordslist of NamedRef
trailerTrailer or null
watchWatchProviders or null
in_my_subscriptionslist of string
watchingboolean
requested_by_meboolean
status_unconfirmedboolean
status_refusedboolean
my_feedbackMeineRueckmeldung or null
open_ticketboolean
castlist of CastMember
crewlist of CrewMember
recommendationslist of MediaItem
collectionMovieCollection or null
seasons_totalnumber or null
episodes_totalnumber or null
series_statusstring
networkslist of NamedRef

Response shape

{
  "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"
  ],
  "genre_ids": [
    "number"
  ],
  "runtime_minutes": "number | null"
}
GET/api/app/1/kids/wishesMy wishesmay change

Same as GET /api/kids/wishes in the web interface, for the iPhone app.

Response WishOut

FieldType
id *number
media_type *string
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
state *string
decline_note *string or null
created_at *string

Response shape

[
  {
    "id": "number",
    "media_type": "string",
    "tmdb_id": "number",
    "title": "string",
    "poster_path": "string | null",
    "release_date": "string | null",
    "state": "string",
    "decline_note": "string | null",
    "created_at": "string"
  }
]
POST/api/app/1/kids/wishesWish for somethingmay change

Same as POST /api/kids/wishes in the web interface, for the iPhone app.

Request body WishCreate

FieldType
media_type *movie | tv
tmdb_id *number

Response WishOut

FieldType
id *number
media_type *string
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
state *string
decline_note *string or null
created_at *string

Response shape

{
  "id": "number",
  "media_type": "string",
  "tmdb_id": "number",
  "title": "string",
  "poster_path": "string | null",
  "release_date": "string | null",
  "state": "string",
  "decline_note": "string | null",
  "created_at": "string"
}
GET/api/app/1/meWho am I, and what does the app showmay change

The app's first call. Answers 404 on a nexview without this surface: the app then says the feature comes with the next nexview update.

Response AppSelbstauskunft

FieldType
version *string
konto *AppKonto
fassungen *list of FassungOeffentlich
hausordnung *AppHausordnung
kontingent_zeitraum *string
beschaffung *string

Response shape

{
  "version": "string",
  "konto": {
    "id": "number",
    "name": "string",
    "role": "string",
    "betreiber": "boolean",
    "entscheidet": "boolean",
    "hat_kinder": "boolean"
  },
  "fassungen": [
    {
      "kennung": "string",
      "media_type": "string",
      "name": "string",
      "klasse": "string | null",
      "quelle": "string",
      "haupt": "boolean",
      "bereit": "boolean",
      "offen_fuer_alle": "boolean",
      "approver_picks_target": "boolean",
      "darf_anfragen": "boolean",
      "auto_freigabe": "boolean"
    }
  ],
  "hausordnung": {
    "vorhanden": "boolean",
    "titel": "string",
    "fassung": "number",
    "quittierbar": "boolean",
    "gelesen": "number | null"
  },
  "kontingent_zeitraum": "string",
  "beschaffung": "string"
}
GET/api/app/1/media/{media_type}/{tmdb_id}One titlemay change

Same as GET /api/media/{media_type}/{tmdb_id} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv
tmdb_id *number

Response MediaItem

FieldType
media_type *movie | tv
tmdb_id *number
tvdb_idnumber or null
title *string
original_titlestring or null
overviewstring
poster_urlstring or null
backdrop_urlstring or null
release_datestring or null
vote_averagenumber
vote_countnumber
genreslist of string
genre_idslist of number
runtime_minutesnumber or null
certificationstring or null
original_languagestring or null
origin_countrylist of string
seasonslist of SeasonInfo
statusstring
status_uhdstring or null
fassungenlist of FassungAchse
watchedboolean
watched_onlist of string
watched_not_onlist of string
pathstring or null
path_uhdstring or null
uhd_in_standardboolean

Response shape

{
  "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"
  ],
  "genre_ids": [
    "number"
  ],
  "runtime_minutes": "number | null"
}
GET/api/app/1/notificationsYour notificationsmay change

Same as GET /api/notifications in the web interface, for the iPhone app.

Parameters

NameType
unread_only (query)boolean
limit (query)number

Response NotificationPublic

FieldType
id *number
type *download_complete | approved | rejected | cancelled | request_pending | feedback | feedback_poor | feedback_reply | ticket_new | ticket_reply | user_imported | mediaserver_reconnect | storage_released | storage_kept | storage_deleted | storage_release_requested | storage_grew | storage_scheduled | storage_unscheduled | request_deferred | child_wish | watch_ready | watch_episodes | instance_health | rating_outdated | request_fulfilled | invitation_redeemed | invitation_on_hold | download_stuck
message_key *string
message_title *string or null
seasonnumber or null
episodeslist of number or null
request_id *number or null
ticket_id *number or null
is_read *boolean
created_at *timestamp (ISO 8601)
ziel *string

Response shape

[
  {
    "id": "number",
    "type": "download_complete | approved | rejected | cancelled | request_pending | feedback | feedback_poor | feedback_reply | ticket_new | ticket_reply | user_imported | mediaserver_reconnect | storage_released | storage_kept | storage_deleted | storage_release_requested | storage_grew | storage_scheduled | storage_unscheduled | request_deferred | child_wish | watch_ready | watch_episodes | instance_health | rating_outdated | request_fulfilled | invitation_redeemed | invitation_on_hold | download_stuck",
    "message_key": "string",
    "message_title": "string | null",
    "season": "number | null",
    "episodes": [
      "number"
    ],
    "request_id": "number | null",
    "ticket_id": "number | null",
    "is_read": "boolean",
    "created_at": "ISO 8601",
    "ziel": "string"
  }
]
POST/api/app/1/notifications/read-allMark all notifications readmay change

Same as POST /api/notifications/read-all in the web interface, for the iPhone app.

GET/api/app/1/notifications/unread/countNumber of unread notificationsmay change

Same as GET /api/notifications/unread/count in the web interface, for the iPhone app.

POST/api/app/1/notifications/{notification_id}/readMark one notification readmay change

Same as POST /api/notifications/{notification_id}/read in the web interface, for the iPhone app.

Parameters

NameType
notification_id *number
POST/api/app/1/pairing/{pairing_id}/keyFetch the key from a QR codemay change

Needs no key: this is how the app gets one. Send the secret from the QR code as X-Pairing-Secret. The answer carries the key once; afterwards the pairing is used up. An unknown pairing, a wrong secret, one already used and one expired all answer the same 404 pairing_not_found.

Parameters

NameType
pairing_id *string

Request body

FieldTypeMeaning
devicestringThe device's name, e.g. "Mia's iPad". Shown in the list of keys.

Response AbgeholterSchluessel

FieldTypeMeaning
key *stringThe key, exactly once. Send it as Authorization: Bearer.
account *AbgeholtesKonto

Response shape

{
  "key": "string",
  "account": {
    "name": "string",
    "role": "string"
  }
}
GET/api/app/1/ratings/mineYour quality ratingsmay change

Same as GET /api/feedback/mine in the web interface, for the iPhone app.

Response RatingOut

FieldType
id *number
media_type *string
tmdb_id *number
season *number or null
rating *number
comment *string or null
title *string
reply *string or null
outdated *boolean
updated_at *string
user_namestring

Response shape

[
  {
    "id": "number",
    "media_type": "string",
    "tmdb_id": "number",
    "season": "number | null",
    "rating": "number",
    "comment": "string | null",
    "title": "string",
    "reply": "string | null",
    "outdated": "boolean",
    "updated_at": "string",
    "user_name": "string"
  }
]
PUT/api/app/1/ratings/{media_type}/{tmdb_id}Rate the quality of a titlemay change

Same as PUT /api/feedback/{media_type}/{tmdb_id} in the web interface, for the iPhone app.

Parameters

NameType
media_type *string
tmdb_id *number

Request body RatingIn

FieldType
rating *number
commentstring or null
titlestring
seasonnumber or null

Response RatingOut

FieldType
id *number
media_type *string
tmdb_id *number
season *number or null
rating *number
comment *string or null
title *string
reply *string or null
outdated *boolean
updated_at *string
user_namestring

Response shape

{
  "id": "number",
  "media_type": "string",
  "tmdb_id": "number",
  "season": "number | null",
  "rating": "number",
  "comment": "string | null",
  "title": "string",
  "reply": "string | null",
  "outdated": "boolean",
  "updated_at": "string",
  "user_name": "string"
}
POST/api/app/1/requestsRequest a titlemay change

Same as POST /api/requests in the web interface, for the iPhone app.

Request body RequestCreate

FieldType
media_type *movie | tv
fassungstring or null
tierstandard | uhd
tmdb_id *number
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 RequestPublic

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) 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/app/1/requests/mineYour requestsmay change

Same as GET /api/requests/mine in the web interface, for the iPhone app.

Response RequestPublic

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) 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/app/1/requests/quotaYour quotamay change

Same as GET /api/requests/quota in the web interface, for the iPhone app.

Response QuotaOverview

FieldType
movie *QuotaInfo
tv *QuotaInfo
auto_approve *boolean

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"
}
POST/api/app/1/requests/{request_id}/cancelCancel your requestmay change

Same as POST /api/requests/{request_id}/cancel in the web interface, for the iPhone app.

Parameters

NameType
request_id *number

Response RequestPublic

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) 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/app/1/search/{media_type}Search titlesmay change

Same as GET /api/search/{media_type} in the web interface, for the iPhone app.

Parameters

NameType
media_type *movie | tv
q (query) *string
page (query)number

Response MediaPage

FieldType
page *number
total_pages *number
total_results *number
items *list of MediaItem
demoboolean
arr_warningstring or null

Response shape

{
  "page": "number",
  "total_pages": "number",
  "total_results": "number",
  "items": [
    {
      "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"
      ],
      "genre_ids": [
        "number"
      ],
      "runtime_minutes": "number | null"
    }
  ],
  "demo": "boolean",
  "arr_warning": "string | null"
}
POST/api/app/1/storage/entries/{posten_id}/give-upGive a title upmay change

Same as POST /api/storage/entries/{posten_id}/abgeben in the web interface, for the iPhone app.

Parameters

NameType
posten_id *number

Request body

FieldType
wishstring or null

Response StoragePosten

FieldType
id *number
media_type *string
fassung *string
tier *string
tmdb_id *number or null
tvdb_id *number or null
season *number or null
title *string
size_bytes *number
state *string
measured_at *timestamp (ISO 8601)
pathstring
released_attimestamp (ISO 8601) or null
release_wishstring or null
watchedboolean or null
managedboolean

Response shape

{
  "id": "number",
  "media_type": "string",
  "fassung": "string",
  "tier": "string",
  "tmdb_id": "number | null",
  "tvdb_id": "number | null",
  "season": "number | null",
  "title": "string",
  "size_bytes": "number",
  "state": "string",
  "measured_at": "ISO 8601",
  "path": "string",
  "released_at": "ISO 8601 | null",
  "release_wish": "string | null"
}
POST/api/app/1/storage/entries/{posten_id}/keepKeep a title after allmay change

Same as POST /api/storage/entries/{posten_id}/behalten in the web interface, for the iPhone app.

Parameters

NameType
posten_id *number

Response StoragePosten

FieldType
id *number
media_type *string
fassung *string
tier *string
tmdb_id *number or null
tvdb_id *number or null
season *number or null
title *string
size_bytes *number
state *string
measured_at *timestamp (ISO 8601)
pathstring
released_attimestamp (ISO 8601) or null
release_wishstring or null
watchedboolean or null
managedboolean

Response shape

{
  "id": "number",
  "media_type": "string",
  "fassung": "string",
  "tier": "string",
  "tmdb_id": "number | null",
  "tvdb_id": "number | null",
  "season": "number | null",
  "title": "string",
  "size_bytes": "number",
  "state": "string",
  "measured_at": "ISO 8601",
  "path": "string",
  "released_at": "ISO 8601 | null",
  "release_wish": "string | null"
}
GET/api/app/1/storage/meYour storagemay change

Same as GET /api/storage/me in the web interface, for the iPhone app.

Parameters

NameType
q (query)string
page (query)number
gesehen (query)boolean

Response StorageMine

FieldType
used_bytes *number
items *number
limit_bytesnumber or null
pending_bytes *number
zurechenbarboolean
watched_availableboolean
matchesnumber
per_pagenumber
entries *list of StoragePosten

Response shape

{
  "used_bytes": "number",
  "items": "number",
  "limit_bytes": "number | null",
  "pending_bytes": "number",
  "zurechenbar": "boolean",
  "watched_available": "boolean",
  "matches": "number",
  "per_page": "number",
  "entries": [
    {
      "id": "number",
      "media_type": "string",
      "fassung": "string",
      "tier": "string",
      "tmdb_id": "number | null",
      "tvdb_id": "number | null",
      "season": "number | null",
      "title": "string",
      "size_bytes": "number",
      "state": "string",
      "measured_at": "ISO 8601",
      "path": "string",
      "released_at": "ISO 8601 | null",
      "release_wish": "string | null"
    }
  ]
}
GET/api/app/1/ticketsYour ticketsmay change

Same as GET /api/tickets in the web interface, for the iPhone app.

Parameters

NameType
status (query)open | in_progress | closed or null
user_id (query)number or null

Response TicketOut

FieldType
id *number
subject *string
status *open | in_progress | closed
created_at *timestamp (ISO 8601)
updated_at *timestamp (ISO 8601)
closed_at *timestamp (ISO 8601) or null
last_reply_at *timestamp (ISO 8601) or null
last_reply_by *number or null
media_type *movie | tv or null
tmdb_id *number or null
media_title *string or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
message_count *number
opened_by *number or null
opened_by_name *string or null

Response shape

[
  {
    "id": "number",
    "subject": "string",
    "status": "open | in_progress | closed",
    "created_at": "ISO 8601",
    "updated_at": "ISO 8601",
    "closed_at": "ISO 8601 | null",
    "last_reply_at": "ISO 8601 | null",
    "last_reply_by": "number | null",
    "media_type": "movie | tv | null",
    "tmdb_id": "number | null",
    "media_title": "string | null",
    "user_id": "number",
    "username": "string",
    "display_name": "string | null"
  }
]
POST/api/app/1/ticketsOpen a ticketmay change

Same as POST /api/tickets in the web interface, for the iPhone app.

Request body TicketCreate

FieldType
subject *string
body *string
user_idnumber or null
media_typemovie | tv or null
tmdb_idnumber or null
media_titlestring or null

Response TicketDetail

FieldType
id *number
subject *string
status *open | in_progress | closed
created_at *timestamp (ISO 8601)
updated_at *timestamp (ISO 8601)
closed_at *timestamp (ISO 8601) or null
last_reply_at *timestamp (ISO 8601) or null
last_reply_by *number or null
media_type *movie | tv or null
tmdb_id *number or null
media_title *string or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
message_count *number
opened_by *number or null
opened_by_name *string or null
messages *list of MessageOut
kinderkonten_offenboolean

Response shape

{
  "id": "number",
  "subject": "string",
  "status": "open | in_progress | closed",
  "created_at": "ISO 8601",
  "updated_at": "ISO 8601",
  "closed_at": "ISO 8601 | null",
  "last_reply_at": "ISO 8601 | null",
  "last_reply_by": "number | null",
  "media_type": "movie | tv | null",
  "tmdb_id": "number | null",
  "media_title": "string | null",
  "user_id": "number",
  "username": "string",
  "display_name": "string | null"
}
GET/api/app/1/tickets/open-countNumber of open ticketsmay change

Same as GET /api/tickets/open-count in the web interface, for the iPhone app.

GET/api/app/1/tickets/{ticket_id}One ticket with its messagesmay change

Same as GET /api/tickets/{ticket_id} in the web interface, for the iPhone app.

Parameters

NameType
ticket_id *number

Response TicketDetail

FieldType
id *number
subject *string
status *open | in_progress | closed
created_at *timestamp (ISO 8601)
updated_at *timestamp (ISO 8601)
closed_at *timestamp (ISO 8601) or null
last_reply_at *timestamp (ISO 8601) or null
last_reply_by *number or null
media_type *movie | tv or null
tmdb_id *number or null
media_title *string or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
message_count *number
opened_by *number or null
opened_by_name *string or null
messages *list of MessageOut
kinderkonten_offenboolean

Response shape

{
  "id": "number",
  "subject": "string",
  "status": "open | in_progress | closed",
  "created_at": "ISO 8601",
  "updated_at": "ISO 8601",
  "closed_at": "ISO 8601 | null",
  "last_reply_at": "ISO 8601 | null",
  "last_reply_by": "number | null",
  "media_type": "movie | tv | null",
  "tmdb_id": "number | null",
  "media_title": "string | null",
  "user_id": "number",
  "username": "string",
  "display_name": "string | null"
}
POST/api/app/1/tickets/{ticket_id}/messagesAnswer in a ticketmay change

Same as POST /api/tickets/{ticket_id}/messages in the web interface, for the iPhone app.

Parameters

NameType
ticket_id *number

Request body MessageIn

FieldType
body *string

Response TicketDetail

FieldType
id *number
subject *string
status *open | in_progress | closed
created_at *timestamp (ISO 8601)
updated_at *timestamp (ISO 8601)
closed_at *timestamp (ISO 8601) or null
last_reply_at *timestamp (ISO 8601) or null
last_reply_by *number or null
media_type *movie | tv or null
tmdb_id *number or null
media_title *string or null
user_id *number
username *string
display_name *string or null
avatar_url *string or null
message_count *number
opened_by *number or null
opened_by_name *string or null
messages *list of MessageOut
kinderkonten_offenboolean

Response shape

{
  "id": "number",
  "subject": "string",
  "status": "open | in_progress | closed",
  "created_at": "ISO 8601",
  "updated_at": "ISO 8601",
  "closed_at": "ISO 8601 | null",
  "last_reply_at": "ISO 8601 | null",
  "last_reply_by": "number | null",
  "media_type": "movie | tv | null",
  "tmdb_id": "number | null",
  "media_title": "string | null",
  "user_id": "number",
  "username": "string",
  "display_name": "string | null"
}
GET/api/app/1/watchlist/plexYour Plex watchlistmay change

Same as GET /api/watchlist/plex in the web interface, for the iPhone app.

Response WatchlistAntwort

FieldType
movies *list of MediaItem
series *list of MediaItem
unmatched *number

Response shape

{
  "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"
      ],
      "genre_ids": [
        "number"
      ],
      "runtime_minutes": "number | 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"
      ],
      "genre_ids": [
        "number"
      ],
      "runtime_minutes": "number | null"
    }
  ],
  "unmatched": "number"
}
GET/api/app/1/watchlist/statusWhether the Plex watchlist is availablemay change

Same as GET /api/watchlist/status in the web interface, for the iPhone app.

Response VerbindungsStand

FieldType
statusstring
connected *boolean
linked *boolean

Response shape

{
  "status": "string",
  "connected": "boolean",
  "linked": "boolean"
}
GET/api/app/1/wishesYour children's wishesmay change

Same as GET /api/children/wishes in the web interface, for the iPhone app.

Response WishForParent

FieldType
id *number
child_id *number
child_name *string
media_type *string
tmdb_id *number
title *string
poster_path *string or null
in_my_subscriptionslist of string
release_date *string or null
created_at *string

Response shape

[
  {
    "id": "number",
    "child_id": "number",
    "child_name": "string",
    "media_type": "string",
    "tmdb_id": "number",
    "title": "string",
    "poster_path": "string | null",
    "in_my_subscriptions": [
      "string"
    ],
    "release_date": "string | null",
    "created_at": "string"
  }
]
POST/api/app/1/wishes/{wish_id}/declineDecline a wishmay change

Same as POST /api/children/wishes/{wish_id}/decline in the web interface, for the iPhone app.

Parameters

NameType
wish_id *number

Request body WishDecline

FieldType
notestring or null
POST/api/app/1/wishes/{wish_id}/releaseTurn a wish into a requestmay change

Same as POST /api/children/wishes/{wish_id}/release in the web interface, for the iPhone app.

Parameters

NameType
wish_id *number

Request body WishRelease

FieldType
quality_profile_idnumber or null
root_folder_pathstring or null
seasonnumber or null
episodeslist of number or null
monitor_futureboolean
fassungstring or null
tierstandard | uhd

Response RequestPublic

FieldType
id *number
media_type *movie | tv
fassung *string or null
tier *standard | uhd
tmdb_id *number
title *string
poster_path *string or null
release_date *string or null
status *pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred
quality_profile_id *number or null
quality_profile_uhdboolean
root_folder_path *string or null
season *number or null
episodeslist of number or null
from_watchlist *boolean
arr_linkedboolean
requested_at *timestamp (ISO 8601)
approved_at *timestamp (ISO 8601) or null
completed_at *timestamp (ISO 8601) or null
approved_by_namestring or null
last_checked_attimestamp (ISO 8601) or null
laedt_fortschrittnumber or null
laedt_seittimestamp (ISO 8601) or null
rejection_reason *string or null
regel_namestring or null
darf_trotzdem_fragenboolean
trotzdem_gefragtboolean
error_message *string or null
error_detailobject or null
rating *number or null
feedback *string or null
rated_at *timestamp (ISO 8601) or null
rating_outdatedboolean
feedback_reply *string or null
replied_at *timestamp (ISO 8601) 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/children/{child_id}/app-kopplungPrepare a QR code for a child devicemay change

The same for one of the caller's own child accounts. The device signs in as the child and reaches nothing an adult account reaches. Needs the right to keep child accounts.

Parameters

NameType
child_id *number

Request body

FieldType
adressestring

Response KopplungNeu

FieldType
kennung *string
geheimnis *string
gilt_bis *timestamp (ISO 8601)
adresse *string
link *string
qr_svg *string

Response shape

{
  "kennung": "string",
  "geheimnis": "string",
  "gilt_bis": "ISO 8601",
  "adresse": "string",
  "link": "string",
  "qr_svg": "string"
}
GET/api/children/{child_id}/geraeteList a child's devicesmay change

The keys of one of the caller's own child accounts, with when each was last used.

Parameters

NameType
child_id *number

Response app__routers__app_kopplung__Geraet

FieldType
id *number
name *string
created_at *timestamp (ISO 8601)
last_used_at *timestamp (ISO 8601) or null

Response shape

[
  {
    "id": "number",
    "name": "string",
    "created_at": "ISO 8601",
    "last_used_at": "ISO 8601 | null"
  }
]
DELETE/api/children/{child_id}/geraete/{schluessel_id}Disconnect a child's devicemay change

Removes the key at once; the device can no longer sign in. A new code connects it again.

Parameters

NameType
child_id *number
schluessel_id *number
POST/api/me/app-kopplungPrepare a QR code for the iPhone appmay change

Prepares a pairing for the calling account and returns it as a link and a QR code. The app fetches its own key with it once, within ten minutes; the key comes into being only then and inherits the rights of this account. The address in the code is the public address from the settings, otherwise adresse from the body.

Request body

FieldType
adressestring

Response KopplungNeu

FieldType
kennung *string
geheimnis *string
gilt_bis *timestamp (ISO 8601)
adresse *string
link *string
qr_svg *string

Response shape

{
  "kennung": "string",
  "geheimnis": "string",
  "gilt_bis": "ISO 8601",
  "adresse": "string",
  "link": "string",
  "qr_svg": "string"
}
GET/api/me/app-kopplung/{kennung}Whether the app fetched its keymay change

wartet, verbunden with the name of the device, fehlgeschlagen when no key could be made, or abgelaufen. Only the account that prepared the code sees it.

Parameters

NameType
kennung *string

Response KopplungStand

FieldType
stand *string
geraetstring or null

Response shape

{
  "stand": "string",
  "geraet": "string | null"
}
DELETE/api/me/app-kopplung/{kennung}Withdraw a QR codemay change

Closes a code nobody has scanned yet. A code already used stays; revoke its key instead.

Parameters

NameType
kennung *string