{
“to”: “+15551234567”,
“from”: {
“phoneNumber”: “+15559876543”,
“type”: “phone”
},
“routing”: {
“type”: “agent”,
“agentId”: “a1b2c3d4-e5f6-7890-abcd-ef1234567890”,
“skillIds”: [“support_outbound”]
}
}
POST /api/v2/conversations/calls keeps throwing a 400 Bad Request. The response body just says “Invalid routing configuration”. Doesn’t help much when you’re trying to ship a feature before the week ends. We’ve got the agent ID straight from the user directory endpoint. The skill definitely exists in the routing profile and matches what the agent has assigned. Switched the routing type to queue and the call connects fine, but the client won’t accept that. They want the agent to own the leg from the start.
Auth token is fresh. Pulled it right before the request using client credentials. Running Python SDK 15.0.34. Headers look normal, content type is application/json. Docs list agent as a valid routing type but the payload structure feels off. Maybe the skillIds array needs a different shape. Or the agent has to be in a specific state. We’re triggering this from a backend script, not from a Studio flow. If I strip the skillIds out it yells about missing skills. Put them back and it’s a 400 again. Agent is logged in and showing as available in the console.
Logs are clean on our server. Nothing in the Genesys activity logs either. Can’t find a working example for agent-initiated outbounds. Tried swapping to a direct number bypass but that failed too. Still staring at the same payload. Checked the conversation history endpoint too. Returns empty since the call never actually starts. Timeout header is set to thirty seconds but it rejects instantly. Not sure if the platform requires a specific media type or if the agent needs a separate outbound permission set.