Skip to main content
The control API is shared by the embedded web console and external operator tooling. Rust and Go servers implement the same OpenAPI contract and the conformance suite compares their status codes, headers, and raw response bytes. The API is mounted at:

Safety defaults

  • Job lists use opaque keyset cursors. Queues, workers, schedules, partitions, and quarantine use a bounded limit (maximum 200) plus a numeric cursor returned in the x-next-cursor response header. Redis discovers these collections with bounded SSCAN, never a blocking SMEMBERS.
  • Job payloads are omitted unless include_payload=true is requested and allowed.
  • Mutating requests require Idempotency-Key.
  • Explicit-ID actions are bounded; selector-based bulk actions run asynchronously.
  • Counts and history use maintained aggregates rather than queue-depth scans.
  • Unsupported backend capabilities are discoverable through GET /meta.

Operator-first endpoints

Open the API Reference tab in the top navigation for parameters, schemas, response bodies, and the interactive playground generated from the canonical specification.

Enqueue over HTTP

Polyglot producers can submit work without a native SDK:
The idempotency key protects a retried HTTP request from creating a second logical job.