Accounts
60 addresses. Not promised — they belong to the internals and can change with any release. If you need something to stay put, use the promised thirteen.
POST
/api/auth/login
may change
Sign in
Exchanges username or e-mail and password for an access token. The refresh token comes back as an HttpOnly cookie rather than in the body, so no script in the page can read it. Repeated failures slow the endpoint down deliberately.
Fields and shape
Request body
usernamestring requiredpasswordstring requiredResponse
access_tokenstring requiredtoken_typestringexpires_innumber requiredResponse shape
{
"access_token": "string",
"token_type": "string",
"expires_in": "number"
}
POST
/api/auth/logout
may change
Sign out of this browser
Clears the cookie. Without an authentication check, on purpose: anyone who wants to sign out should be able to, even if their access token expired long ago. Note this ends the session in this browser only - to end them everywhere, see the sign-out-everywhere endpoint.
GET
/api/auth/me
may change
Your own account
Everything the calling account knows about itself: name, role, language, theme, quota settings and linked media-server accounts.
Fields and shape
Response
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
PATCH
/api/auth/me
may change
Change your own account
Display name, language, region, theme and notification preferences. The username is not among them: it appears in requests, approvals and the Radarr/Sonarr labels, and changing it afterwards would tear those traces apart.
Fields and shape
Request body
display_namestring or nulllanguagestring or nullthemestring or nullmail_download_completeboolean or nullmail_request_pendingboolean or nullmail_request_decidedboolean or nullmail_feedbackboolean or nullmail_ticketboolean or nullmail_watchboolean or nullmail_user_importedboolean or nullmail_mediaserver_reconnectboolean or nullmail_storageboolean or nullmail_child_wishboolean or nullmail_cleanupboolean or nulldiscover_regionstring or nullResponse
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
DELETE
/api/auth/me/avatar
may change
Remove your profile picture
Deletes the picture file and falls back to the generated initials.
Fields and shape
Response
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
POST
/api/auth/me/avatar
may change
Upload a profile picture
Accepts PNG, JPEG, GIF and WebP. The image is scaled down and re-encoded on the server, so what ends up stored is not the file that was sent.
Fields and shape
Response
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
PUT
/api/auth/me/email
may change
Change your own e-mail address
The new address only counts as confirmed once the link in the mail has been clicked - otherwise anyone could enter somebody else's address. Until then the old one stays in force for password resets.
Fields and shape
Request body
emailstring requiredResponse
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
POST
/api/auth/me/password
may change
Change your own password
Changes the password and signs out every other device. Since 0.21 any token older than password_changed_at is refused, so a copy somebody made of your session stops working the moment you change it.
Fields and shape
Request body
current_passwordstring requirednew_passwordstring requiredResponse
access_tokenstring requiredtoken_typestringexpires_innumber requiredResponse shape
{
"access_token": "string",
"token_type": "string",
"expires_in": "number"
}
POST
/api/auth/me/resend-verification
may change
Send the confirmation mail again
Requests a fresh confirmation mail for an address that has not been confirmed yet.
Fields and shape
Response
sentboolean requirederrorstring or nullResponse shape
{
"sent": "boolean",
"error": "string | null"
}
GET
/api/auth/me/schluessel
may change
Your own API tokens
Lists the tokens belonging to the calling account - name, preview, whether it may only read, when it expires and when it was last used. Never the token itself; that exists once, at creation.
Fields and shape
Response
idnumber requirednamestring requiredvorschaustring requirednur_lesenboolean requiredcreated_attimestamp (ISO 8601) requiredexpires_attimestamp (ISO 8601) or null requiredlast_used_attimestamp (ISO 8601) or null requiredResponse shape
[
{
"id": "number",
"name": "string",
"vorschau": "string",
"nur_lesen": "boolean",
"created_at": "ISO 8601",
"expires_at": "ISO 8601 | null",
"last_used_at": "ISO 8601 | null"
}
]
POST
/api/auth/me/schluessel
may change
Create an API token
⚠️ The plain text appears in this one response and nowhere else. Afterwards only a checksum remains, and not even an administrator can look it up. A token inherits the rights of the account it belongs to; nur_lesen restricts it to GET requests. Child accounts cannot create tokens.
Fields and shape
Request body
namestring requirednur_lesenbooleantagenumber or nullResponse
idnumber requirednamestring requiredvorschaustring requirednur_lesenboolean requiredcreated_attimestamp (ISO 8601) requiredexpires_attimestamp (ISO 8601) or null requiredlast_used_attimestamp (ISO 8601) or null requiredschluesselstring requiredResponse shape
{
"id": "number",
"name": "string",
"vorschau": "string",
"nur_lesen": "boolean",
"created_at": "ISO 8601",
"expires_at": "ISO 8601 | null",
"last_used_at": "ISO 8601 | null",
"schluessel": "string"
}
DELETE
/api/auth/me/schluessel/{schluessel_id}
may change
Revoke one of your tokens
Takes effect immediately - anything using that token is locked out from the next request onwards. You can only revoke your own; an administrator can see foreign tokens but not switch them off.
Fields and shape
Parameters
schluessel_idnumber path required
POST
/api/auth/me/ueberall-abmelden
may change
Sign out everywhere
Ends every session of this account on every device, including the one making the call, without changing the password. ⚠️ The way out that did not exist before 0.22. Ordinary sign-out only removes the cookie from this browser; a copy taken elsewhere kept working until it expired, up to 30 days.
Fields and shape
Response
access_tokenstring requiredtoken_typestringexpires_innumber requiredResponse shape
{
"access_token": "string",
"token_type": "string",
"expires_in": "number"
}
POST
/api/auth/refresh
may change
Renew the access token
The refresh token is read from the HttpOnly cookie, not from the request body. Clients still holding a token in localStorage from an older version have to sign in once.
Fields and shape
Response
access_tokenstring requiredtoken_typestringexpires_innumber requiredResponse shape
{
"access_token": "string",
"token_type": "string",
"expires_in": "number"
}
GET
/api/children
may change
Your own child accounts
The child profiles belonging to the calling account. Anyone without children gets an empty list. Child accounts are not accounts of their own: they are sub-profiles of a parent, and everything they cause runs against the parent's quota.
Fields and shape
Response
idnumber requiredusernamestring requireddisplay_namestring or null requiredagenumber or null requiredis_activeboolean requiredlanguagestring requiredchild_trailersbooleangenreslist of string requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredResponse shape
[
{
"id": "number",
"username": "string",
"display_name": "string | null",
"age": "number | null",
"is_active": "boolean",
"language": "string",
"child_trailers": "boolean",
"genres": [
"string"
],
"created_at": "ISO 8601",
"last_login_at": "ISO 8601 | null"
}
]
POST
/api/children
may change
Create a child profile
Needs permission from an administrator first. The child gets its own sign-in and its own set of enabled categories, but no media-server link and no quota of its own.
Fields and shape
Request body
usernamestring requiredpasswordstring requiredagenumber requireddisplay_namestring or nullgenreslist of string or nullchild_trailersbooleanlanguagestring or nullResponse
idnumber requiredusernamestring requireddisplay_namestring or null requiredagenumber or null requiredis_activeboolean requiredlanguagestring requiredchild_trailersbooleangenreslist of string requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"username": "string",
"display_name": "string | null",
"age": "number | null",
"is_active": "boolean",
"language": "string",
"child_trailers": "boolean",
"genres": [
"string"
],
"created_at": "ISO 8601",
"last_login_at": "ISO 8601 | null"
}
GET
/api/children/genres
may change
The categories a child can be given
The selectable categories in their fixed order. The interface fetches them here rather than listing them itself - otherwise there would be two lists that drift apart.
POST
/api/children/request-permission
may change
Ask to be allowed child profiles
A button, not a form: the text is fixed, so nobody has to invent one. Lands as a ticket with the administrators.
GET
/api/children/wishes
may change
Wishes waiting for your decision
What the children of the calling account have wished for and nobody has decided yet.
Fields and shape
Response
idnumber requiredchild_idnumber requiredchild_namestring requiredmedia_typestring requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredin_my_subscriptionslist of stringrelease_datestring or null requiredcreated_atstring requiredResponse 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/children/wishes/{wish_id}/decline
may change
Turn down a wish
The child is told, and the wish is closed. Nothing is requested.
Fields and shape
Parameters
wish_idnumber path requiredRequest body
notestring or null
POST
/api/children/wishes/{wish_id}/release
may change
Turn a wish into a request
The wish becomes a request in the parent's name. The title is fetched from their point of view: it is their request, against their quota and their age settings.
Fields and shape
Parameters
wish_idnumber path requiredRequest body
quality_profile_idnumber or nullroot_folder_pathstring or nullseasonnumber or nullmonitor_futurebooleantierstandard | uhdResponse
idnumber requiredmedia_typemovie | tv requiredtierstandard | uhd requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatuspending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred requiredquality_profile_idnumber or null requiredroot_folder_pathstring or null requiredseasonnumber or null requiredfrom_watchlistboolean requiredrequested_attimestamp (ISO 8601) requiredapproved_attimestamp (ISO 8601) or null requiredcompleted_attimestamp (ISO 8601) or null requiredapproved_by_namestring or nulllast_checked_attimestamp (ISO 8601) or nullrejection_reasonstring or null requirederror_messagestring or null requiredratingnumber or null requiredfeedbackstring or null requiredrated_attimestamp (ISO 8601) or null requiredrating_outdatedbooleanfeedback_replystring or null requiredreplied_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"media_type": "movie | tv",
"tier": "standard | uhd",
"tmdb_id": "number",
"title": "string",
"poster_path": "string | null",
"release_date": "string | null",
"status": "pending_approval | approved | searching | downloaded | rejected | failed | cancelled | deleted | deferred",
"quality_profile_id": "number | null",
"root_folder_path": "string | null",
"season": "number | null",
"from_watchlist": "boolean",
"requested_at": "ISO 8601",
"approved_at": "ISO 8601 | null"
}
DELETE
/api/children/{child_id}
may change
Delete a child profile
Removes the profile and its sign-in. Requests already made in the parent's name are unaffected - they were never the child's.
Fields and shape
Parameters
child_idnumber path required
PATCH
/api/children/{child_id}
may change
Change a child profile
Display name, enabled categories and age limit.
Fields and shape
Parameters
child_idnumber path requiredRequest body
display_namestring or nullagenumber or nullis_activeboolean or nullgenreslist of string or nullchild_trailersboolean or nulllanguagestring or nullResponse
idnumber requiredusernamestring requireddisplay_namestring or null requiredagenumber or null requiredis_activeboolean requiredlanguagestring requiredchild_trailersbooleangenreslist of string requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"username": "string",
"display_name": "string | null",
"age": "number | null",
"is_active": "boolean",
"language": "string",
"child_trailers": "boolean",
"genres": [
"string"
],
"created_at": "ISO 8601",
"last_login_at": "ISO 8601 | null"
}
POST
/api/children/{child_id}/password
may change
Set a child's password
The parent sets it directly. A child has no e-mail address, so there is no reset link to send.
Fields and shape
Parameters
child_idnumber path requiredRequest body
passwordstring requiredResponse
idnumber requiredusernamestring requireddisplay_namestring or null requiredagenumber or null requiredis_activeboolean requiredlanguagestring requiredchild_trailersbooleangenreslist of string requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredResponse shape
{
"id": "number",
"username": "string",
"display_name": "string | null",
"age": "number | null",
"is_active": "boolean",
"language": "string",
"child_trailers": "boolean",
"genres": [
"string"
],
"created_at": "ISO 8601",
"last_login_at": "ISO 8601 | null"
}
GET
/api/children/{child_id}/preview/backdrops
may change
Preview: the child's backdrops
What the child sees behind its start page. Part of the preview, so a parent can check what they have enabled without signing in as the child.
Fields and shape
Parameters
child_idnumber path required
GET
/api/children/{child_id}/preview/categories
may change
Preview: the child's start page
The start page exactly as this child would see it - one tile per enabled category.
Fields and shape
Parameters
child_idnumber path requiredmedia_typestring queryResponse
rubrikstring requiredbilderlist of string requiredResponse shape
[
{
"rubrik": "string",
"bilder": [
"string"
]
}
]
GET
/api/children/{child_id}/preview/rubrik/{rubrik}
may change
Preview: one category
Everything in one category, as the child would see it. The category is checked against what this child is allowed.
Fields and shape
Parameters
child_idnumber path requiredrubrikstring path requiredmedia_typestring querypagenumber queryResponse
verfuegbarlist of MediaItem requiredwuenschbarlist of MediaItem requiredgewuenschtlist of numberResponse 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"
],
"runtime_minutes": "number | null",
"certification": "string | 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"
],
"runtime_minutes": "number | null",
"certification": "string | null"
}
],
"gewuenscht": [
"number"
]
}
GET
/api/children/{child_id}/preview/search
may change
Preview: the child's search
Searches within the child's enabled categories only, so a parent can see what a search would turn up.
Fields and shape
Parameters
child_idnumber path requiredqstring querymedia_typestring querypagenumber queryResponse
verfuegbarlist of MediaItem requiredwuenschbarlist of MediaItem requiredgewuenschtlist of numberResponse 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"
],
"runtime_minutes": "number | null",
"certification": "string | 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"
],
"runtime_minutes": "number | null",
"certification": "string | null"
}
],
"gewuenscht": [
"number"
]
}
GET
/api/children/{child_id}/preview/title/{media_type}/{tmdb_id}
may change
Preview: one title
A single title exactly as the child would see it, including the category check.
Fields and shape
Parameters
child_idnumber path requiredmedia_typestring path requiredtmdb_idnumber path requiredResponse
media_typemovie | tv requiredtmdb_idnumber requiredtvdb_idnumber or nulltitlestring requiredoriginal_titlestring or nulloverviewstringposter_urlstring or nullbackdrop_urlstring or nullrelease_datestring or nullvote_averagenumbervote_countnumbergenreslist of stringruntime_minutesnumber or nullcertificationstring or nulloriginal_languagestring or nullorigin_countrylist of stringseasonslist of SeasonInfostatusstringstatus_uhdstring or nullwatchedbooleanwatched_onlist of stringwatched_not_onlist of stringpathstring or nullpath_uhdstring or nulluhd_in_standardbooleantaglinestringhomepagestring or nullstatus_textstringoriginal_countrylist of stringspoken_languageslist of stringbudgetnumber or nullrevenuenumber or nullstudioslist of NamedRefkeywordslist of NamedReftrailerTrailer or nullwatchWatchProviders or nullin_my_subscriptionslist of stringwatchingbooleanrequested_by_mebooleanmy_feedbackMeineRueckmeldung or nullopen_ticketbooleancastlist of CastMembercrewlist of CrewMemberrecommendationslist of MediaItemseasons_totalnumber or nullepisodes_totalnumber or nullseries_statusstringnetworkslist of NamedRefResponse 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"
],
"runtime_minutes": "number | null",
"certification": "string | null"
}
GET
/api/kids/backdrops
may change
Backdrops for the start page
Images for the background of the children's view.
GET
/api/kids/categories
may change
The children's start page
One tile per enabled category. Categories first, titles second - so a child sees what things are about instead of walking into a wall of posters.
Fields and shape
Parameters
media_typemovie | tv queryResponse
rubrikstring requiredbilderlist of string requiredResponse shape
[
{
"rubrik": "string",
"bilder": [
"string"
]
}
]
GET
/api/kids/rubrik/{rubrik}
may change
Everything in one category
The whole category at once rather than a sideways-scrolling row. ⚠️ The category is checked: otherwise one that was never enabled could be requested through the address bar.
Fields and shape
Parameters
rubrikstring path requiredmedia_typemovie | tv querypagenumber queryResponse
verfuegbarlist of MediaItem requiredwuenschbarlist of MediaItem requiredgewuenschtlist of number requiredResponse 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"
],
"runtime_minutes": "number | null",
"certification": "string | 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"
],
"runtime_minutes": "number | null",
"certification": "string | null"
}
],
"gewuenscht": [
"number"
]
}
GET
/api/kids/search
may change
Search, within the enabled categories only
The restriction sits in the service, not in the interface. If nothing is found, the child is told so plainly rather than being shown an empty page.
Fields and shape
Parameters
qstring query requiredmedia_typemovie | tv querypagenumber queryResponse
verfuegbarlist of MediaItem requiredwuenschbarlist of MediaItem requiredgewuenschtlist of number requiredResponse 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"
],
"runtime_minutes": "number | null",
"certification": "string | 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"
],
"runtime_minutes": "number | null",
"certification": "string | null"
}
],
"gewuenscht": [
"number"
]
}
GET
/api/kids/title/{media_type}/{tmdb_id}
may change
One title for a child
A single title with its trailer and nothing else. ⚠️ The category is checked here too, not only when listing: otherwise a blocked title could be reached straight through the address bar.
Fields and shape
Parameters
media_typemovie | tv path requiredtmdb_idnumber path requiredResponse
media_typemovie | tv requiredtmdb_idnumber requiredtvdb_idnumber or nulltitlestring requiredoriginal_titlestring or nulloverviewstringposter_urlstring or nullbackdrop_urlstring or nullrelease_datestring or nullvote_averagenumbervote_countnumbergenreslist of stringruntime_minutesnumber or nullcertificationstring or nulloriginal_languagestring or nullorigin_countrylist of stringseasonslist of SeasonInfostatusstringstatus_uhdstring or nullwatchedbooleanwatched_onlist of stringwatched_not_onlist of stringpathstring or nullpath_uhdstring or nulluhd_in_standardbooleantaglinestringhomepagestring or nullstatus_textstringoriginal_countrylist of stringspoken_languageslist of stringbudgetnumber or nullrevenuenumber or nullstudioslist of NamedRefkeywordslist of NamedReftrailerTrailer or nullwatchWatchProviders or nullin_my_subscriptionslist of stringwatchingbooleanrequested_by_mebooleanmy_feedbackMeineRueckmeldung or nullopen_ticketbooleancastlist of CastMembercrewlist of CrewMemberrecommendationslist of MediaItemseasons_totalnumber or nullepisodes_totalnumber or nullseries_statusstringnetworkslist of NamedRefResponse 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"
],
"runtime_minutes": "number | null",
"certification": "string | null"
}
GET
/api/kids/wishes
may change
The child's own wishes
What this child has wished for and what became of each wish.
Fields and shape
Response
idnumber requiredmedia_typestring requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatestring requireddecline_notestring or null requiredcreated_atstring requiredResponse 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/kids/wishes
may change
Wish for something
The title is fetched from TMDB again here, with this child's settings: a blocked title fails the age check at that point rather than after the parent has already seen it.
Fields and shape
Request body
media_typemovie | tv requiredtmdb_idnumber requiredResponse
idnumber requiredmedia_typestring requiredtmdb_idnumber requiredtitlestring requiredposter_pathstring or null requiredrelease_datestring or null requiredstatestring requireddecline_notestring or null requiredcreated_atstring requiredResponse 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/onboarding/forgot-password
may change
Request a password reset link
The response is always the same, whether the address exists or not. Otherwise anyone could probe here for who has an account - and on a private installation, that is exactly the list nobody should be able to build.
Fields and shape
Request body
emailstring requiredResponse
messagestring requiredResponse shape
{
"message": "string"
}
GET
/api/onboarding/invitation/{raw}
may change
Check an invitation link
Says whether the link is still valid and what it offers, without signing anybody in. Used by the page behind the link to decide between a form and an explanation.
Fields and shape
Parameters
rawstring path requiredResponse
emailstring requiredroleadmin | approver | user | child requiredResponse shape
{
"email": "string",
"role": "admin | approver | user | child"
}
POST
/api/onboarding/invitation/{raw}
may change
Redeem an invitation
Creates the account the way the invited person wants it - username, password, display name. The account does not exist until this call succeeds.
Fields and shape
Parameters
rawstring path requiredRequest body
usernamestring requireddisplay_namestring or nullpasswordstring required
GET
/api/onboarding/password/{raw}
may change
Check a password link
Says whether a reset or first-password link is still valid, so the page can show a form or an explanation instead of failing on submit.
Fields and shape
Parameters
rawstring path requiredResponse
usernamestring requiredResponse shape
{
"username": "string"
}
POST
/api/onboarding/password/{raw}
may change
Set a password
First password or a new one. The address counts as confirmed afterwards - the mail evidently arrived. Every existing session becomes invalid: anyone resetting a password has a reason to assume somebody else was in.
Fields and shape
Parameters
rawstring path requiredRequest body
passwordstring required
PUT
/api/onboarding/pending/email
may change
Correct an unconfirmed address
The most common reason for a mail that never arrives is a typo. Without this route the installation would be stuck: no confirmed address, no sign-in, and no way to fix the address.
Fields and shape
Request body
usernamestring requiredpasswordstring requiredemailstring requiredResponse
sentboolean requirederrorstring or nullResponse shape
{
"sent": "boolean",
"error": "string | null"
}
POST
/api/onboarding/pending/resend
may change
Send the confirmation mail again, without signing in
The counterpart to the signed-in version, for an account that cannot sign in yet because its address is unconfirmed.
Fields and shape
Request body
usernamestring requiredpasswordstring requiredResponse
sentboolean requirederrorstring or nullResponse shape
{
"sent": "boolean",
"error": "string | null"
}
GET
/api/onboarding/username-available
may change
Is this username still free
Answers while somebody is still typing. Deliberately open without authentication: whoever is redeeming an invitation is nobody yet. It reveals only whether a name is taken - the same thing the form would reveal on submit.
Fields and shape
Parameters
usernamestring query requiredResponse
availableboolean requiredResponse shape
{
"available": "boolean"
}
POST
/api/onboarding/verify/{raw}
may change
Confirm an e-mail address
Marks the address behind the link as confirmed.
Fields and shape
Parameters
rawstring path required
POST
/api/setup/admin
may change
Create the first administrator
Only works while the installation is still empty. Afterwards accounts come into being through invitations.
Fields and shape
Request body
usernamestring requiredpasswordstring requiredemailstring requireddisplay_namestring or nulllanguagestringResponse
access_tokenstring requiredtoken_typestringexpires_innumber requiredResponse shape
{
"access_token": "string",
"token_type": "string",
"expires_in": "number"
}
POST
/api/setup/sicherung/einspielen
may change
Set up from a backup
Builds the fresh installation from a backup file. Setup is finished afterwards: the accounts come from the backup, and the wizard does not appear again.
POST
/api/setup/sicherung/pruefen
may change
Inspect a backup file
Reports what a backup contains and whether this version can restore it - without replacing anything. A backup from a newer version is refused, because the database can only be migrated forward.
GET
/api/setup/status
may change
Is setup still needed
Says whether this installation has been set up yet, and which step it stopped at. Answers without authentication - there is nobody to authenticate as.
Fields and shape
Response
needs_setupboolean requiredmin_password_lengthnumbermediaserver_loginbooleanmediaserver_providerstring or nullmediaserver_login_wayslist of AnmeldeWegResponse shape
{
"needs_setup": "boolean",
"min_password_length": "number",
"mediaserver_login": "boolean",
"mediaserver_provider": "string | null",
"mediaserver_login_ways": [
{
"provider": "string",
"label": "string",
"kind": "string"
}
]
}
GET
/api/users
may change
All accounts
Every account with its role, quota and current usage. Administrators only.
Fields and shape
Response
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullquota_movies_usednumber requiredquota_series_usednumber requiredResponse shape
[
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
]
GET
/api/users/api-schluessel
may change
All API tokens in this installation
Who holds which token, when it was made and when it was last used. Never the token itself - an administrator can supervise, not read. Revoking is not offered here: only the owner can switch off their own token.
Fields and shape
Response
idnumber requireduser_idnumber requiredusernamestring requirednamestring requiredvorschaustring requirednur_lesenboolean requiredcreated_attimestamp (ISO 8601) requiredexpires_attimestamp (ISO 8601) or null requiredlast_used_attimestamp (ISO 8601) or null requiredResponse shape
[
{
"id": "number",
"user_id": "number",
"username": "string",
"name": "string",
"vorschau": "string",
"nur_lesen": "boolean",
"created_at": "ISO 8601",
"expires_at": "ISO 8601 | null",
"last_used_at": "ISO 8601 | null"
}
]
GET
/api/users/invitations
may change
Open invitations
Invitations that have neither been redeemed nor expired. Used-up ones are of no further interest.
Fields and shape
Response
idnumber requiredemailstring requiredroleadmin | approver | user | child requiredcreated_attimestamp (ISO 8601) requiredexpires_attimestamp (ISO 8601) requiredResponse shape
[
{
"id": "number",
"email": "string",
"role": "admin | approver | user | child",
"created_at": "ISO 8601",
"expires_at": "ISO 8601"
}
]
POST
/api/users/invitations
may change
Invite somebody
The account comes into being when the link is redeemed, not now. Needs both pieces in place: without a public address the mail contains a dead link, without a mail server it never goes out.
Fields and shape
Request body
emailstring requiredroleadmin | approver | user | childquota_movies_limitnumberquota_series_limitnumberResponse
idnumber requiredemailstring requiredroleadmin | approver | user | child requiredcreated_attimestamp (ISO 8601) requiredexpires_attimestamp (ISO 8601) requiredmail_sentboolean requiredmail_errorstring or nullmanual_linkstring or nullResponse shape
{
"id": "number",
"email": "string",
"role": "admin | approver | user | child",
"created_at": "ISO 8601",
"expires_at": "ISO 8601",
"mail_sent": "boolean",
"mail_error": "string | null",
"manual_link": "string | null"
}
DELETE
/api/users/invitations/{invitation_id}
may change
Withdraw an invitation
The link stops working immediately.
Fields and shape
Parameters
invitation_idnumber path required
DELETE
/api/users/{user_id}
may change
Delete an account
Approved requests move into the house collection - they stay, just without an owner. Only what is still open gets cancelled. Use the preview first to see exactly what will happen.
Fields and shape
Parameters
user_idnumber path requiredRequest body
hauslist of numberloeschenlist of numberstaffelnlist of Staffelwahloffen_behaltenlist of number
PATCH
/api/users/{user_id}
may change
Change an account
Role, quota, auto-approval, active state and display name. Administrators only.
Fields and shape
Parameters
user_idnumber path requiredRequest body
roleadmin | approver | user | child or nulldisplay_namestring or nulllanguagestring or nullis_activeboolean or nullauto_approveboolean or nullauto_approve_moviesboolean or nullauto_approve_seriesboolean or nullquota_movies_limitnumber or nullquota_series_limitnumber or nullstorage_limit_gbnumber or nullblocked_movie_profileslist of number or nullblocked_series_profileslist of number or nullcan_request_uhd_moviesboolean or nullcan_request_uhd_seriesboolean or nullauto_approve_uhdboolean or nullblocked_movie_uhd_profileslist of number or nullblocked_series_uhd_profileslist of number or nullcan_manage_childrenboolean or nullResponse
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
GET
/api/users/{user_id}/aufloesung
may change
Preview: what deleting would leave behind
What this account would leave behind - without anything happening. The administrator decides with this list in front of them: per item house or delete, per open request keep or cancel.
Fields and shape
Parameters
user_idnumber path requiredResponse
postenlist of AufloesungsPosten requiredlaufendelist of LaufendeZeile requiredoffenlist of OffeneZeile requiredResponse shape
{
"posten": [
{
"id": "number",
"title": "string",
"tier": "string",
"season": "number | null",
"media_type": "string",
"size_bytes": "number"
}
],
"laufende": [
{
"request_id": "number",
"title": "string",
"tier": "string",
"season": "number | null",
"dateien": "number",
"folgen": "number"
}
],
"offen": [
{
"request_id": "number",
"title": "string",
"tier": "string",
"season": "number | null"
}
]
}
POST
/api/users/{user_id}/password
may change
Set an account's password
An administrator sets a new password directly, for the case where mail is not working and the reset link cannot arrive.
Fields and shape
Parameters
user_idnumber path requiredRequest body
passwordstring required
POST
/api/users/{user_id}/quota/reset
may change
Reset the request count
Sets usage in the current period back to zero. The requests themselves stay - counting simply starts again from now. At the next period change the calendar takes over as usual.
Fields and shape
Parameters
user_idnumber path requiredResponse
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullquota_movies_usednumber requiredquota_series_usednumber requiredResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}
POST
/api/users/{user_id}/storage/reset
may change
Move an account's storage to the house
The counterpart to resetting the request count, and the way out of a ghost item: something requested through Nexview that no longer exists in Radarr or Sonarr keeps counting against its owner forever otherwise.
Fields and shape
Parameters
user_idnumber path requiredResponse
idnumber requiredusernamestring requiredroleadmin | approver | user | child requireddisplay_namestring or null requiredemailstring or null requiredemail_verifiedboolean requiredlanguagestring requiredthemestring requiredis_activeboolean requiredauto_approveboolean requiredauto_approve_moviesboolean or null requiredauto_approve_seriesboolean or null requiredeffective_auto_approveboolean requiredeffective_auto_approve_moviesboolean requiredeffective_auto_approve_seriesboolean requiredcan_approveboolean requiredquota_movies_limitnumber requiredquota_series_limitnumber requiredstorage_limit_gbnumberquota_reset_attimestamp (ISO 8601) or null requiredblocked_movie_profileslist of number requiredblocked_series_profileslist of number requiredcan_request_uhd_moviesboolean requiredcan_request_uhd_seriesboolean requiredauto_approve_uhdboolean requiredeffective_auto_approve_uhdboolean requiredblocked_movie_uhd_profileslist of number requiredblocked_series_uhd_profileslist of number requiredavatar_urlstring or null requiredcreated_attimestamp (ISO 8601) requiredlast_login_attimestamp (ISO 8601) or null requiredmail_download_completeboolean requiredmail_request_pendingboolean requiredmail_request_decidedboolean requiredmail_feedbackboolean requiredmail_ticketboolean requiredmail_watchboolean requiredmail_user_importedboolean requiredmail_mediaserver_reconnectboolean requiredmail_storageboolean requiredmail_child_wishboolean requiredmail_cleanupboolean requiredwatchlist_connectedboolean requiredwatchlist_token_invalidbooleanmediaserver_providerstring or null requiredmediaserver_usernamestring or null requiredmediaserver_linkedboolean requiredmediaserver_accountslist of VerknuepftesKontohas_passwordboolean requireddiscover_regionstring or null requiredagenumber or null requiredrating_regionstring or null requiredhide_unratedboolean requiredcan_manage_childrenbooleanparent_idnumber or nullquota_movies_usednumber requiredquota_series_usednumber requiredResponse shape
{
"id": "number",
"username": "string",
"role": "admin | approver | user | child",
"display_name": "string | null",
"email": "string | null",
"email_verified": "boolean",
"language": "string",
"theme": "string",
"is_active": "boolean",
"auto_approve": "boolean",
"auto_approve_movies": "boolean | null",
"auto_approve_series": "boolean | null",
"effective_auto_approve": "boolean",
"effective_auto_approve_movies": "boolean"
}