Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rockboxzig.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

The REST server runs on port 6063 by default (override with ROCKBOX_TCP_PORT). Every endpoint is JSON in / JSON out, except where noted (some commands return plain-text status codes). The full schema is published as OpenAPI 3.1 and rendered as one page per endpoint in the sidebar — explore by tag or jump to a specific operation.

Quick smoke test

curl -s http://localhost:6063/version
curl -s http://localhost:6063/player/status
curl -s http://localhost:6063/playlists/amount

Common operations

curl -s http://localhost:6063/player/current-track | jq .title,.artist

Notable behaviours

  • Responses sometimes return plain text. A few mutations return a status integer or insertion index in the body as text rather than JSON (/playlists, /playlists/{id}/tracks, /scan-library). The OpenAPI spec marks these explicitly.
  • Saved playlist mutations return 204 with no body.
  • Bluetooth routes only exist on Linux. They are conditionally registered at compile time.
  • The HTTP server runs on its own thread so actix’s worker pool is not pinned to the Rockbox cooperative scheduler. See Architecture › Overview for the lifecycle.

Server details

  • Bind address — 0.0.0.0:$ROCKBOX_TCP_PORT (default 6063).
  • CORS — permissive (actix_cors::Cors::permissive()) so browser-based clients can hit it without preflight pain.
  • The OpenAPI document is also served live at http://localhost:6063/openapi.json.