List Voices

List TTS voices available to the current workspace. Every filter accepts repeat-key OR semantics: `?gender=female&gender=neutral&category=narration&source=platform&source=workspace`. Filters combine across fields with AND; within a field, values OR. `language` uses Postgres `?|` (exists-any) against `voices.supported_languages`. Platform voices with NULL `supported_languages` (catalog gaps) are treated as general-use and match every locale filter. User-uploaded / cloned voices with NULL stay excluded — NULL there means "language unknown" pending the clone flow's language detection. Multi-sort: `sort` and `order` are parallel lists. `?sort=uses_count&sort=name&order=desc&order=asc` orders primarily by uses_count DESC, secondarily by name ASC. When `order` is shorter than `sort`, missing entries default per-field: `name=asc, created_at=desc, uses_count=desc`. When `sort` is omitted, list defaults to newest-first (or most-recently-favorited-first if `favorites_only=true`). Every sort path appends `Voice.id ASC` as a deterministic tiebreaker for pagination stability.

Authentication

AuthorizationBearer
Clerk JWT token
OR
AuthorizationBearer

Onepin live API key (op_live_...). Test and public keys are reserved in Phase 1.

Headers

X-Workspace-Idstring or nullOptional

Query parameters

offsetintegerOptional>=0Defaults to 0
limitintegerOptional1-100Defaults to 20
favorites_onlybooleanOptionalDefaults to false
sourcelist of enums or nullOptional
Repeat for OR across scopes
Allowed values:
genderlist of enums or nullOptional
Repeat for OR
Allowed values:
agelist of enums or nullOptional
Repeat for OR
Allowed values:
categorylist of enums or nullOptional
Repeat for OR
accentlist of enums or nullOptional
Repeat for OR
searchstring or nullOptional<=200 characters
sortlist of enums or nullOptional

Repeat for multi-sort. Pairs with order index-wise.

Allowed values:
orderlist of enums or nullOptional

Parallel to sort[]; shorter is padded with per-field defaults.

Allowed values:
providerlist of enums or nullOptional

Repeat for OR, e.g. ?provider=elevenlabs&provider=rime

Allowed values:
languagelist of enums or nullOptional

Repeat for OR, e.g. ?language=en-us&language=ko-kr

Response

Successful Response
datalist of objects
metaobject
paginationobject
PaginationMeta variant for endpoints that compute an unpaginated total.

Errors

422
Unprocessable Entity Error