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
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
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
| Field | Type |
|---|---|
befunde * | list of BefundPublic |
zaehler * | object |
ungesehen | number |
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
| Field | Type |
|---|---|
instanzen * | list of InstanzAntwort |
haenger * | list of HaengerZeile |
laufend * | list of LaufZeile |
gescheitert | number |
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
| Name | Type |
|---|---|
haenger_id * | number |
Response KandidatZeile
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
haenger_id * | number |
Request body app__routers__downloads__ImportWunsch
| Field | Type |
|---|---|
pfade * | list of string |
trotzdem | boolean |
Response AktionsAntwort
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
haenger_id * | number |
Request body EntfernenWunsch
| Field | Type |
|---|---|
neu_suchen | boolean |
Response AktionsAntwort
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
haenger_id * | number |
Response AktionsAntwort
| Field | Type |
|---|---|
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
| Field | Type |
|---|---|
id * | number |
email * | string |
role * | admin | approver | user | child |
created_at * | timestamp (ISO 8601) |
expires_at * | timestamp (ISO 8601) |
eingeloest_am | timestamp (ISO 8601) or null |
konto | string or null |
entfallen | list of string |
server | list 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
| Field | Type |
|---|---|
role | admin | approver | user | child |
auto_approve_movies | boolean |
auto_approve_series | boolean |
fassungen | list of FassungRechtWunsch |
can_request_uhd_movies | boolean |
can_request_uhd_series | boolean |
auto_approve_uhd | boolean |
hausordnung | boolean |
email * | string |
quota_movies_limit | number |
quota_series_limit | number |
storage_limit_gb | number |
server | list of ServerWunsch |
Response InvitationCreated
| Field | Type |
|---|---|
id * | number |
email * | string |
role * | admin | approver | user | child |
created_at * | timestamp (ISO 8601) |
expires_at * | timestamp (ISO 8601) |
eingeloest_am | timestamp (ISO 8601) or null |
konto | string or null |
entfallen | list of string |
server | list of ServerZiel |
mail_sent * | boolean |
mail_error | string or null |
manual_link | string 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
| Name | Type |
|---|---|
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
| Name | Type |
|---|---|
unanswered (query) | boolean |
Response RatingOut
| Field | Type |
|---|---|
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_name | string |
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
| Name | Type |
|---|---|
rating_id * | number |
Request body ReplyIn
| Field | Type |
|---|---|
reply * | string |
Response RatingOut
| Field | Type |
|---|---|
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_name | string |
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
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
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
| Name | Type |
|---|---|
posten_id * | number |
Response StorageLoeschvorschau
| Field | Type |
|---|---|
files * | list of StorageDatei |
total_bytes * | number |
deletable * | boolean |
reason | string |
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
| Name | Type |
|---|---|
posten_id * | number |
Response StoragePosten
| Field | Type |
|---|---|
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) |
path | string |
released_at | timestamp (ISO 8601) or null |
release_wish | string or null |
watched | boolean or null |
managed | boolean |
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
| Name | Type |
|---|---|
posten_id * | number |
Response StoragePosten
| Field | Type |
|---|---|
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) |
path | string |
released_at | timestamp (ISO 8601) or null |
release_wish | string or null |
watched | boolean or null |
managed | boolean |
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
| Name | Type |
|---|---|
ticket_id * | number |
Request body StatusIn
| Field | Type |
|---|---|
status * | open | in_progress | closed |
Response TicketDetail
| Field | Type |
|---|---|
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_offen | boolean |
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
| Field | Type |
|---|---|
eintraege | list of PapierkorbZeile |
sprung | string |
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
| Name | Type |
|---|---|
eintrag_id * | number |
Response ZurueckgeholtAntwort
| Field | Type |
|---|---|
created | boolean |
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
| Field | Type |
|---|---|
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_versions | list of string |
card_versions_always | boolean |
is_active * | boolean |
is_betreiber | boolean |
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_gb | number |
quota_reset_at * | timestamp (ISO 8601) or null |
hausordnung_gelesen_am | timestamp (ISO 8601) or null |
blocked_movie_profiles * | list of number |
blocked_series_profiles * | list of number |
fassung_rechte | list 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_invalid | boolean |
mediaserver_provider * | string or null |
mediaserver_username * | string or null |
mediaserver_linked * | boolean |
mediaserver_accounts | list of VerknuepftesKonto |
oidc_links | list of OidcVerknuepfung |
has_password * | boolean |
discover_region * | string or null |
age * | number or null |
rating_region * | string or null |
hide_unrated * | boolean |
can_manage_children | boolean |
parent_id | number 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
| Name | Type |
|---|---|
user_id * | number |
Request body UserUpdate
| Field | Type |
|---|---|
role | admin | approver | user | child or null |
display_name | string or null |
language | string or null |
is_active | boolean or null |
auto_approve | boolean or null |
auto_approve_movies | boolean or null |
auto_approve_series | boolean or null |
quota_movies_limit | number or null |
quota_series_limit | number or null |
storage_limit_gb | number or null |
blocked_movie_profiles | list of number or null |
blocked_series_profiles | list of number or null |
fassung_rechte | list of FassungRechtWunsch or null |
can_request_uhd_movies | boolean or null |
can_request_uhd_series | boolean or null |
auto_approve_uhd | boolean or null |
blocked_movie_uhd_profiles | list of number or null |
blocked_series_uhd_profiles | list of number or null |
can_manage_children | boolean or null |
Response UserPublic
| Field | Type |
|---|---|
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_versions | list of string |
card_versions_always | boolean |
is_active * | boolean |
is_betreiber | boolean |
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_gb | number |
quota_reset_at * | timestamp (ISO 8601) or null |
hausordnung_gelesen_am | timestamp (ISO 8601) or null |
blocked_movie_profiles * | list of number |
blocked_series_profiles * | list of number |
fassung_rechte | list 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_invalid | boolean |
mediaserver_provider * | string or null |
mediaserver_username * | string or null |
mediaserver_linked * | boolean |
mediaserver_accounts | list of VerknuepftesKonto |
oidc_links | list of OidcVerknuepfung |
has_password * | boolean |
discover_region * | string or null |
age * | number or null |
rating_region * | string or null |
hide_unrated * | boolean |
can_manage_children | boolean |
parent_id | number 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
| Name | Type |
|---|---|
user_id * | number |
Response UserWithUsage
| Field | Type |
|---|---|
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_versions | list of string |
card_versions_always | boolean |
is_active * | boolean |
is_betreiber | boolean |
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_gb | number |
quota_reset_at * | timestamp (ISO 8601) or null |
hausordnung_gelesen_am | timestamp (ISO 8601) or null |
blocked_movie_profiles * | list of number |
blocked_series_profiles * | list of number |
fassung_rechte | list 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_invalid | boolean |
mediaserver_provider * | string or null |
mediaserver_username * | string or null |
mediaserver_linked * | boolean |
mediaserver_accounts | list of VerknuepftesKonto |
oidc_links | list of OidcVerknuepfung |
has_password * | boolean |
discover_region * | string or null |
age * | number or null |
rating_region * | string or null |
hide_unrated * | boolean |
can_manage_children | boolean |
parent_id | number 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
| Name | Type |
|---|---|
user_id * | number |
Response UserWithUsage
| Field | Type |
|---|---|
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_versions | list of string |
card_versions_always | boolean |
is_active * | boolean |
is_betreiber | boolean |
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_gb | number |
quota_reset_at * | timestamp (ISO 8601) or null |
hausordnung_gelesen_am | timestamp (ISO 8601) or null |
blocked_movie_profiles * | list of number |
blocked_series_profiles * | list of number |
fassung_rechte | list 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_invalid | boolean |
mediaserver_provider * | string or null |
mediaserver_username * | string or null |
mediaserver_linked * | boolean |
mediaserver_accounts | list of VerknuepftesKonto |
oidc_links | list of OidcVerknuepfung |
has_password * | boolean |
discover_region * | string or null |
age * | number or null |
rating_region * | string or null |
hide_unrated * | boolean |
can_manage_children | boolean |
parent_id | number 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
| Name | Type |
|---|---|
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
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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 |
storage | AnfragerSpeicher or null |
requester_subscriptions | list of string |
for_child_name | string or null |
import_haengt | string 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
| Name | Type |
|---|---|
user_id * | number |
Request body
| Field | Type |
|---|---|
ziele | object |
movie | TargetChoice or null |
tv | TargetChoice or null |
movie_uhd | TargetChoice or null |
tv_uhd | TargetChoice or null |
Response RequestWithUser
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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 |
storage | AnfragerSpeicher or null |
requester_subscriptions | list of string |
for_child_name | string or null |
import_haengt | string 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
| Name | Type |
|---|---|
request_id * | number |
Request body
| Field | Type |
|---|---|
root_folder_path | string or null |
quality_profile_id | number or null |
Response RequestWithUser
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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 |
storage | AnfragerSpeicher or null |
requester_subscriptions | list of string |
for_child_name | string or null |
import_haengt | string 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
| Name | Type |
|---|---|
request_id * | number |
Response RequestWithUser
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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 |
storage | AnfragerSpeicher or null |
requester_subscriptions | list of string |
for_child_name | string or null |
import_haengt | string 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
| Name | Type |
|---|---|
request_id * | number |
Request body RejectPayload
| Field | Type |
|---|---|
reason | string or null |
block | boolean |
Response RequestWithUser
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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 |
storage | AnfragerSpeicher or null |
requester_subscriptions | list of string |
for_child_name | string or null |
import_haengt | string 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
| Name | Type |
|---|---|
media_type * | movie | tv |
kennung * | string |
page (query) | number |
bestand (query) | egal | nur_vorhanden | nur_neu |
anzahl (query) | number |
Response RegalSeite
| Field | Type |
|---|---|
kennung * | string |
items * | list of MediaItem |
page * | number |
total_pages * | number |
seiten_durchsucht * | number |
erschoepft * | boolean |
demo | boolean |
arr_warning | string 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
| Name | Type |
|---|---|
media_type * | movie | tv |
Response RegalInfo
| Field | Type |
|---|---|
kennung * | string |
gruppe * | string |
kategorie * | string |
persoenlich * | boolean |
titel | string 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
| Name | Type |
|---|---|
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
| Field | Type |
|---|---|
date_from * | string |
date_to * | string |
days | list of CalendarDay |
arr_warning | string or null |
arr_warning_service | string or null |
tmdb_warning | string or null |
demo | boolean |
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
| Name | Type |
|---|---|
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
| Field | Type |
|---|---|
page * | number |
total_pages * | number |
total_results * | number |
items * | list of MediaItem |
demo | boolean |
arr_warning | string 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
| Field | Type |
|---|---|
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
| Field | Type |
|---|---|
media_type * | movie | tv |
tmdb_id * | number |
title | string |
poster_url | string or null |
Response FavoriteOut
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
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
| Field | Type |
|---|---|
request_id * | number |
media_type * | movie | tv |
tmdb_id * | number |
title * | string |
overview | string |
poster_url | string or null |
backdrop_url | string or null |
release_date | string or null |
vote_average | number |
runtime_minutes | number or null |
genres | list of string |
completed_at | timestamp (ISO 8601) or null |
requested_by * | string |
requester_avatar | string or null |
seasons | list 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/home/trendingTrending and missingmay change
Same as GET /api/home/trending in the web interface, for the iPhone app.
Response MediaItem
| Field | Type |
|---|---|
media_type * | movie | tv |
tmdb_id * | number |
tvdb_id | number or null |
title * | string |
original_title | string or null |
overview | string |
poster_url | string or null |
backdrop_url | string or null |
release_date | string or null |
vote_average | number |
vote_count | number |
genres | list of string |
genre_ids | list of number |
runtime_minutes | number or null |
certification | string or null |
original_language | string or null |
origin_country | list of string |
seasons | list of SeasonInfo |
status | string |
status_uhd | string or null |
fassungen | list of FassungAchse |
watched | boolean |
watched_on | list of string |
watched_not_on | list of string |
path | string or null |
path_uhd | string or null |
uhd_in_standard | boolean |
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/house-rulesHouse rulesmay change
Same as GET /api/hausordnung in the web interface, for the iPhone app.
Response HausordnungOeffentlich
| Field | Type |
|---|---|
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
| Field | Type |
|---|---|
akzeptiert | boolean |
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
| Name | Type |
|---|---|
media_type (query) | movie | tv |
Response KidsCategory
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
rubrik * | string |
media_type (query) | movie | tv |
page (query) | number |
Response KidsItems
| Field | Type |
|---|---|
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/searchSearch as a childmay change
Same as GET /api/kids/search in the web interface, for the iPhone app.
Parameters
| Name | Type |
|---|---|
q (query) * | string |
media_type (query) | movie | tv |
page (query) | number |
Response KidsItems
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
media_type * | movie | tv |
tmdb_id * | number |
Response MediaDetail
| Field | Type |
|---|---|
media_type * | movie | tv |
tmdb_id * | number |
tvdb_id | number or null |
title * | string |
original_title | string or null |
overview | string |
poster_url | string or null |
backdrop_url | string or null |
release_date | string or null |
vote_average | number |
vote_count | number |
genres | list of string |
genre_ids | list of number |
runtime_minutes | number or null |
certification | string or null |
original_language | string or null |
origin_country | list of string |
seasons | list of SeasonInfo |
status | string |
status_uhd | string or null |
fassungen | list of FassungAchse |
watched | boolean |
watched_on | list of string |
watched_not_on | list of string |
path | string or null |
path_uhd | string or null |
uhd_in_standard | boolean |
tagline | string |
homepage | string or null |
status_text | string |
original_country | list of string |
spoken_languages | list of string |
budget | number or null |
revenue | number or null |
studios | list of NamedRef |
keywords | list of NamedRef |
trailer | Trailer or null |
watch | WatchProviders or null |
in_my_subscriptions | list of string |
watching | boolean |
requested_by_me | boolean |
status_unconfirmed | boolean |
status_refused | boolean |
my_feedback | MeineRueckmeldung or null |
open_ticket | boolean |
cast | list of CastMember |
crew | list of CrewMember |
recommendations | list of MediaItem |
collection | MovieCollection or null |
seasons_total | number or null |
episodes_total | number or null |
series_status | string |
networks | list 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
| Field | Type |
|---|---|
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
| Field | Type |
|---|---|
media_type * | movie | tv |
tmdb_id * | number |
Response WishOut
| Field | Type |
|---|---|
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
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
media_type * | movie | tv |
tmdb_id * | number |
Response MediaItem
| Field | Type |
|---|---|
media_type * | movie | tv |
tmdb_id * | number |
tvdb_id | number or null |
title * | string |
original_title | string or null |
overview | string |
poster_url | string or null |
backdrop_url | string or null |
release_date | string or null |
vote_average | number |
vote_count | number |
genres | list of string |
genre_ids | list of number |
runtime_minutes | number or null |
certification | string or null |
original_language | string or null |
origin_country | list of string |
seasons | list of SeasonInfo |
status | string |
status_uhd | string or null |
fassungen | list of FassungAchse |
watched | boolean |
watched_on | list of string |
watched_not_on | list of string |
path | string or null |
path_uhd | string or null |
uhd_in_standard | boolean |
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
| Name | Type |
|---|---|
unread_only (query) | boolean |
limit (query) | number |
Response NotificationPublic
| Field | Type |
|---|---|
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 |
season | number or null |
episodes | list 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
| Name | Type |
|---|---|
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
| Name | Type |
|---|---|
pairing_id * | string |
Request body
| Field | Type | Meaning |
|---|---|---|
device | string | The device's name, e.g. "Mia's iPad". Shown in the list of keys. |
Response AbgeholterSchluessel
| Field | Type | Meaning |
|---|---|---|
key * | string | The 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
| Field | Type |
|---|---|
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_name | string |
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
| Name | Type |
|---|---|
media_type * | string |
tmdb_id * | number |
Request body RatingIn
| Field | Type |
|---|---|
rating * | number |
comment | string or null |
title | string |
season | number or null |
Response RatingOut
| Field | Type |
|---|---|
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_name | string |
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
| Field | Type |
|---|---|
media_type * | movie | tv |
fassung | string or null |
tier | standard | uhd |
tmdb_id * | number |
quality_profile_id | number or null |
root_folder_path | string or null |
monitor_future | boolean |
tvdb_id | number or null |
season | number or null |
episodes | list of number or null |
from_watchlist | boolean |
Response RequestPublic
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
request_id * | number |
Response RequestPublic
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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
| Name | Type |
|---|---|
media_type * | movie | tv |
q (query) * | string |
page (query) | number |
Response MediaPage
| Field | Type |
|---|---|
page * | number |
total_pages * | number |
total_results * | number |
items * | list of MediaItem |
demo | boolean |
arr_warning | string 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
| Name | Type |
|---|---|
posten_id * | number |
Request body
| Field | Type |
|---|---|
wish | string or null |
Response StoragePosten
| Field | Type |
|---|---|
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) |
path | string |
released_at | timestamp (ISO 8601) or null |
release_wish | string or null |
watched | boolean or null |
managed | boolean |
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
| Name | Type |
|---|---|
posten_id * | number |
Response StoragePosten
| Field | Type |
|---|---|
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) |
path | string |
released_at | timestamp (ISO 8601) or null |
release_wish | string or null |
watched | boolean or null |
managed | boolean |
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
| Name | Type |
|---|---|
q (query) | string |
page (query) | number |
gesehen (query) | boolean |
Response StorageMine
| Field | Type |
|---|---|
used_bytes * | number |
items * | number |
limit_bytes | number or null |
pending_bytes * | number |
zurechenbar | boolean |
watched_available | boolean |
matches | number |
per_page | number |
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
| Name | Type |
|---|---|
status (query) | open | in_progress | closed or null |
user_id (query) | number or null |
Response TicketOut
| Field | Type |
|---|---|
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
| Field | Type |
|---|---|
subject * | string |
body * | string |
user_id | number or null |
media_type | movie | tv or null |
tmdb_id | number or null |
media_title | string or null |
Response TicketDetail
| Field | Type |
|---|---|
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_offen | boolean |
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
| Name | Type |
|---|---|
ticket_id * | number |
Response TicketDetail
| Field | Type |
|---|---|
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_offen | boolean |
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
| Name | Type |
|---|---|
ticket_id * | number |
Request body MessageIn
| Field | Type |
|---|---|
body * | string |
Response TicketDetail
| Field | Type |
|---|---|
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_offen | boolean |
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
| Field | Type |
|---|---|
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
| Field | Type |
|---|---|
status | string |
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
| Field | Type |
|---|---|
id * | number |
child_id * | number |
child_name * | string |
media_type * | string |
tmdb_id * | number |
title * | string |
poster_path * | string or null |
in_my_subscriptions | list 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
| Name | Type |
|---|---|
wish_id * | number |
Request body WishDecline
| Field | Type |
|---|---|
note | string 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
| Name | Type |
|---|---|
wish_id * | number |
Request body WishRelease
| Field | Type |
|---|---|
quality_profile_id | number or null |
root_folder_path | string or null |
season | number or null |
episodes | list of number or null |
monitor_future | boolean |
fassung | string or null |
tier | standard | uhd |
Response RequestPublic
| Field | Type |
|---|---|
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_uhd | boolean |
root_folder_path * | string or null |
season * | number or null |
episodes | list of number or null |
from_watchlist * | boolean |
arr_linked | boolean |
requested_at * | timestamp (ISO 8601) |
approved_at * | timestamp (ISO 8601) or null |
completed_at * | timestamp (ISO 8601) or null |
approved_by_name | string or null |
last_checked_at | timestamp (ISO 8601) or null |
laedt_fortschritt | number or null |
laedt_seit | timestamp (ISO 8601) or null |
rejection_reason * | string or null |
regel_name | string or null |
darf_trotzdem_fragen | boolean |
trotzdem_gefragt | boolean |
error_message * | string or null |
error_detail | object or null |
rating * | number or null |
feedback * | string or null |
rated_at * | timestamp (ISO 8601) or null |
rating_outdated | boolean |
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
| Name | Type |
|---|---|
child_id * | number |
Request body
| Field | Type |
|---|---|
adresse | string |
Response KopplungNeu
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
child_id * | number |
Response app__routers__app_kopplung__Geraet
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
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
| Field | Type |
|---|---|
adresse | string |
Response KopplungNeu
| Field | Type |
|---|---|
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
| Name | Type |
|---|---|
kennung * | string |
Response KopplungStand
| Field | Type |
|---|---|
stand * | string |
geraet | string 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
| Name | Type |
|---|---|
kennung * | string |