PLATFORM API · READ-ONLY

DispatchDesk Platform API

A read-only HTTP API for your dispatch desk: jobs, timelines, penalties, matches, and usage — plus public reference data. Every key is read-only by construction; there are no write endpoints.

Authentication

Send your key as a Bearer token. Keys are accepted from the Authorization header only — never from a cookie and never from a query string, so keys can't leak into logs or Referer headers.

curl -H "Authorization: Bearer dd_live_ro_YOURKEY" https://dispatchdesk.io/api/v1/me

Create and revoke keys in your client portal at /portal/api-keys (up to 5 active keys per account). A key's plaintext is shown exactly once at creation — we store only a hash.

Endpoints

EndpointAuthWhat it returns
GET /api/v1/meAPI keyAccount + key metadata (never secrets)
GET /api/v1/jobsAPI keyJobs list — ?status=&limit=&cursor= (keyset pagination)
GET /api/v1/jobs/:idAPI keyOne job + its event timeline
GET /api/v1/penaltiesAPI keyQuality penalties on your jobs
GET /api/v1/matchesAPI keyMatched providers for a job — ordinal ranks only
GET /api/v1/usageAPI keyDDC balance, job counts by status, active key count
GET /api/v1/public/reference/systemspublicThe five DispatchDesk systems
GET /api/v1/public/reference/service-categoriespublicMaster service catalog
GET /api/v1/public/reference/verticalspublicSEO vertical pages
GET /api/v1/public/statspublicCoarse editorial stats (rounded + suppression floor)
GET /api/v1/public/qa/searchpublicHelp-center search (when the help center is enabled)
GET /api/v1/openapi.jsonpublicThe OpenAPI 3.1 description of this API

Full machine-readable spec: GET /api/v1/openapi.json.

Examples

curl -H "Authorization: Bearer dd_live_ro_YOURKEY" "https://dispatchdesk.io/api/v1/jobs?status=Completed&limit=20"

curl https://dispatchdesk.io/api/v1/public/reference/systems

Rate limits

Authenticated endpoints: 60 requests/minute per key. Public endpoints: 30 requests/minute per IP. Exceeding a limit returns 429 with a Retry-After header (seconds). Limits always apply — there is no unmetered path.

Ranking data is disclosed as ordinal ranks only — the API never returns raw scores, counts, or model signals.