在你自己的脚本里调用 Web 应用用的同一套 JSON API,它在 /api/v1 下。
- 打开 Settings > API > API keys(设置 > API > API 密钥),新建一个密钥,只给它需要的权限范围。马上复制,它只显示一次。
- 每次调用都把它放在
X-Api-Key 请求头里。不要把它写进地址。
- 调用基础地址。如果 URL 基础路径是
/holyarrs,基础地址就是 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"
你应该会收到 JSON。出错时返回 {"error": "plain words"} 和一个 HTTP 状态码。密钥、密码这类内容返回时会被遮住。
Settings > API 会列出基础地址、权限范围、调用示例,以及每条路由和它的权限范围。登录后可以在 /api/v1/openapi.json 拿到 OpenAPI 文件。
| 权限范围 |
允许 |
health_read |
只能读健康状况订阅源,给监控工具用。 |
read |
读取类路由,包括健康状况订阅源。 |
write |
做改动,但不包括管理路由和控制操作。 |
admin |
用户、邀请、请求限额、API 密钥、密码和两步验证、登录设置、恢复。 |
control |
功能模块开关、环节、关联应用、重启和关闭。 |
all |
read、write 和 admin。不含 control。 |
Seerr、Bazarr 这类应用用的是旧应用 API,它有自己的密钥。
| 现象 |
原因 |
解决办法 |
| 每次调用都返回 401 |
密钥不对或已被删除 |
新建一个密钥。 |
| 403 |
密钥的权限范围不包括这条路由 |
在 Settings > API 上看这条路由的权限范围。 |
| 每次调用都返回 404 |
少了 URL 基础路径 |
把它加在 /api/v1 前面。 |
对元数据服务器的调用
HolyArrs 从 HolyArrs 元数据服务器获取名称、图片和 id。用 HOLYARRS_METADATA_URL 可以让一个安装指向另一台服务器;服务器的代码不在这个仓库里。
注册。一个安装第一次查询时,会调用 POST /v1/installations,不带请求体。返回 201 和 {"schema_version":1,"token":"hai_..."}。应用把令牌加密保存,之后每次查询都发送 Authorization: Bearer <token>。它只注册一次;收到 401 后不会再注册,所以被吊销的安装会一直是吊销状态。同一组地址超过每小时上限时,返回 429 registration_limit 和 Retry-After。
| 查询(全部是 GET) |
路由 |
| 搜索 |
/v1/search?provider=tmdb&kind=movie&q=Example&page=1 |
| 电影 |
/v1/movies/tmdb/{id} |
| 剧集 |
/v1/shows/{tmdb or tvmaze}/{id} |
| 季 |
/v1/shows/tmdb/{id}/seasons/{n}(第 0 季是特别篇) |
| 音乐 |
/v1/music/musicbrainz/{artist, release-group, release or recording}/{id} |
未知的参数或重复的参数会被拒绝。一个数据提供方的 id 绝不会用在另一个提供方上。
正常的返回里有 schema_version、source、source_id、fetched_at、expires_at、completeness、stale 和 data。简介里的 HTML 要当作纯文本处理。
| 状态码 |
含义 |
| 400 |
查询有误,不要重试 |
| 401 |
令牌无效或已被吊销,不要重试 |
| 404 |
没有这条记录 |
| 429 |
调用太多,按 Retry-After 等待 |
| 503 |
服务器忙,等一会儿再重试一次 |
添加一条路由
路由写在每个模块的 routes.go 里,注册时要给出方法、路径和权限,所以不会有哪条路由没有权限检查。openapi.json 由路由生成,两者不一致时会有一个测试失败。正式发布之后,路径和字段名不再变:可以加字段,不要改名。
共 520 条路由。用 go run ./app/backend/tools/apidoc 重新生成。
“权限”一列是调用方需要的权限,以快照里固定下来的为准。“用途”一列只在路由注册处带有注释时才有内容。
| 方法 |
路径 |
权限 |
用途 |
| PUT |
/api/v1/account/avatar |
self |
|
| DELETE |
/api/v1/account/avatar |
self |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/artists |
manage_library |
|
| GET |
/api/v1/artists/lookup |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/ask-limits |
users |
|
| PUT |
/api/v1/ask-limits/{id} |
users |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/asked-by |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/calendar |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/discover |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| PUT |
/api/v1/episodes/{id} |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/events |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/extras/{kind}/{id} |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/files/{id}/subtitles/choices |
manage_library |
|
| POST |
/api/v1/files/{id}/subtitles/choose |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/held |
manage_library |
|
| DELETE |
/api/v1/held |
manage_library |
|
| DELETE |
/api/v1/held/{id} |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/holding |
manage_library |
|
| POST |
/api/v1/holding/clean |
manage_library |
|
| POST |
/api/v1/holding/restore |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/home |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/imports |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/jobs |
manage_library |
|
| GET |
/api/v1/jobs/active |
manage_library |
|
| GET |
/api/v1/jobs/{id} |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/links/{kind}/{id}/restart |
users |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/live/interest |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/logs |
users |
|
| GET |
/api/v1/logs/download |
users |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/manual-import |
settings |
|
| POST |
/api/v1/manual-import/scan |
settings |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/mcp |
signed_in |
|
| POST |
/api/v1/mcp |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/messages |
signed_in |
|
| POST |
/api/v1/messages/read |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/music-trending |
signed_in |
|
| GET |
/api/v1/music-trending/art/{kind}/{mbid} |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/needs-decision |
manage_library |
|
| POST |
/api/v1/needs-decision/{id}/decide |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/never-add |
manage_library |
|
| POST |
/api/v1/never-add |
manage_library |
|
| DELETE |
/api/v1/never-add/{id} |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/openapi.json |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/public/signin-art |
public |
|
| GET |
/api/v1/public/signin-pic/t/p/{size}/{file} |
public |
一个字面量模式(= signinPicPath + “{size}/{file}”):路由测试会从源码里读它。 |
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/releases/{id}/choose |
manage_library |
|
| POST |
/api/v1/releases/{id}/turn-down |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/rename |
manage_library |
|
| POST |
/api/v1/rename |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/schedules |
manage_library |
|
| PUT |
/api/v1/schedules/{kind} |
settings |
|
| POST |
/api/v1/schedules/{kind}/run |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/searches |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/shows |
manage_library |
|
| GET |
/api/v1/shows/lookup |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/stages/{name}/pause |
users |
|
| POST |
/api/v1/stages/{name}/restart |
users |
|
| POST |
/api/v1/stages/{name}/resume |
users |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/support/bundle |
users |
|
| 方法 |
路径 |
权限 |
用途 |
| POST |
/api/v1/system/key-kit |
owner |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/tags |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/turned-down |
manage_library |
|
| DELETE |
/api/v1/turned-down |
manage_library |
|
| DELETE |
/api/v1/turned-down/{id} |
manage_library |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/watch-services |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| GET |
/api/v1/wiki/{kind}/{id} |
signed_in |
|
| 方法 |
路径 |
权限 |
用途 |
| 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 |
启动页会用 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 |
|