Skip to content
AIDev edited this page Sep 17, 2026 · 1 revision

API

Everything the website does is available over a JSON API at /api/v1, which is how Marquee for Mac works. The full reference — every endpoint, parameters, example responses and error codes — is docs/api-v1.md.

Finding a server

GET /api/v1/server-info needs no authentication and answers:

{ "app": "marquee", "apiVersion": 1, "version": "0.25.0", "setupComplete": true, "status": "ok" }

Signing in

POST /api/v1/auth/login with { "username", "password", "deviceName" } returns a bearer token for that device:

curl -X POST http://192.168.1.35:3000/api/v1/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"username":"you","password":"…","deviceName":"Script"}'

Send it as Authorization: Bearer mqt_… on everything else. Tokens expire 90 days after last use, POST /api/v1/auth/logout revokes the one you're using, and changing a password revokes all of that account's tokens.

Conventions

  • camelCase JSON, ISO-8601 timestamps, calendar dates as YYYY-MM-DD, nulls spelled out rather than omitted.
  • Errors are { "error": "…", "code": "…" } with a sensible status: 401 unauthorized, 403 forbidden, 404 not_found, 409 conflict, 429 rate_limited, 502 upstream when a connected service failed.
  • Image fields are TMDb paths; build URLs as https://image.tmdb.org/t/p/w342<path>. A few artwork fields are already full URLs — use them as they are.
  • Members see their own data and their library owner's; admin-only endpoints answer 403 for everyone else.

Clone this wiki locally