POST /api/v2/conversations/calls returns 409 Conflict when initiating outbound call from Android app

POST /api/v2/conversations/calls

Getting a 409 Conflict when trying to kick off an outbound call from our Android app using the Genesys Cloud API. The goal is to let agents dial out directly from the app without using the standard softphone UI.

Here’s the JSON payload we’re sending:

{
 "from": {
 "phoneNumber": "+15551234567"
 },
 "to": [
 {
 "phoneNumber": "+15559876543",
 "name": "Customer Name"
 }
 ],
 "wrapUpCode": "completed"
}

The response body is pretty vague:

{
 "message": "Conversation already exists for this participant",
 "code": "conflict"
}

We’re using a valid OAuth token with conversations:call:write scopes. The from number is a valid Genesys Cloud phone number assigned to the user. We’ve checked the user’s status in the app, and they’re set to Available.

Is there a specific header we need to include to bypass this check? Or maybe the from number format is off? We’ve tried both E.164 and just the digits. The app is running on Android 13, using Kotlin with okhttp for the request. The error happens immediately, no delay. We’ve also verified there are no active calls for this user in the admin console. What could be causing this conflict?

{
 "from": {
 "phoneNumber": "+15551234567",
 "name": "Agent Name"
 },
 "to": [
 {
 "phoneNumber": "+15559876543",
 "name": "Customer Name"
 }
 ]
}

You’re missing the name field in the from object. That’s what’s triggering the 409. Genesys needs to know who’s calling.