Endpoint
Authentication
Requires an API key withexecutions:read scope.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
executionId | string | Required. The execution identifier (e.g., exec_abc123) |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
include | string | Additional data to include: artifacts, metrics (comma-separated) |
Response
Pending/Running (200 OK)
Completed (200 OK)
Failed (200 OK)
With Artifacts (200 OK)
When requesting?include=artifacts:
Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Execution identifier |
flowId | string | Flow that was executed |
version | string | Flow version used |
status | string | Current status (see below) |
progress | object | Progress info (while running) |
progress.step | string | Current step name |
progress.percentage | number | Estimated completion (0-100) |
createdAt | string | ISO 8601 start timestamp |
completedAt | string | ISO 8601 completion timestamp |
output | object | Extracted data (when completed) |
error | object | Error details (when failed) |
error.code | string | Error code |
error.message | string | Error description |
error.step | string | Step that failed |
metrics | object | Execution metrics |
artifacts | object | Step-level artifacts (if requested) |
metadata | object | Custom metadata from request |
Execution Status Values
| Status | Description |
|---|---|
pending | Queued, not yet started |
running | Currently processing |
completed | Successfully finished |
failed | Failed with error |
cancelled | Cancelled by user |
Examples
cURL
With Artifacts
TypeScript Polling
Check Status Only
Errors
| Status | Code | Description |
|---|---|---|
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | API key missing executions:read scope |
| 404 | EXECUTION_NOT_FOUND | Execution doesn’t exist |
| 429 | RATE_LIMITED | Rate limit exceeded |
Polling Best Practices
- Start with longer intervals: Begin with 2-3 second intervals
- Use exponential backoff: If still pending after 30s, increase interval
- Set a maximum timeout: Don’t poll forever (e.g., max 10 minutes)
- Consider webhooks: For production, webhooks are more efficient than polling