List executions
List a workflow's executions (one per enrollment), most recently started first.
GET
https://api.centerfy.ai/webhooks/inbound/workflows/:id/executions Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The workflow id. |
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
limit | integer | No | 50 | Page size; minimum 1, maximum 100 (larger values are rejected with 400). |
offset | integer | No | 0 | Number of records to skip for paging; minimum 0. |
contact_id | string (uuid) | No | — | Only executions for this contact. |
status | string | No | — | One of pending, running, completed, failed, cancelled, waiting, waiting_for_reply, skipped, paused. |
Example
curl -X GET "https://api.centerfy.ai/webhooks/inbound/workflows/{id}/executions?limit=50&offset=0" \
-H "x-api-key: $CENTERFY_API_KEY" import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.workflows.listExecutions("<workflowId>", {
"limit": 50,
"offset": 0
});
console.log(result); centerfy workflows executions <workflowId> '{"limit":50,"offset":0}' MCP tool: centerfy_workflows_list_executions (see MCP server)
Response
{
"status": "success",
"total": 1,
"limit": 50,
"offset": 0,
"has_more": false,
"executions": [
{
"id": "7c3d4e5f-6a7b-4c8d-8e9f-1a2b3c4d5e6f",
"workflow_id": "5a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
"contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
"status": "pending",
"started_at": "2026-10-05T14:00:00.000Z",
"completed_at": null,
"error_message": null,
"current_step_id": null,
"next_step_at": null
}
]
}Errors
400— if contact_id is not a UUID or status is not one of the listed values.404— if the workflow is not in this sub-account.