I am trying to launch a specific Architect flow programmatically from an external Python script. The goal is to trigger a workflow based on external data ingestion.
The endpoint is POST /api/v2/flows/executions. I am using the standard OAuth2 client credentials flow for authentication. The token generation works fine. I can query user data without issues.
Here is the cURL command I am using for testing:
curl -X POST "https://{{myorg}}.mygenesyscloud.com/api/v2/flows/executions" \
-H "Authorization: Bearer {{access_token}}" \
-H "Content-Type: application/json" \
-d '{
"flowId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"context": {
"userId": "98765432-abcd-1234-efgh-0987654321ab",
"customData": {
"source": "external_api",
"priority": "high"
}
}
}'
The response I get is:
{
"executionId": "exec-12345-abcde-67890",
"flowId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"status": "queued"
}
Status code is 200. The executionId is generated. But the flow never actually starts. I checked the flow logs in Architect. Nothing shows up. The flow is active. It is not paused.
I verified the flowId is correct. I copied it directly from the flow editor URL. The userId exists in the system.
I tried adding a webhook inside the flow as the first step. No webhook call was received.
I am using the flow:read and flow:write scopes. Is that enough? The docs are not clear on execution permissions. Maybe I need routing:write? Or is there a specific setting in the flow definition that blocks external triggers?
The flow has a “Start” trigger. It is set to “Flow Execution API”. That is the only trigger.
I am in PST timezone. The timestamps in the logs might be off? No, that shouldn’t matter for execution.
I have been stuck on this for two days. The API says success. The system does nothing.