POST /api/v2/conversations/calls returns 400 on participant address

Is it possible to initiate a call with a dynamic address? I am getting a 400 Bad Request.

{
 "from": { "address": "+31612345678" },
 "to": [{ "address": "+442012345678" }]
}

The address format seems correct. What is the hidden requirement? My Terraform state is clean. No validation errors in the module. Just a hard 400.

If I remember correctly, you need to explicitly set the addressType to telephone in the JSON payload, otherwise the API defaults to email and rejects the E.164 format. Try adding "addressType": "telephone" inside both from and to objects.

It depends, but generally…

{
 "from": { "address": "+31612345678", "addressType": "telephone" },
 "to": [{ "address": "+442012345678", "addressType": "telephone" }]
}

Explicitly setting addressType is required because the API defaults to email for unspecified types, causing the E.164 validation to fail.

The quickest way to solve this is…

  • Confirm addressType: "telephone" is set, as noted above.
  • Verify the from address matches an active user or queue in your org.
  • Ensure the calling party has conversations:write scope.
  • Check for missing routingData if using a queue.

This happens because the API defaulting to email when addressType is omitted, which fails E.164 validation. The suggestion above to explicitly set it is correct.

{
 "from": { "address": "+31612345678", "addressType": "telephone" },
 "to": [{ "address": "+442012345678", "addressType": "telephone" }]
}