I’m curious as to why the /api/v2/outbound/campaigns endpoint returns a 400 Bad Request when linking a BYOC trunk ID to a predictive dialer campaign? The trunk is active and registered in the Singapore region, but the validation fails during the final configuration step.
Environment details:
- Genesys Cloud Version: 2024-09.0
- Region: ap-southeast-1 (Singapore)
- Trunk Type: BYOC SIP
- Error Code: 400 (Invalid trunk association for predictive routing)
TL;DR: The trunk_id in the payload must match the internal Genesys Cloud resource identifier, not the external carrier-assigned DID or SIP URI.
Check your outbound campaign configuration payload. The 400 Bad Request typically occurs when the trunk_id field contains the external SIP trunk name or a partial identifier instead of the full UUID assigned by Genesys Cloud during the BYOC setup.
Retrieve the correct identifier via GET /api/v2/telephony/providers/edges/{edgeId}/trunks. Locate the id field corresponding to your Singapore trunk. This UUID must be passed explicitly in the campaign’s settings object.
Example payload structure:
{
"settings": {
"trunk_id": "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8",
"dialer": "predictive"
}
}
Ensure the trunk status is ACTIVE and that no regional restrictions prevent predictive routing in ap-southeast-1. If the trunk was recently provisioned, wait for the full propagation cycle (approx. 15 minutes) before retrying the API call.