POST /platform/v1/workflows/{workflow_id}/executions— start an executionPOST /platform/v1/workflow_executions/{execution_id}/resume— resume an execution that is waiting for input
Before you start
- The workflow status must be
active - The workflow needs an active API trigger
- Every request needs an
X-API-Keyheader
Start an execution
Response is
202 Accepted:
id to fetch or resume the execution, and tracking_id to correlate it with your own systems.
Start by BSUID
When you only have a business-scoped user ID, sendrecipient instead of phone_number:
Execution context
An API-triggered execution starts with:Check execution status
202 can return 404. Retry after a moment.
To find executions that need input, filter the workflow’s execution list:
Resume a waiting execution
An execution enterswaiting when it reaches a wait for response step. Resume it with the input the workflow was waiting for:
Note that
message and variables sit at the top level, not under workflow_execution.
The response is 200 OK with the execution’s id, status, tracking_id, current_step, and timestamps. Resume work runs in the background, so the returned status can still be waiting — poll GET /platform/v1/workflow_executions/{id} to see it advance.
Only one resume can be pending at a time. A second request while the first is still pending returns 409 Conflict.
Errors
The start endpoint has a burst limiter on top of the general rate limits, scoped by API key and workflow, resetting every second:
legacy/free: 5 requests per secondpro: 15 requests per secondenterprise/platform: 30 requests per second
X-Burst-RateLimit-Limit and X-Burst-RateLimit-Remaining.
