HTTP API overview
Public API lives under /v1. The Node SDK is a thin client over these routes. Prefer the SDK unless you are building a non-Node client.
Base URL & health
- Local:
http://localhost:8080 - Health:
GET /healthz - Public catalog:
GET /v1/pricing/catalog
Authentication
>_example.http
HTTP
Authorization: Bearer jk_...- API key
jk_…— machines / SDK / CLI - Session
jsess_…or cookie — dashboard humans
Jobs
>_example.http
HTTP
POST /v1/projects/{projectId}/jobsAuthorization: Bearer jk_...Idempotency-Key: charge:ord_123Content-Type: application/json{ "jobType": "billing.charge", "payload": { "orderId": "ord_123" }, "queue": "payments"}GET .../jobs·GET .../jobs/{id}POST .../jobs/{id}/cancel·POST .../jobs/{id}/replayGET .../jobs/{id}/timeline·GET .../jobs/{id}/logsGET .../dead-letter-jobs
Queues
POST/GET/PATCH /v1/projects/{projectId}/queues — concurrency, visibility, rate limit, pause.
Worker protocol
POST .../worker/claimPOST .../worker/heartbeatPOST .../worker/complete·.../failGET .../workers
Prefer joborc.worker() instead of calling these by hand.
Schedules
/v1/projects/{projectId}/schedules (+ pause/resume/runs). Requires schedules feature flag on the server.
Errors
Responses use application/problem+json with stable JOBORC-* codes.