---
title: "List All Voices"
method: GET
path: "/voice_agent_assistants/voices"
tags: ["voice_agent_assistants"]
---

# List All Voices

`GET /voice_agent_assistants/voices`

Every provider's voices in one list, for the unified voice picker.

Replaces the three per-provider endpoints above for any caller that wants
voices rather than *a vendor's* voices.

**This endpoint never returns 503, and that is deliberate.** Its siblings do,
because a picker bound to one provider has nothing to show when that
provider is down. A union has plenty: a Cartesia outage must not empty a
picker holding 1,568 Google voices. So a provider that cannot be reached is
named in ``unavailable`` and the rest are still served. Do not "fix" this
into a 503 for consistency with its neighbours.

An unsupported ``language`` is a 422 rather than an empty list, so a typo
reads as a mistake instead of as "no voices speak this".

## Query parameters

- `language` string, nullable — Narrow to voices that speak this product language code (e.g. 'el'). Voices whose capability is unknown are always kept.

## Response `200`

Successful Response

- CatalogResult — The union, plus whichever providers could not be reached. Partial failure is not total failure, which is the one place this module departs from its per-provider siblings. They answer 503 because a picker bound to one provider has nothing to show without it; a union has plenty. A Cartesia outage must not empty a picker holding 1,568 Google voices — and silently serving the short list instead would be exactly the invalid default this codebase refuses to produce. So the caller is told what is missing and shows the rest.
  - `voices` CatalogVoice[], required
    - `provider` 'elevenlabs' | 'cartesia' | 'google', required — TTS provider used to synthesize a SYNTHESIZED pre-pickup message. Stored on ``VoiceAgentGroup.pre_pickup_voice_provider`` (as a plain string column) and used to dispatch synthesis to the matching TTS client.
    - `voice_id` string, required
    - `name` string, required
    - `languages` string[]
  - `unavailable` PrePickupVoiceProvider[]

## Other responses

- `422` — Validation Error

## Changes

> 17 revisions in range; 1 not diffed.

- **2026-09-09** `14d0341c60b5` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/voice_agent_assistants/voices/get.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/94579f820778?raw)
