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.

rockboxd exposes the same in-process state through four independent servers. They are all started by start_servers() in crates/server/src/lib.rs and all share one set of mutexes around the firmware, so a change made via gRPC is immediately visible over GraphQL, HTTP and MPD.
ProtocolDefault portUse it for
HTTP REST6063curl-able. Simple integrations, scripts, webhooks.
GraphQL6062Best fit for UIs. Subscriptions for real-time events.
gRPC6061Strongly-typed, multi-language. gRPC-Web supported.
MPD6600Existing MPD clients (mpc, ncmpcpp, MALP, …).

HTTP REST

Open http://localhost:6063 and explore.

GraphQL

GraphiQL at http://localhost:6062/graphiql.

gRPC

Schema published on Buf.

MPD

Anything that speaks MPD on localhost:6600.

Auto-generated REST pages

Every endpoint in the HTTP REST API has its own page generated from the canonical OpenAPI spec (openapi.json). The spec is also served live at http://localhost:6063/openapi.json while rockboxd is running.

Authentication

All four servers are unauthenticated. They are intended for use on a trusted LAN. If you expose Rockbox publicly, put it behind a reverse proxy with TLS and HTTP basic auth.

Pick a client SDK

We maintain six first-party SDKs. They wrap the GraphQL transport with typed methods, real-time subscriptions and a plugin system.

TypeScript

Python

Ruby

Elixir

Clojure

Gleam