Execute workflow
POST /workflows/{workflowId}/execute
Start an asynchronous execution of a deployed workflow. Supply triggerNodeId when more than one eligible trigger exists. A successful request means the run was triggered, not that it completed.
POST /api/v1/workflows/{workflowId}/executePermission: workflows:execute. Write endpoints also require a workspace role that permits changes. See authentication and errors.
Request
curl --request POST 'https://app.innflow.ai/api/v1/workflows/workflow_id/execute' \
--header "Authorization: Bearer $INNFLOW_API_KEY" \
--header "Idempotency-Key: unique-request-001" \
--header "Content-Type: application/json" \
--data '{
"input": {
"email": "customer@example.com"
}
}'Examples use placeholder IDs. Set INNFLOW_API_KEY in your shell and replace IDs with your own before sending a request.
Parameters
| Name | In | Required | Details |
|---|---|---|---|
workflowId | path | Yes | Resource identifier. |
X-Innflow-Workspace | header | No | Organization ID, or personal. Set explicitly; omission uses legacy user-owned resource scope. |
Idempotency-Key | header | No | Optional replay key, at most 200 characters. Same request and key replay for 24 hours. |
JSON body
Optional JSON body.
{
"type": "object",
"properties": {
"input": {
"type": "object",
"additionalProperties": true
},
"triggerNodeId": {
"type": "string"
}
}
}Response
HTTP 200 — Returns data with workflowId, eventIds, executionId and status: triggered. Poll Get execution with executionId. MCP OAuth contract requests return 202 and include an operationId receipt.
See OpenAPI download for the machine-readable request contract and errors for errors and retry behavior.