API quickstart
Start a local Server, finish Owner setup, and configure a library. Use trusted HTTPS and the authentication mechanism documented by the live OpenAPI contract. Do not put an API key in a URL or share browser cookies in bug reports.
- Read
/api/v1/openapi.jsonfrom the intended Server. - Obtain an appropriately scoped credential through Owner controls, or use an authenticated session in your integration’s secure credential store.
- Read
GET /api/v1/subtitle-libraryto obtain scanned item IDs. - Check the intended item and language before issuing a mutation.
- Send
POST /api/v1/subtitle-library/{id}/fetchwithContent-Type: application/jsonand{}or an explicit language. - Inspect the response and resulting file before scheduling batch work.
API-key, Owner, and recent-authentication requirements vary by route. Do not assume a read credential can perform a management mutation. Follow the current contract and return errors to the operator.
See route and payload reference.
Example read request
Use an Owner-bound API key with the library scope for inventory. Load its value into KINOSAIL_TOKEN from a private secret store; do not paste it into a committed script or shell history. KINOSAIL_URL is the trusted HTTPS origin of your own Server.
curl --fail-with-body \
-H "Authorization: Bearer $KINOSAIL_TOKEN" \
"$KINOSAIL_URL/api/v1/subtitle-library"
Subtitle mutations need the admin API-key scope as well as Owner authority. A browser session is subject to recent-authentication and same-origin rules. A 403 is not a reason to disable those controls; check the credential and intended operation. The API-key scope names differ from MCP grants.