GET /v1/voices
| Property |
Value |
| Operation |
listVoices |
| Scope |
voices:read |
The catalogue enabled for the key’s partner
| Header |
Type |
Description |
RateLimit-Limit |
integer |
Requests allowed at once for this key |
RateLimit-Remaining |
integer |
Requests left right now |
RateLimit-Reset |
integer |
Seconds until the limit is full again |
X-Request-Id |
string |
The request’s ID (req_…); quote it in reports. |
| Field |
Type |
Required |
Description |
Rules |
data |
array of object |
yes |
The rows. |
|
data[].id |
string |
yes |
The voice ID (use it as voice_id in POST /v1/sessions). |
pattern ^[a-z][a-z0-9-]{2,39}$ |
data[].name |
string |
yes |
Display name. |
|
data[].description |
string |
yes |
Catalogue description. |
|
data[].safety_level |
string |
yes |
The safety level of the current version. How strictly a voice’s input and output are checked. |
one of child, general |
data[].version |
integer |
yes |
The current version (new sessions pin it). |
format int32 |
data[].sample_url |
string |
no |
A sample clip (signed, valid 1 hour); null until the voice has one. |
may be null |
Missing or invalid API key
| Header |
Type |
Description |
RateLimit-Limit |
integer |
Requests allowed at once for this key |
RateLimit-Remaining |
integer |
Requests left right now |
RateLimit-Reset |
integer |
Seconds until the limit is full again |
X-Request-Id |
string |
The request’s ID (req_…); quote it in reports. |
| Field |
Type |
Required |
Description |
Rules |
error |
object |
yes |
The error. |
|
error.code |
string |
yes |
|
one of invalid_request, unauthenticated, secret_expired, forbidden, origin_not_allowed, voice_not_found, session_not_found, capacity_exhausted, partner_limit_reached, rate_limited, internal, not_found, conflict, unavailable |
error.message |
string |
yes |
A short, fixed description. Never quotes the request. |
|
error.request_id |
string |
yes |
The request’s ID (also in the X-Request-Id header); quote it when reporting a problem. |
pattern ^req_[0-9A-HJKMNP-TV-Z]{26}$ |
error.details |
any |
no |
Structured detail, e.g. {"field": "languages[1]"} or {"reason": "quota_exhausted"}. |
|
The key lacks voices:read
| Header |
Type |
Description |
RateLimit-Limit |
integer |
Requests allowed at once for this key |
RateLimit-Remaining |
integer |
Requests left right now |
RateLimit-Reset |
integer |
Seconds until the limit is full again |
X-Request-Id |
string |
The request’s ID (req_…); quote it in reports. |
| Field |
Type |
Required |
Description |
Rules |
error |
object |
yes |
The error. |
|
error.code |
string |
yes |
|
one of invalid_request, unauthenticated, secret_expired, forbidden, origin_not_allowed, voice_not_found, session_not_found, capacity_exhausted, partner_limit_reached, rate_limited, internal, not_found, conflict, unavailable |
error.message |
string |
yes |
A short, fixed description. Never quotes the request. |
|
error.request_id |
string |
yes |
The request’s ID (also in the X-Request-Id header); quote it when reporting a problem. |
pattern ^req_[0-9A-HJKMNP-TV-Z]{26}$ |
error.details |
any |
no |
Structured detail, e.g. {"field": "languages[1]"} or {"reason": "quota_exhausted"}. |
|
Rate limited
| Header |
Type |
Description |
RateLimit-Limit |
integer |
Requests allowed at once for this key |
RateLimit-Remaining |
integer |
Requests left right now |
RateLimit-Reset |
integer |
Seconds until the limit is full again |
Retry-After |
integer |
Seconds to wait before retrying |
X-Request-Id |
string |
The request’s ID (req_…); quote it in reports. |
| Field |
Type |
Required |
Description |
Rules |
error |
object |
yes |
The error. |
|
error.code |
string |
yes |
|
one of invalid_request, unauthenticated, secret_expired, forbidden, origin_not_allowed, voice_not_found, session_not_found, capacity_exhausted, partner_limit_reached, rate_limited, internal, not_found, conflict, unavailable |
error.message |
string |
yes |
A short, fixed description. Never quotes the request. |
|
error.request_id |
string |
yes |
The request’s ID (also in the X-Request-Id header); quote it when reporting a problem. |
pattern ^req_[0-9A-HJKMNP-TV-Z]{26}$ |
error.details |
any |
no |
Structured detail, e.g. {"field": "languages[1]"} or {"reason": "quota_exhausted"}. |
|