Authentication
All API requests use Bearer token authentication. Get your API key from Settings → Integrations.
Authorization: Bearer ak_live_xxxxxxxxxxxxxxxxxxxxxxxxTrigger 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.
/api/public/runs/triggerTrigger a new workflow run
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
{
"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.
/api/public/runs/{runId}Fetch current state of a run
curl https://theatomicwork.com/api/public/runs/run_xxxxxxxxxx \
-H "Authorization: Bearer ak_live_xxxxx"Response
{
"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_PROGRESSRun is executing, waiting for a step to complete
COMPLETEDAll steps completed successfully
FLAGGEDA step encountered an error and needs attention
BLOCKEDWaiting for a human approval step
List Workflows
Returns all published workflows in your organization.
/api/public/workflowsList published workflows
curl https://theatomicwork.com/api/public/workflows \
-H "Authorization: Bearer ak_live_xxxxx" \
-G -d "orgId=org_xxxxxxxx"Response
{
"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.
/api/public/webhooksRegister a new webhook endpoint
/api/public/webhooksList registered webhooks
/api/public/webhooks/{id}Remove a webhook
Event payload example
{
"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.startedA new run was triggered
run.step_completedA single step finished (success or failure)
run.awaiting_approvalRun is paused — waiting for human approval
run.completedAll steps finished successfully
run.flaggedRun 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.
| Plan | Requests / min | Concurrent runs |
|---|---|---|
| Free | 60 | 5 |
| Pro | 300 | 50 |
| Enterprise | Unlimited | Unlimited |