Roles and permissions
Three roles, each including the ones before it: viewer < operator < admin. A route that names no role needs viewer for a GET and operator for any other method. A role that is too low answers 403 forbidden_role, whatever the credential. The SDK token (JOOBQUI_SDK_TOKEN) acts as an operator on /api/v1/sdk/* only.
No sign-in (10)
| Operation | What it does |
|---|---|
POST /api/v1/accounts | Sign up for an account, where sign-up is open or by invite |
GET /api/v1/capabilities | What this server can do and its limits |
POST /api/v1/email/resend | Send the verification email again |
POST /api/v1/email/verify | Confirm an email address with its token |
GET /api/v1/openapi.json | The OpenAPI 3.1 description of this API |
POST /api/v1/password/forgot | Ask for a password reset link by email |
POST /api/v1/password/reset | Set a new password with a reset token |
GET /api/v1/sdk/openapi.json | Describe the Polyglot SDK Gateway API as an OpenAPI 3.1 document |
POST /api/v1/session | Sign in with a username or email and a password |
POST /api/v1/session/mfa | Finish a sign-in with a one-time code or a recovery code |
viewer (36)
| Operation | What it does |
|---|---|
GET /api/v1/alerts | Alert overview: active alerts, rules and recent history |
GET /api/v1/alerts/active | List the alerts firing now |
GET /api/v1/alerts/history | Page through past alerts |
GET /api/v1/alerts/options | What alert rules can watch and notify |
GET /api/v1/alerts/rules | List the alert rules |
GET /api/v1/dlq | Page through the dead letters, newest first |
GET /api/v1/export/dlq | Download the dead letters as CSV or JSON |
GET /api/v1/export/queues | Download the queue list as CSV or JSON |
GET /api/v1/jobs | Page through jobs in one state, optionally of one queue |
GET /api/v1/jobs/:jid | Find a job by its jid |
GET /api/v1/queues | List the queues with their sizes and workers |
GET /api/v1/queues/:name/jobs | Page through a queue's waiting jobs |
GET /api/v1/schedules | List the configured schedules |
GET /api/v1/schedules/:id | Show one schedule |
GET /api/v1/sdk/workflows/:id | Describe one workflow run: status, output, failure and search attributes |
GET /api/v1/sdk/workflows/:id/history | The events of a workflow run, after after_seq, at most limit |
GET /api/v1/sdk/workflows/:id/result | The outcome of a workflow, following continue-as-new; waits up to wait_ms for it to close |
DELETE /api/v1/session | Sign out |
GET /api/v1/session | Who the caller is and their role |
GET /api/v1/telemetry/summary | Headline numbers, throughput and latency percentiles |
GET /api/v1/workers | List the registered worker processes |
GET /api/v1/workflow-archive | Runs exported to the archive before retention deleted them, newest first |
GET /api/v1/workflow-archive/:id | An archived run: its final state and a page of its events |
GET /api/v1/workflow-attributes | The registered search attributes and their types |
GET /api/v1/workflow-builds | The worker build sets, what is pinned to each and whether workers are alive |
GET /api/v1/workflow-builds/pinned | How many open runs are pinned to each build set |
GET /api/v1/workflow-definitions | Search the workflow names that can be started |
GET /api/v1/workflow-retention | Whether finished workflows are pruned, and what the last pass removed |
GET /api/v1/workflow-scheduler | Whether anything is firing workflow schedules |
GET /api/v1/workflow-schedules | List the workflow schedules |
GET /api/v1/workflow-schedules/:id | Show one workflow schedule with its next runs |
GET /api/v1/workflows | Page through workflow runs, newest first |
GET /api/v1/workflows/:id | Show one run with its steps |
GET /api/v1/workflows/:id/history | The events of a run |
GET /api/v1/workflows/:id/runs | The runs of the continue-as-new chain a run belongs to |
GET /api/v1/workflows/:id/updates/:name | The recorded outcome of an update |
operator (56)
| Operation | What it does |
|---|---|
POST /api/v1/alerts/rules | Create an alert rule |
DELETE /api/v1/alerts/rules/:id | Delete an alert rule |
PUT /api/v1/alerts/rules/:id | Enable or disable an alert rule |
POST /api/v1/alerts/:id/acknowledge | Acknowledge an alert |
POST /api/v1/dlq/purge | Delete dead letters by jid, or all of them (optionally one queue's) |
POST /api/v1/dlq/redrive | Re-drive dead letters back onto their queues |
POST /api/v1/jobs/delete | Delete jobs in bulk |
POST /api/v1/jobs/retry | Retry jobs in bulk (a dead job is re-driven, a delayed one runs now) |
DELETE /api/v1/jobs/:jid | Delete one job |
POST /api/v1/jobs/:jid/retry | Retry one job |
POST /api/v1/queues/:name/clear | Delete every waiting job of a queue |
PUT /api/v1/queues/:name/concurrency | Ask the workers for a different concurrency on a queue |
POST /api/v1/queues/:name/pause | Pause a queue: workers stop taking its jobs |
POST /api/v1/queues/:name/resume | Resume a paused queue |
DELETE /api/v1/queues/:name/throttle | Remove the throttle set on a queue from the console or the API |
PUT /api/v1/queues/:name/throttle | Throttle a queue that only SDK workers serve: at most limit claims per period_ms |
POST /api/v1/schedules/:id/pause | Pause a schedule |
POST /api/v1/schedules/:id/resume | Resume a paused schedule |
POST /api/v1/schedules/:id/run | Enqueue one run of a schedule now |
POST /api/v1/sdk/blueprints | Register a workflow blueprint, versioned by its content hash |
POST /api/v1/sdk/jobs | Enqueue a background job onto a queue |
POST /api/v1/sdk/jobs/batch | Enqueue up to 500 background jobs in one call |
POST /api/v1/sdk/rate-limit | Reserve one slot of a sliding-window rate limit (Pro) |
POST /api/v1/sdk/schedules | Register a code-declared cron/recurring job or workflow schedule, idempotent by name |
POST /api/v1/sdk/tasks/ack | Settle up to 100 task leases in one call, each completed or failed |
POST /api/v1/sdk/tasks/heartbeat | Extend every lease a worker holds in one call and check each for cancellation |
POST /api/v1/sdk/tasks/poll | Claim due jobs and workflow steps from unpaused queues |
POST /api/v1/sdk/tasks/:token/complete | Commit task completion and output |
POST /api/v1/sdk/tasks/:token/fail | Record structured polyglot task failure and stack frames |
POST /api/v1/sdk/tasks/:token/heartbeat | Extend an active task lease and check for cancellation |
POST /api/v1/sdk/workers/register | Register or heartbeat a polyglot SDK worker |
POST /api/v1/sdk/workers/:id/deregister | Deregister a polyglot SDK worker on shutdown |
POST /api/v1/sdk/workflows | Start a durable workflow execution |
POST /api/v1/sdk/workflows/:id/query | Ask a workflow run a read-only question |
POST /api/v1/sdk/workflows/:id/search-attributes | Set and remove search attributes of a workflow's open run |
POST /api/v1/sdk/workflows/:id/signal | Deliver an asynchronous signal to a running workflow |
POST /api/v1/sdk/workflows/:id/updates | Send an update to a running workflow and wait for its outcome |
POST /api/v1/workflow-archive/:id/replay | Replay an archived run's history against the definition registered now |
POST /api/v1/workflow-schedules/:id/backfill | Start the runs of the fire times in a past range |
POST /api/v1/workflow-schedules/:id/pause | Pause a workflow schedule |
POST /api/v1/workflow-schedules/:id/resume | Resume a paused workflow schedule from now |
POST /api/v1/workflow-schedules/:id/trigger | Start a run of the schedule now |
POST /api/v1/workflows | Start a workflow run (a known id is a no-op) |
POST /api/v1/workflows/bulk | Terminate, cancel, signal or re-drive many workflows at once |
POST /api/v1/workflows/:id/attributes | Set and remove search attributes of an open run |
POST /api/v1/workflows/:id/cancel | Cancel a running workflow, undoing completed steps that can be undone |
POST /api/v1/workflows/:id/continue-as-new | Close the open run and start its successor now |
POST /api/v1/workflows/:id/migrate | Move an open run onto the latest definition after a clean replay |
POST /api/v1/workflows/:id/query | Ask a run a read-only question |
POST /api/v1/workflows/:id/redrive | Start a new run from a failed, terminated, cancelled or timed-out one |
POST /api/v1/workflows/:id/replay | Replay a run's history against the definition registered now |
POST /api/v1/workflows/:id/scopes/:scope/cancel | Cancel one cancellation scope of a running workflow |
POST /api/v1/workflows/:id/signal | Send a signal to a running workflow |
POST /api/v1/workflows/:id/steps/:step/retry | Retry a failed activity of a running workflow |
POST /api/v1/workflows/:id/terminate | Terminate a running workflow at once |
POST /api/v1/workflows/:id/updates/:name | Send a validated update to a running workflow and wait for its answer |
admin (20)
| Operation | What it does |
|---|---|
GET /api/v1/audit | Search the audit log, or download the selection |
GET /api/v1/notification-channels | List the notification channels |
POST /api/v1/notification-channels | Create a notification channel |
DELETE /api/v1/notification-channels/:id | Delete a notification channel |
GET /api/v1/notification-channels/:id | Show one notification channel |
PUT /api/v1/notification-channels/:id | Change a notification channel |
POST /api/v1/notification-channels/:id/test | Send a test notification through a channel |
GET /api/v1/tokens | List the API tokens (never the secrets) |
POST /api/v1/tokens | Create an API token; the secret is shown once, in this answer |
DELETE /api/v1/tokens/:id | Revoke an API token |
GET /api/v1/users | List the accounts |
PUT /api/v1/users/:id | Change an account's role or switch it on or off (one per call) |
POST /api/v1/workflow-attributes | Register a search attribute name with its type |
POST /api/v1/workflow-builds/:build/promote | Start new runs of a workflow on a build |
POST /api/v1/workflow-builds/:build/repin | Move the open runs pinned to a build set onto another build |
POST /api/v1/workflow-builds/:build/retire | Retire a build for good |
POST /api/v1/workflow-schedules | Create a workflow schedule |
DELETE /api/v1/workflow-schedules/:id | Delete a workflow schedule (runs it started are left alone) |
PUT /api/v1/workflow-schedules/:id | Change a workflow schedule (fields left out keep their value) |
POST /api/v1/workflows/:id/repin | Pin an open run to another build |