Llama desde tus propios scripts a la misma API JSON que usa la app web, bajo /api/v1.
Abre Settings > API > API keys (Ajustes > API > claves de API) y crea una clave solo con los alcances que necesite. Cópiala en ese momento; se muestra una sola vez.
Envíala en la cabecera X-Api-Key en cada llamada. Nunca la pongas en la dirección.
Llama a la dirección base. Con una URL base de /holyarrs, es http://your-server:6262/holyarrs/api/v1.
export HOLYARRS_KEY = ... your key ...
curl -H " X-Api-Key: $HOLYARRS_KEY " " http://your-server:6262/api/v1/health "
Deberías recibir JSON. Los errores son {"error": "plain words"} con un código de estado HTTP. Los secretos llegan enmascarados.
Settings > API muestra la dirección base, los alcances, llamadas de ejemplo y cada ruta con su alcance. El archivo OpenAPI está en /api/v1/openapi.json cuando has iniciado sesión.
Alcance
Permite
health_read
Solo el feed de salud, para herramientas de monitorización.
read
Las rutas de lectura, incluido el feed de salud.
write
Cambios, salvo las rutas de administración y los controles.
admin
Personas, invitaciones, límites de solicitudes, claves de API, contraseñas y verificación en dos pasos, ajustes de inicio de sesión, restauración.
control
Interruptores de las Partes, etapas, apps vinculadas, reiniciar y apagar.
all
read, write y admin. No incluye control.
Seerr, Bazarr y apps parecidas usan en su lugar la API de apps anteriores , con claves propias.
Síntoma
Causa
Solución
401 en cada llamada
Clave incorrecta o eliminada
Crea una clave nueva.
403
El alcance de la clave no cubre la ruta
Comprueba el alcance de la ruta en Settings > API .
404 en cada llamada
Falta la URL base
Ponla antes de /api/v1.
Llamadas al servidor de metadatos
HolyArrs obtiene nombres, imágenes e ids del servidor de metadatos de HolyArrs. Apunta una instalación a otro servidor con HOLYARRS_METADATA_URL; el código del servidor no está en este repositorio.
Registro de la instalación. En su primera consulta, una instalación llama a POST /v1/installations sin cuerpo. La respuesta es 201 con {"schema_version":1,"token":"hai_..."}. La app guarda el token cifrado y envía Authorization: Bearer <token> en cada consulta. Se registra una sola vez; después de un 401 no vuelve a registrarse, así que una instalación revocada sigue revocada. Si se supera el límite por hora de un grupo de direcciones, la respuesta es 429 registration_limit con Retry-After.
Consulta (todas GET)
Ruta
Búsqueda
/v1/search?provider=tmdb&kind=movie&q=Example&page=1
Película
/v1/movies/tmdb/{id}
Serie
/v1/shows/{tmdb or tvmaze}/{id}
Temporada
/v1/shows/tmdb/{id}/seasons/{n} (la temporada 0 son los especiales)
Música
/v1/music/musicbrainz/{artist, release-group, release or recording}/{id}
Los parámetros desconocidos o repetidos se rechazan. Los ids de un proveedor nunca se usan para otro.
Una respuesta correcta tiene schema_version, source, source_id, fetched_at, expires_at, completeness, stale y data. Trata el HTML de los resúmenes como texto plano.
Estado
Significa
400
Consulta incorrecta, no reintentes
401
Token incorrecto o revocado, no reintentes
404
No existe ese registro
429
Demasiadas llamadas, espera lo que indique Retry-After
503
Ocupado, espera y reintenta una vez
Añadir una ruta
Las rutas están en el routes.go de cada módulo, registradas con método, ruta y permiso, así que no existe ninguna ruta sin comprobación de permiso. openapi.json sale de las rutas y una prueba falla cuando dejan de coincidir. Una vez publicados, las rutas y los nombres de campo se quedan: añade campos, no los renombres.
520 rutas. Vuelve a generarlas con go run ./app/backend/tools/apidoc.
La columna Auth es el permiso que necesita quien llama, tal como está fijado en la instantánea. La columna Propósito solo se rellena cuando el registro de la ruta tiene un comentario.
Método
Ruta
Auth
Propósito
PUT
/api/v1/account/avatar
self
DELETE
/api/v1/account/avatar
self
Método
Ruta
Auth
Propósito
GET
/api/v1/albums/{id}
signed_in
PUT
/api/v1/albums/{id}
manage_library
GET
/api/v1/albums/{id}/cover
signed_in
GET
/api/v1/albums/{id}/tracks
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/alerts
settings
POST
/api/v1/alerts
settings
PUT
/api/v1/alerts/{id}
settings
DELETE
/api/v1/alerts/{id}
settings
POST
/api/v1/alerts/{id}/test
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/app/about
settings
POST
/api/v1/app/restart
users
POST
/api/v1/app/safe-mode
users
POST
/api/v1/app/shutdown
users
GET
/api/v1/app/storage
settings
GET
/api/v1/app/update
manage_library
POST
/api/v1/app/update/check
settings
Método
Ruta
Auth
Propósito
POST
/api/v1/artists
manage_library
GET
/api/v1/artists/lookup
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/artwork/img/{kind}/{id}/{file}
signed_in
GET
/api/v1/artwork/tmdb/{size}/{file}
signed_in
GET
/api/v1/artwork/{name}
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/ask-limits
users
PUT
/api/v1/ask-limits/{id}
users
Método
Ruta
Auth
Propósito
GET
/api/v1/asked-by
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/asks
signed_in
POST
/api/v1/asks
ask
GET
/api/v1/asks/limit
ask
GET
/api/v1/asks/{id}
signed_in
DELETE
/api/v1/asks/{id}
ask
POST
/api/v1/asks/{id}/approve
approve
GET
/api/v1/asks/{id}/parts
signed_in
POST
/api/v1/asks/{id}/turn-down
approve
Método
Ruta
Auth
Propósito
GET
/api/v1/auth/ai-connect
signed_in
POST
/api/v1/auth/ai-connect
settings
POST
/api/v1/auth/forward/link
self
POST
/api/v1/auth/forward/login
public
POST
/api/v1/auth/import/{kind}
owner
POST
/api/v1/auth/import/{kind}/preview
owner
GET
/api/v1/auth/invites/{token}
unlisted
POST
/api/v1/auth/invites/{token}
unlisted
POST
/api/v1/auth/invites/{token}/media-server/{kind}
unlisted
POST
/api/v1/auth/invites/{token}/plex/finish
unlisted
POST
/api/v1/auth/invites/{token}/plex/start
unlisted
GET
/api/v1/auth/keys
settings
POST
/api/v1/auth/keys
settings
DELETE
/api/v1/auth/keys/{id}
settings
POST
/api/v1/auth/login
unlisted
POST
/api/v1/auth/login/two-factor
unlisted
POST
/api/v1/auth/logout
self
GET
/api/v1/auth/me
self
POST
/api/v1/auth/media-server/{kind}
unlisted
POST
/api/v1/auth/media-server/{kind}/test
owner
GET
/api/v1/auth/oidc/callback
public
POST
/api/v1/auth/oidc/finish
public
POST
/api/v1/auth/oidc/link
self
POST
/api/v1/auth/oidc/link-finish
self
POST
/api/v1/auth/oidc/start
public
POST
/api/v1/auth/password
self
POST
/api/v1/auth/plex/finish
unlisted
DELETE
/api/v1/auth/plex/link
owner
POST
/api/v1/auth/plex/link/finish
owner
POST
/api/v1/auth/plex/link/start
owner
GET
/api/v1/auth/plex/my-link
self
DELETE
/api/v1/auth/plex/my-link
self
POST
/api/v1/auth/plex/my-link/finish
self
POST
/api/v1/auth/plex/my-link/start
self
POST
/api/v1/auth/plex/start
unlisted
POST
/api/v1/auth/reauth
self
GET
/api/v1/auth/sessions
self
DELETE
/api/v1/auth/sessions
self
DELETE
/api/v1/auth/sessions/{sid}
self
GET
/api/v1/auth/settings
settings
PUT
/api/v1/auth/settings
owner
POST
/api/v1/auth/setup
unlisted
GET
/api/v1/auth/setup/discover
unlisted
POST
/api/v1/auth/setup/done
owner
POST
/api/v1/auth/setup/media-server/{kind}
unlisted
POST
/api/v1/auth/setup/plex/finish
unlisted
POST
/api/v1/auth/setup/plex/start
unlisted
GET
/api/v1/auth/sso
owner
PUT
/api/v1/auth/sso
owner
GET
/api/v1/auth/sso/links
self
POST
/api/v1/auth/sso/test
owner
POST
/api/v1/auth/sso/unlink
self
GET
/api/v1/auth/state
unlisted
POST
/api/v1/auth/two-factor/backup-codes
self
POST
/api/v1/auth/two-factor/disable
self
POST
/api/v1/auth/two-factor/enable
self
POST
/api/v1/auth/two-factor/setup
self
Método
Ruta
Auth
Propósito
GET
/api/v1/backups
settings
POST
/api/v1/backups
settings
POST
/api/v1/backups/restore
owner
PUT
/api/v1/backups/settings
settings
GET
/api/v1/backups/{name}
owner
DELETE
/api/v1/backups/{name}
owner
Método
Ruta
Auth
Propósito
GET
/api/v1/bridges
manage_library
POST
/api/v1/bridges
settings
POST
/api/v1/bridges/find
settings
POST
/api/v1/bridges/test
settings
DELETE
/api/v1/bridges/{id}
settings
POST
/api/v1/bridges/{id}/check
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/calendar
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/collections
signed_in
GET
/api/v1/collections/{id}
signed_in
POST
/api/v1/collections/{id}/remove
manage_library
POST
/api/v1/collections/{id}/remove/preview
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/data-packs
owner
POST
/api/v1/data-packs
owner
POST
/api/v1/data-packs/validate
owner
GET
/api/v1/data-packs/{id}
owner
POST
/api/v1/data-packs/{id}/apply
owner
GET
/api/v1/data-packs/{id}/preview
owner
Método
Ruta
Auth
Propósito
GET
/api/v1/discover
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/downloaders
manage_library
POST
/api/v1/downloaders
settings
PUT
/api/v1/downloaders/{id}
settings
DELETE
/api/v1/downloaders/{id}
settings
GET
/api/v1/downloaders/{id}/attempts
settings
POST
/api/v1/downloaders/{id}/attempts/{attemptID}/abandon
settings
POST
/api/v1/downloaders/{id}/bulk
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/bottom
manage_library
GET
/api/v1/downloaders/{id}/items/{hash}/detail
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/down
manage_library
GET
/api/v1/downloaders/{id}/items/{hash}/files
manage_library
PUT
/api/v1/downloaders/{id}/items/{hash}/files
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/pause
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/priority
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/reannounce
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/recheck
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/remove
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/resume
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/retry
manage_library
GET
/api/v1/downloaders/{id}/items/{hash}/swarm
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/top
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/trackers
manage_library
PUT
/api/v1/downloaders/{id}/items/{hash}/trackers
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/trackers/remove
manage_library
POST
/api/v1/downloaders/{id}/items/{hash}/up
manage_library
GET
/api/v1/downloaders/{id}/items/{hash}/usenet
manage_library
POST
/api/v1/downloaders/{id}/location
manage_library
POST
/api/v1/downloaders/{id}/pause
settings
POST
/api/v1/downloaders/{id}/resume
settings
POST
/api/v1/downloaders/{id}/share-limits
manage_library
POST
/api/v1/downloaders/{id}/slow-mode
manage_library
PUT
/api/v1/downloaders/{id}/speed-limit
manage_library
POST
/api/v1/downloaders/{id}/speed-limits
manage_library
POST
/api/v1/downloaders/{id}/test
settings
POST
/api/v1/downloaders/{id}/torrents
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/downloads
manage_library
GET
/api/v1/downloads/clients
manage_library
GET
/api/v1/downloads/matches
manage_library
POST
/api/v1/downloads/matches/run
manage_library
POST
/api/v1/downloads/matches/{id}/pick
manage_library
POST
/api/v1/downloads/pause-all
manage_library
POST
/api/v1/downloads/resume-all
manage_library
GET
/api/v1/downloads/view
signed_in
GET
/api/v1/downloads/{id}/detail
manage_library
PUT
/api/v1/downloads/{id}/edition
manage_library
GET
/api/v1/downloads/{id}/files
manage_library
PUT
/api/v1/downloads/{id}/files
manage_library
POST
/api/v1/downloads/{id}/mark-failed
manage_library
POST
/api/v1/downloads/{id}/pause
manage_library
POST
/api/v1/downloads/{id}/reannounce
manage_library
POST
/api/v1/downloads/{id}/recheck
manage_library
POST
/api/v1/downloads/{id}/remove
manage_library
POST
/api/v1/downloads/{id}/resume
manage_library
GET
/api/v1/downloads/{id}/swarm
manage_library
POST
/api/v1/downloads/{id}/top
manage_library
GET
/api/v1/downloads/{id}/usenet
manage_library
Método
Ruta
Auth
Propósito
PUT
/api/v1/episodes/{id}
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/events
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/explore/browse
signed_in
GET
/api/v1/explore/browse/category
signed_in
GET
/api/v1/explore/browse/section
signed_in
POST
/api/v1/explore/counts
signed_in
GET
/api/v1/explore/genre
signed_in
GET
/api/v1/explore/genre-row
signed_in
GET
/api/v1/explore/head
signed_in
GET
/api/v1/explore/music
signed_in
GET
/api/v1/explore/music/rising
signed_in
GET
/api/v1/explore/new
signed_in
GET
/api/v1/explore/new/music
signed_in
GET
/api/v1/explore/new/service
signed_in
GET
/api/v1/explore/new/services
signed_in
GET
/api/v1/explore/service-top
signed_in
GET
/api/v1/explore/strip
signed_in
POST
/api/v1/explore/strip/counts
signed_in
DELETE
/api/v1/explore/strip/counts
signed_in
GET
/api/v1/explore/tail
signed_in
GET
/api/v1/explore/title-stats
owner
GET
/api/v1/explore/top
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/extras/{kind}/{id}
signed_in
Método
Ruta
Auth
Propósito
POST
/api/v1/files/{id}/subtitles/choices
manage_library
POST
/api/v1/files/{id}/subtitles/choose
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/health
manage_library
GET
/api/v1/health/checks
manage_library
POST
/api/v1/health/checks/run
manage_library
GET
/api/v1/health/disks
manage_library
GET
/api/v1/health/states
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/held
manage_library
DELETE
/api/v1/held
manage_library
DELETE
/api/v1/held/{id}
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/holding
manage_library
POST
/api/v1/holding/clean
manage_library
POST
/api/v1/holding/restore
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/home
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/imports
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/jobs
manage_library
GET
/api/v1/jobs/active
manage_library
GET
/api/v1/jobs/{id}
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/library/copies
manage_library
POST
/api/v1/library/copies/search
manage_library
POST
/api/v1/library/copies/search/preview
manage_library
GET
/api/v1/library/search
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/library-folders
manage_library
POST
/api/v1/library-folders
settings
PUT
/api/v1/library-folders/{id}
settings
DELETE
/api/v1/library-folders/{id}
settings
POST
/api/v1/library-folders/{id}/adopt
manage_library
POST
/api/v1/library-folders/{id}/check
manage_library
POST
/api/v1/library-folders/{id}/scan
manage_library
Método
Ruta
Auth
Propósito
POST
/api/v1/links/{kind}/{id}/restart
users
Método
Ruta
Auth
Propósito
POST
/api/v1/live/interest
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/logs
users
GET
/api/v1/logs/download
users
Método
Ruta
Auth
Propósito
POST
/api/v1/manual-import
settings
POST
/api/v1/manual-import/scan
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/mcp
signed_in
POST
/api/v1/mcp
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/media-servers
settings
POST
/api/v1/media-servers
settings
PUT
/api/v1/media-servers/{id}
settings
DELETE
/api/v1/media-servers/{id}
settings
POST
/api/v1/media-servers/{id}/test
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/messages
signed_in
POST
/api/v1/messages/read
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/metadata/album/{mbid}/follow
signed_in
PUT
/api/v1/metadata/album/{mbid}/follow
signed_in
DELETE
/api/v1/metadata/album/{mbid}/follow
signed_in
GET
/api/v1/metadata/health
signed_in
GET
/api/v1/metadata/movie/{tmdb_id}/follow
signed_in
PUT
/api/v1/metadata/movie/{tmdb_id}/follow
signed_in
DELETE
/api/v1/metadata/movie/{tmdb_id}/follow
signed_in
GET
/api/v1/metadata/search
signed_in
GET
/api/v1/metadata/show/{tmdb_id}/follow
signed_in
PUT
/api/v1/metadata/show/{tmdb_id}/follow
signed_in
DELETE
/api/v1/metadata/show/{tmdb_id}/follow
signed_in
GET
/api/v1/metadata/show/{tmdb_id}/seasons/{number}
signed_in
GET
/api/v1/metadata/{kind}/{tmdb_id}
signed_in
GET
/api/v1/metadata/{kind}/{tmdb_id}/anime
signed_in
GET
/api/v1/metadata/{kind}/{tmdb_id}/more-from
signed_in
GET
/api/v1/metadata/{kind}/{tmdb_id}/reviews
signed_in
Método
Ruta
Auth
Propósito
POST
/api/v1/migrate/dry-run
users
GET
/api/v1/migrate/moves
users
POST
/api/v1/migrate/moves
users
GET
/api/v1/migrate/moves/{id}
users
GET
/api/v1/migrate/moves/{id}/report
users
POST
/api/v1/migrate/moves/{id}/undo
users
POST
/api/v1/migrate/plan
users
POST
/api/v1/migrate/probe
users
POST
/api/v1/migrate/read
users
GET
/api/v1/migrate/saved-keys
owner
DELETE
/api/v1/migrate/saved-keys
owner
GET
/api/v1/migrate/snapshots
users
GET
/api/v1/migrate/snapshots/{id}
users
DELETE
/api/v1/migrate/snapshots/{id}
users
Método
Ruta
Auth
Propósito
GET
/api/v1/music/albums/{mbid}
signed_in
GET
/api/v1/music/artists/{mbid}
signed_in
GET
/api/v1/music/browse-tiles
signed_in
GET
/api/v1/music/browse/{kind}/{slug}
signed_in
GET
/api/v1/music/genre-art/{slug}
signed_in
GET
/api/v1/music/genre/{slug}
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/music-trending
signed_in
GET
/api/v1/music-trending/art/{kind}/{mbid}
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/my/alerts
signed_in
PUT
/api/v1/my/alerts
signed_in
GET
/api/v1/my/follows
signed_in
GET
/api/v1/my/plex-watchlist
signed_in
PUT
/api/v1/my/plex-watchlist
signed_in
POST
/api/v1/my/plex-watchlist/check
signed_in
GET
/api/v1/my/profile
signed_in
PUT
/api/v1/my/profile
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/needs-decision
manage_library
POST
/api/v1/needs-decision/{id}/decide
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/never-add
manage_library
POST
/api/v1/never-add
manage_library
DELETE
/api/v1/never-add/{id}
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/openapi.json
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/outside-lists
settings
POST
/api/v1/outside-lists
settings
PUT
/api/v1/outside-lists/{id}
settings
DELETE
/api/v1/outside-lists/{id}
settings
POST
/api/v1/outside-lists/{id}/sync
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/own-traits
manage_library
POST
/api/v1/own-traits
settings
PUT
/api/v1/own-traits/{id}
settings
DELETE
/api/v1/own-traits/{id}
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/parts
signed_in
POST
/api/v1/parts/{part}/off
users
POST
/api/v1/parts/{part}/on
users
POST
/api/v1/parts/{part}/restart
users
Método
Ruta
Auth
Propósito
GET
/api/v1/people/popular
signed_in
GET
/api/v1/people/search
signed_in
GET
/api/v1/people/shelves
signed_in
GET
/api/v1/people/shelves/{id}
signed_in
GET
/api/v1/people/{id}
signed_in
POST
/api/v1/people/{id}/movies/review
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/pick-rules
manage_library
POST
/api/v1/pick-rules
settings
GET
/api/v1/pick-rules/{id}
manage_library
PUT
/api/v1/pick-rules/{id}
settings
DELETE
/api/v1/pick-rules/{id}
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/public/signin-art
public
GET
/api/v1/public/signin-pic/t/p/{size}/{file}
public
Un patrón literal (= signinPicPath + “{size}/{file}”): las pruebas de rutas lo leen del código fuente.
Método
Ruta
Auth
Propósito
POST
/api/v1/releases/{id}/choose
manage_library
POST
/api/v1/releases/{id}/turn-down
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/rename
manage_library
POST
/api/v1/rename
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/reports
signed_in
POST
/api/v1/reports
signed_in
POST
/api/v1/reports/{id}/fix
manage_library
POST
/api/v1/reports/{id}/reopen
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/schedules
manage_library
PUT
/api/v1/schedules/{kind}
settings
POST
/api/v1/schedules/{kind}/run
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/search
signed_in
POST
/api/v1/search/better
manage_library
POST
/api/v1/search/feed-check
manage_library
POST
/api/v1/search/missing
manage_library
GET
/api/v1/search/suggest
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/searches
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/settings/ai
signed_in
PUT
/api/v1/settings/ai
owner
GET
/api/v1/settings/alerts
settings
PUT
/api/v1/settings/alerts
settings
GET
/api/v1/settings/asks
settings
PUT
/api/v1/settings/asks
settings
GET
/api/v1/settings/downloaders
settings
PUT
/api/v1/settings/downloaders
settings
GET
/api/v1/settings/files
manage_library
PUT
/api/v1/settings/files
settings
GET
/api/v1/settings/health
settings
PUT
/api/v1/settings/health
settings
GET
/api/v1/settings/import-folders
settings
PUT
/api/v1/settings/import-folders
users
POST
/api/v1/settings/import-secrets
owner
GET
/api/v1/settings/music
manage_library
PUT
/api/v1/settings/music
settings
GET
/api/v1/settings/naming
manage_library
PUT
/api/v1/settings/naming
settings
POST
/api/v1/settings/naming/example
manage_library
GET
/api/v1/settings/old-app-api
settings
PUT
/api/v1/settings/old-app-api
settings
POST
/api/v1/settings/old-app-api/keys/{side}
settings
DELETE
/api/v1/settings/old-app-api/keys/{side}
settings
GET
/api/v1/settings/release-gate
manage_library
PUT
/api/v1/settings/release-gate
settings
GET
/api/v1/settings/search
settings
PUT
/api/v1/settings/search
settings
GET
/api/v1/settings/shows
manage_library
PUT
/api/v1/settings/shows
settings
GET
/api/v1/settings/status
settings
GET
/api/v1/settings/subtitles
settings
PUT
/api/v1/settings/subtitles
settings
GET
/api/v1/settings/title-defaults
manage_library
PUT
/api/v1/settings/title-defaults
settings
GET
/api/v1/settings/trakt-key
settings
PUT
/api/v1/settings/trakt-key
settings
GET
/api/v1/settings/trakt-token
owner
PUT
/api/v1/settings/trakt-token
owner
GET
/api/v1/settings/ui
signed_in
PUT
/api/v1/settings/ui
settings
GET
/api/v1/settings/url-base
settings
PUT
/api/v1/settings/url-base
settings
Método
Ruta
Auth
Propósito
POST
/api/v1/shows
manage_library
GET
/api/v1/shows/lookup
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/sources
manage_library
POST
/api/v1/sources
settings
POST
/api/v1/sources/check
settings
PUT
/api/v1/sources/{id}
settings
DELETE
/api/v1/sources/{id}
settings
POST
/api/v1/sources/{id}/pause
settings
POST
/api/v1/sources/{id}/resume
settings
GET
/api/v1/sources/{id}/stats
manage_library
POST
/api/v1/sources/{id}/test
settings
POST
/api/v1/sources/{id}/try
settings
Método
Ruta
Auth
Propósito
POST
/api/v1/stages/{name}/pause
users
POST
/api/v1/stages/{name}/restart
users
POST
/api/v1/stages/{name}/resume
users
Método
Ruta
Auth
Propósito
GET
/api/v1/subtitle-sites
manage_library
POST
/api/v1/subtitle-sites
settings
GET
/api/v1/subtitle-sites/kinds
manage_library
PUT
/api/v1/subtitle-sites/{id}
settings
DELETE
/api/v1/subtitle-sites/{id}
settings
POST
/api/v1/subtitle-sites/{id}/test
settings
Método
Ruta
Auth
Propósito
GET
/api/v1/subtitles/languages
manage_library
GET
/api/v1/subtitles/missing
manage_library
POST
/api/v1/subtitles/missing/search
manage_library
POST
/api/v1/subtitles/search
manage_library
POST
/api/v1/subtitles/{id}/sync
manage_library
POST
/api/v1/subtitles/{id}/turn-down
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/support/bundle
users
Método
Ruta
Auth
Propósito
POST
/api/v1/system/key-kit
owner
Método
Ruta
Auth
Propósito
GET
/api/v1/tags
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/titles
signed_in
POST
/api/v1/titles
manage_library
GET
/api/v1/titles/lookup
signed_in
GET
/api/v1/titles/owned
signed_in
POST
/api/v1/titles/refresh
manage_library
GET
/api/v1/titles/{id}
signed_in
PUT
/api/v1/titles/{id}
manage_library
GET
/api/v1/titles/{id}/albums
signed_in
PUT
/api/v1/titles/{id}/artist
manage_library
GET
/api/v1/titles/{id}/copies
manage_library
POST
/api/v1/titles/{id}/delete
manage_library
GET
/api/v1/titles/{id}/episodes
signed_in
PUT
/api/v1/titles/{id}/files/{fid}/choices
manage_library
POST
/api/v1/titles/{id}/files/{fid}/keep-and-add
manage_library
GET
/api/v1/titles/{id}/follow
signed_in
PUT
/api/v1/titles/{id}/follow
signed_in
DELETE
/api/v1/titles/{id}/follow
signed_in
POST
/api/v1/titles/{id}/move
manage_library
GET
/api/v1/titles/{id}/people
signed_in
POST
/api/v1/titles/{id}/refresh
manage_library
GET
/api/v1/titles/{id}/releases
manage_library
GET
/api/v1/titles/{id}/rename
manage_library
POST
/api/v1/titles/{id}/rename
manage_library
POST
/api/v1/titles/{id}/search
manage_library
GET
/api/v1/titles/{id}/search-outcome
signed_in
GET
/api/v1/titles/{id}/seasons
signed_in
PUT
/api/v1/titles/{id}/seasons/{number}
manage_library
PUT
/api/v1/titles/{id}/subtitle-wish
manage_library
GET
/api/v1/titles/{id}/subtitles
manage_library
POST
/api/v1/titles/{id}/versions
manage_library
PUT
/api/v1/titles/{id}/versions/{vid}
manage_library
DELETE
/api/v1/titles/{id}/versions/{vid}
manage_library
POST
/api/v1/titles/{id}/versions/{vid}/adopt
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/trailer/batch
signed_in
GET
/api/v1/trailer/stream/{id}/manifest.m3u8
signed_in
GET
/api/v1/trailer/stream/{id}/seg/{n}
signed_in
GET
/api/v1/trailer/{kind}/{tmdb_id}
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/turned-down
manage_library
DELETE
/api/v1/turned-down
manage_library
DELETE
/api/v1/turned-down/{id}
manage_library
Método
Ruta
Auth
Propósito
GET
/api/v1/users
users
GET
/api/v1/users/invites
users
POST
/api/v1/users/invites
users
DELETE
/api/v1/users/invites/{id}
users
PUT
/api/v1/users/{id}
users
GET
/api/v1/users/{id}/avatar
signed_in
POST
/api/v1/users/{id}/password
users
GET
/api/v1/users/{id}/sessions
users
POST
/api/v1/users/{id}/sessions/end-all
users
DELETE
/api/v1/users/{id}/sessions/{sid}
users
POST
/api/v1/users/{id}/sso/unlink
owner
POST
/api/v1/users/{id}/two-factor/reset
users
Método
Ruta
Auth
Propósito
GET
/api/v1/watch-services
signed_in
Método
Ruta
Auth
Propósito
GET
/api/v1/wiki/{kind}/{id}
signed_in
Método
Ruta
Auth
Propósito
GET
/
self
POST
/
unlisted
GET
/.well-known/oauth-authorization-server
public
GET
/.well-known/oauth-protected-resource
public
GET
/.well-known/oauth-protected-resource/{path...}
public
GET
/calendar
unlisted
POST
/command
unlisted
GET
/command/{id}
unlisted
GET
/episode
unlisted
PUT
/episode/monitor
unlisted
GET
/healthz
unlisted
GET
/indexer
unlisted
POST
/indexer
unlisted
GET
/indexer/schema
unlisted
POST
/indexer/test
unlisted
GET
/indexer/{id}
unlisted
PUT
/indexer/{id}
unlisted
DELETE
/indexer/{id}
unlisted
GET
/languageprofile
unlisted
GET
/live
signed_in
GET
/login
self
GET
/mcp
signed_in
POST
/mcp
signed_in
GET
/mediacover/{id}/{file}
unlisted
GET
/movie
unlisted
POST
/movie
unlisted
PUT
/movie
unlisted
GET
/movie/lookup
unlisted
GET
/movie/{id}
unlisted
PUT
/movie/{id}
unlisted
DELETE
/movie/{id}
unlisted
GET
/oauth/authorize
public
POST
/oauth/register
public
POST
/oauth/token
public
GET
/qualityprofile
unlisted
GET
/queue
unlisted
GET
/queue/details
unlisted
GET
/radarr/
manage_library
POST
/radarr/
manage_library
PUT
/radarr/
manage_library
DELETE
/radarr/
manage_library
GET
/readyz
unlisted
la página de inicio responde con 503).
GET
/rootfolder
unlisted
GET
/series
unlisted
POST
/series
unlisted
PUT
/series
unlisted
GET
/series/lookup
unlisted
GET
/series/{id}
unlisted
PUT
/series/{id}
unlisted
DELETE
/series/{id}
unlisted
GET
/sonarr/
manage_library
POST
/sonarr/
manage_library
PUT
/sonarr/
manage_library
DELETE
/sonarr/
manage_library
GET
/system/status
unlisted
GET
/tag
unlisted
POST
/tag
unlisted
PUT
/tag
unlisted
PUT
/tag/{id}
unlisted
GET
/wanted/missing
unlisted