Operations
23 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.
GET
/api/about
may change
Version and build
Which version of Nexview this is, and whether a newer one is known. Useful for telling deployments apart and for deciding whether a feature you rely on exists yet.
Fields and shape
Response
versionstring requiredrepo_urlstring requiredrelease_urlstring requiredlicensestringupdate_checkedbooleanlatest_versionstring or nullupdate_availablebooleanchecked_attimestamp (ISO 8601) or nullResponse shape
{
"version": "string",
"repo_url": "string",
"release_url": "string",
"license": "string",
"update_checked": "boolean",
"latest_version": "string | null",
"update_available": "boolean",
"checked_at": "ISO 8601 | null"
}
POST
/api/about/check
may change
Check for updates now
Looks for a newer release immediately instead of waiting for the daily check.
Fields and shape
Response
versionstring requiredrepo_urlstring requiredrelease_urlstring requiredlicensestringupdate_checkedbooleanlatest_versionstring or nullupdate_availablebooleanchecked_attimestamp (ISO 8601) or nullResponse shape
{
"version": "string",
"repo_url": "string",
"release_url": "string",
"license": "string",
"update_checked": "boolean",
"latest_version": "string | null",
"update_available": "boolean",
"checked_at": "ISO 8601 | null"
}
GET
/api/about/neuigkeiten
may change
Is there something new to read
Whether this installation has been updated since the administrator last acknowledged the release notes, and to which version.
Fields and shape
Response
versionstring requiredoffenboolean requiredzuletzt_gesehenstring or nullResponse shape
{
"version": "string",
"offen": "boolean",
"zuletzt_gesehen": "string | null"
}
POST
/api/about/neuigkeiten/gesehen
may change
Acknowledge the release notes
"Understood, stop showing this" - until the next update. What is stored is the version, not a tick, so the banner comes back by itself after the next release that has something to say.
Fields and shape
Response
versionstring requiredoffenboolean requiredzuletzt_gesehenstring or nullResponse shape
{
"version": "string",
"offen": "boolean",
"zuletzt_gesehen": "string | null"
}
GET
/api/config
may change
Public configuration
What the interface needs to know before anybody signs in: which media-server providers exist, whether watchlists are enabled, the minimum password length, the default region.
Fields and shape
Response
default_regionstring requireddefault_languagestring requiredtmdb_configuredboolean requiredradarr_configuredboolean requiredsonarr_configuredboolean requiredusing_demo_databoolean requiredmin_password_lengthnumber requiredmail_configuredboolean requiredpublic_url_setboolean requiredapprover_picks_target_movieboolean requiredapprover_picks_target_tvboolean requiredradarr_uhd_configuredboolean requiredsonarr_uhd_configuredboolean requiredmediaserver_configuredboolean requiredmediaserver_providerslist of string requiredmediaserver_availablelist of string requiredmediaserver_password_loginlist of string requiredmediaserver_watchlist_availablelist of string requiredmediaserver_watchlist_connectedlist of string requiredwatchlist_enabledboolean requiredResponse shape
{
"default_region": "string",
"default_language": "string",
"tmdb_configured": "boolean",
"radarr_configured": "boolean",
"sonarr_configured": "boolean",
"using_demo_data": "boolean",
"min_password_length": "number",
"mail_configured": "boolean",
"public_url_set": "boolean",
"approver_picks_target_movie": "boolean",
"approver_picks_target_tv": "boolean",
"radarr_uhd_configured": "boolean",
"sonarr_uhd_configured": "boolean",
"mediaserver_configured": "boolean"
}
GET
/api/config/regions
may change
Selectable regions
The countries somebody can pick as their region. Deliberately fetched from TMDB rather than kept in the source: a fixed list goes stale and silently limits who can use this.
Fields and shape
Response
codestring requirednamestring requiredResponse shape
[
{
"code": "string",
"name": "string"
}
]
GET
/api/health
may change
Is Nexview running
Answers without a token - a monitor that has to sign in first is not a monitor. Returns nothing but a status, on purpose: no version, no database state, nothing that would tell an unauthenticated caller about the installation.
DELETE
/api/logs
may change
Clear the log
Empties the log file. What is gone is gone; there is no second copy.
GET
/api/logs
may change
The most recent log lines
level means "this level and above". Administrators only - log lines name accounts and addresses.
Fields and shape
Parameters
levelDEBUG | INFO | WARNING | ERROR | CRITICAL or null querysearchstring or null querylimitnumber queryResponse
timestring requiredlevelstring requiredloggerstring requiredmessagestring requiredrequest_idstring or nulluserstring or nullResponse shape
[
{
"time": "string",
"level": "string",
"logger": "string",
"message": "string",
"request_id": "string | null",
"user": "string | null"
}
]
GET
/api/logs/level
may change
Current log level
Which level is being written, and until when - the more talkative levels switch themselves off again.
Fields and shape
Response
modestring requireduntilstring or nullfixed_by_envbooleanmodeslist of stringdurationslist of numberResponse shape
{
"mode": "string",
"until": "string | null",
"fixed_by_env": "boolean",
"modes": [
"string"
],
"durations": [
"number"
]
}
PUT
/api/logs/level
may change
Change the log level
Takes effect immediately, without a restart. The talkative levels carry an expiry so a debugging session cannot quietly fill the disk for weeks.
Fields and shape
Request body
modequiet | normal | detailed | trace requiredminutesnumberResponse
modestring requireduntilstring or nullfixed_by_envbooleanmodeslist of stringdurationslist of numberResponse shape
{
"mode": "string",
"until": "string | null",
"fixed_by_env": "boolean",
"modes": [
"string"
],
"durations": [
"number"
]
}
GET
/api/settings
may change
All settings
The whole configuration of this installation. Secrets come back masked, never in the clear. Administrators only.
PUT
/api/settings
may change
Change settings
⚠️ An empty secret field means "unchanged", not "delete". Otherwise the masked value from the interface would be written back over the real one. Use the delete endpoint to actually remove a key.
Fields and shape
Request body
tmdb_api_keystring or nullradarr_urlstring or nullradarr_api_keystring or nullsonarr_urlstring or nullsonarr_api_keystring or nulldefault_regionstring or nulldefault_languagestring or nullpoll_interval_secondsnumber or nulldemo_modestring or nulldefault_movie_profile_idstring or nulldefault_series_profile_idstring or nullmovie_root_folder_modestring or nullseries_root_folder_modestring or nullmovie_profile_modestring or nullseries_profile_modestring or nulldefault_movie_rootstring or nulldefault_series_rootstring or nullradarr_uhd_urlstring or nullradarr_uhd_api_keystring or nullsonarr_uhd_urlstring or nullsonarr_uhd_api_keystring or nulldefault_movie_uhd_profile_idstring or nulldefault_series_uhd_profile_idstring or nulldefault_movie_uhd_rootstring or nulldefault_series_uhd_rootstring or nullsmtp_hoststring or nullsmtp_portnumber or nullsmtp_securitystring or nullsmtp_usernamestring or nullsmtp_passwordstring or nullsmtp_from_addressstring or nullsmtp_from_namestring or nullpublic_urlstring or nullupdate_checkboolean or nullbackup_scheduleoff | daily | weekly | monthly or nullbackup_keepnumber or nullmediaserver_auto_importboolean or nullmediaserver_default_rolestring or nullwatchlist_enabledboolean or nullquota_default_moviesnumber or nullquota_default_seriesnumber or nullstorage_default_limit_gbnumber or nullquota_periodday | week | month or null
GET
/api/settings/recyclebin
may change
Where deleted files go
The recycle-bin path configured in every Radarr and Sonarr instance. Fetched fresh on every call and stored nowhere - it lives over there, and a copy here would go stale without anybody noticing.
Fields and shape
Response
enabledboolean requiredcompleteboolean requiredinstanceslist of PapierkorbInstanz requiredResponse shape
{
"enabled": "boolean",
"complete": "boolean",
"instances": [
{
"media_type": "string",
"tier": "string",
"name": "string",
"reachable": "boolean",
"path": "string",
"cleanup_days": "number | null",
"protected": "boolean"
}
]
}
PUT
/api/settings/recyclebin
may change
Set the recycle-bin path
⚠️ This writes into Radarr and Sonarr, not into Nexview. The setting applies over there to everything, including deletions that had nothing to do with Nexview.
Fields and shape
Request body
instanceslist of PapierkorbWunsch requiredcleanup_daysnumberResponse
enabledboolean requiredcompleteboolean requiredinstanceslist of PapierkorbInstanz requiredResponse shape
{
"enabled": "boolean",
"complete": "boolean",
"instances": [
{
"media_type": "string",
"tier": "string",
"name": "string",
"reachable": "boolean",
"path": "string",
"cleanup_days": "number | null",
"protected": "boolean"
}
]
}
GET
/api/settings/recyclebin/contents
may change
What is in the recycle bins
Folder names only - no posters, no tidied-up titles. Resolving the names back to titles would mean a TMDB lookup per folder for something that is, in the end, a list of directories.
Fields and shape
Parameters
media_typemovie | tv or null querytierstandard | uhd or null querypathstring queryResponse
instanceslist of PapierkorbInhaltInstanz requiredResponse shape
{
"instances": [
{
"name": "string",
"path": "string",
"entries": [
"string"
],
"truncated": "boolean"
}
]
}
GET
/api/settings/recyclebin/folders
may change
Which folders one instance sees
Asked per instance rather than once for all: Sonarr can be mounted entirely differently from Radarr, and a path that exists for one may not exist for the other.
Fields and shape
Parameters
media_typemovie | tv query requiredtierstandard | uhd querypathstring queryResponse
pathstring requireddirectorieslist of string requiredResponse shape
{
"path": "string",
"directories": [
"string"
]
}
DELETE
/api/settings/secret/{name}
may change
Remove a stored secret
The explicit way to delete an API key, because an empty field on save means "unchanged".
Fields and shape
Parameters
nametmdb_api_key | radarr_api_key | radarr_uhd_api_key | sonarr_api_key | sonarr_uhd_api_key | smtp_password | mediaserver_token path required
POST
/api/settings/test-mail
may change
Send a test mail
Sends a fully formatted test message to the given address, so the result shows what a real notification will look like.
Fields and shape
Request body
recipientstring requiredResponse
okboolean requiredmessagestring requiredResponse shape
{
"ok": "boolean",
"message": "string"
}
POST
/api/settings/test/public-url
may change
Is Nexview reachable at this address
The server calls itself from the outside to find out. Deliberately with its own short-lived client, so nothing from the normal connection pool can make an unreachable address look reachable.
Fields and shape
Request body
urlstring requiredResponse
okboolean requiredmessagestring requiredResponse shape
{
"ok": "boolean",
"message": "string"
}
POST
/api/settings/test/smtp
may change
Test the mail server
Checks connection and authentication without sending anything.
Fields and shape
Request body
hoststring or nullportnumber or nullsecuritystring or nullusernamestring or nullpasswordstring or nullResponse
okboolean requiredmessagestring requiredResponse shape
{
"ok": "boolean",
"message": "string"
}
POST
/api/settings/test/tmdb
may change
Test the TMDB key
Checks whether the given TMDB API key works.
Fields and shape
Request body
api_keystring or nullurlstring or nullResponse
okboolean requiredmessagestring requiredResponse shape
{
"ok": "boolean",
"message": "string"
}
POST
/api/settings/test/{service}
may change
Test Radarr or Sonarr
Checks the connection to the standard or 4K instance. Uses the values passed in if they have not been saved yet, so a connection can be tested before it is stored.
Fields and shape
Parameters
serviceradarr | sonarr | radarr_uhd | sonarr_uhd path requiredRequest body
api_keystring or nullurlstring or nullResponse
okboolean requiredmessagestring requiredResponse shape
{
"ok": "boolean",
"message": "string"
}