POST /api/v2/flows/executions returns 400 missing queueId via Python SDK

trigger_payload = {
 "flowId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 "parameters": {"customerEmail": "test@example.com", "priority": "high"}
}
resp = client.flows_api.post_flow_executions(body=trigger_payload)

Getting a 400 back every single time. The response body just says missing queueId, but we’re not supposed to need that for a pure API trigger. Checked the Swagger spec three times. It clearly lists flowId and parameters as the only required fields for external calls. The SDK version is 135.0.0. Tried passing an empty queueId string, got a validation error instead. Swapped to raw requests using requests.post against POST /api/v2/flows/executions with the same bearer token, same 400. The token works fine on other endpoints.

Problem
Trying to kick off an Architect flow from a Python microservice. The endpoint keeps rejecting the payload.

Error
HTTP 400. Message claims queueId is mandatory.

Question
How do you bypass this validation when calling from outside the platform? The docs say external triggers don’t need routing context. We’ve been staring at this for two hours.

You’re hitting this because the Python SDK doesn’t auto-fill the queueId like the web client does. Even if your flow is set to trigger via API, Genesys Cloud still expects a valid queue ID in the payload to route the interaction properly. It’s a bit of a hidden requirement that catches a lot of people out.

Try adding the queue ID directly to your payload. You can grab it from the flow settings or just hardcode it for testing.

trigger_payload = {
 "flowId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
 "queueId": "your-actual-queue-id-here", 
 "parameters": {
 "customerEmail": "test@example.com", 
 "priority": "high"
 }
}

# Ensure you're using the correct API object name
resp = client.flows_api.post_flow_executions(body=trigger_payload)

Also make sure your token has flows:write scope. If you’re still getting a 400, check that the queue ID matches the division of the flow. Mismatched divisions cause silent failures too.