For API clients, send your generated key in X-API-Key or as Authorization: Bearer YOUR_KEY (headers only).
Generate/revoke keys in the admin UI at /admin/api-keys.
| Method | Path | Description |
|---|---|---|
| GET | /api/health | Service health and version |
| GET | /api/library | Raw scanned media items |
| GET | /api/categories | Library categories with counts |
| GET | /api/categories/{id}/items | Items for a category key |
| GET | /api/series | Series grouped view |
| GET | /api/series/{id} | Single series payload |
| GET | /api/next?current={filePath} | Next episode helper |
| GET | /api/previous?current={filePath} | Previous episode helper |
| POST | /api/scan?force=1 | Force rescan (admin/session or API key) |
| GET | /media/{filePath} | Direct stream; transcode cache via ?transcode=1&profile=auto|cpu|nvenc|qsv|vaapi, or live mode with &live=1 |
| GET | /thumbnails/{file} | Thumbnail assets |
| GET | /posters/{file} | Poster assets |
curl -H "X-API-Key: YOUR_KEY" "http://movies.nexus-streams.com/api/health"
curl -H "Authorization: Bearer YOUR_KEY" "http://movies.nexus-streams.com/api/categories"