Developer API

Build on Atomic Work

Trigger workflows, receive webhook events, and integrate Atomic Work into any product. REST API · JSON · Bearer token auth.

Authentication

All API requests use Bearer token authentication. Get your API key from Settings → Integrations.

http
Authorization: Bearer ak_live_xxxxxxxxxxxxxxxxxxxxxxxx
Keep your API key secret. Never expose it in client-side code or version control. Rotate keys from your settings page if compromised.

Trigger a Workflow Run

Start a new run of any published workflow. Pass input data as a JSON object matching the workflow's first INPUT step fields.

POST
/api/public/runs/trigger

Trigger a new workflow run

curl
curl -X POST https://theatomicwork.com/api/public/runs/trigger \
  -H "Authorization: Bearer ak_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "workflowId": "wf_employee_onboarding",
    "orgId": "org_xxxxxxxx",
    "input": {
      "Full Name": "Jane Doe",
      "Email": "jane@acme.com",
      "Position": "Software Engineer"
    }
  }'

Response

json
{
  "runId": "run_xxxxxxxxxx",
  "status": "IN_PROGRESS",
  "currentStep": 0,
  "workflowTitle": "Employee Onboarding",
  "createdAt": "2026-04-26T10:00:00Z"
}

Get Run Status

Poll for the current state of a run, or use webhooks for real-time updates.

GET
/api/public/runs/{runId}

Fetch current state of a run

curl
curl https://theatomicwork.com/api/public/runs/run_xxxxxxxxxx \
  -H "Authorization: Bearer ak_live_xxxxx"

Response

json
{
  "runId": "run_xxxxxxxxxx",
  "status": "COMPLETED",
  "currentStepIndex": 5,
  "totalSteps": 5,
  "completedAt": "2026-04-26T10:12:33Z",
  "outputs": {
    "step-1": { "Full Name": "Jane Doe" },
    "step-4": { "decision": "approved" }
  }
}

Run status values

IN_PROGRESS

Run is executing, waiting for a step to complete

COMPLETED

All steps completed successfully

FLAGGED

A step encountered an error and needs attention

BLOCKED

Waiting for a human approval step

List Workflows

Returns all published workflows in your organization.

GET
/api/public/workflows

List published workflows

curl
curl https://theatomicwork.com/api/public/workflows \
  -H "Authorization: Bearer ak_live_xxxxx" \
  -G -d "orgId=org_xxxxxxxx"

Response

json
{
  "workflows": [
    {
      "id": "wf_employee_onboarding",
      "title": "Employee Onboarding",
      "description": "Complete onboarding for new hires",
      "steps": 6,
      "isPublished": true
    }
  ],
  "total": 1
}

Webhooks

Register a URL to receive real-time events when runs change state. Atomic Work sends a signed POST request to your endpoint.

POST
/api/public/webhooks

Register a new webhook endpoint

GET
/api/public/webhooks

List registered webhooks

DELETE
/api/public/webhooks/{id}

Remove a webhook

Event payload example

json
{
  "event": "run.completed",
  "runId": "run_xxxxxxxxxx",
  "workflowId": "wf_employee_onboarding",
  "orgId": "org_xxxxxxxx",
  "timestamp": "2026-04-26T10:12:33Z",
  "data": {
    "status": "COMPLETED",
    "totalSteps": 6,
    "durationMs": 752000
  }
}

Available events

run.started

A new run was triggered

run.step_completed

A single step finished (success or failure)

run.awaiting_approval

Run is paused — waiting for human approval

run.completed

All steps finished successfully

run.flagged

Run encountered an error

Rate Limits

API rate limits are applied per API key. If you hit a limit, the API returns HTTP 429 Too Many Requests with a Retry-After header.

PlanRequests / minConcurrent runs
Free605
Pro30050
EnterpriseUnlimitedUnlimited

Ready to build?

Get your API key and trigger your first workflow in under 5 minutes.