Skip to main content
POST
Set Voice Pool

Overview

Sets the voices an inbound number rotates through. Each inbound call picks one voice from the pool at random, so the same number can answer in a different voice each time. This replaces the whole pool rather than adding to it. Send the full set of voices you want every time, and send an empty array to clear the pool. Read the current pool with Get Voice Pool. A rejected request leaves the current pool untouched, so a validation error cannot cost you the voices already set.
Two things override the pool: an agent attached to the number, and a voice passed to Create Inbound Session when the call starts from a session. In either case the pool is ignored.The number’s own voice setting does not override it. Where a pool is set, it takes the place of that voice on every call.

Headers

string
required
Your API key for authentication.

Path Parameters

string
required
The inbound number to configure, in E.164 format (for example +15551234567). SIP DIDs are matched in the form they are stored, so a numeric DID such as 9994221001 also resolves.

Body Parameters

array
required
The voices to put in the pool. At most 20, or the request is rejected with a 400. Each must be a voice id from List Voices, which is a UUID, not the provider-facing voice_id string on the same object.You can use any public voice, plus the cloned voices your organization owns.
An ID that is a well-formed UUID but does not match a voice you can use is dropped without an error. Compare count in the response against the number you sent to catch this.

Response

object
null | array
null on success, or a list of error objects if the request failed.

Docs for agents: llms.txt