# POST /voices

**Resource:** [Voices](./voices.md)  
**Scopes:** `voices:write`  
**Write operation:** yes

Save an ElevenLabs voice to the workspace voice library. provider_voice_id is required. Name and preview URL are auto-resolved from ElevenLabs if not provided. Each voice ID can only be saved once per workspace.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `provider_voice_id` | body | string | yes | ElevenLabs voice ID. Find IDs via the ElevenLabs voice library or from platform voices in GET /voices. |
| `name` | body | string | no | Display name for the voice. Auto-resolved from ElevenLabs if omitted. |
| `description` | body | string | no | Description of the voice and its best use cases |
| `model` | body | string | no | Preferred ElevenLabs model. Default: eleven_multilingual_v2. |
| `settings` | body | object | no | Voice settings: { stability: 0-1, similarity_boost: 0-1, style: 0-1 } |
| `is_default` | body | boolean | no | Set as workspace default voice (unsets any previous default) |
| `provider` | body | string | no | Voice provider. Default: elevenlabs. |

## Request example

```bash
{
  "provider_voice_id": "cgSgspJ2msm6clMCkdW9",
  "name": "Jessica",
  "description": "Warm, friendly voice for customer-facing audio"
}
```

## Response example

```json
{
  "data": {
    "id": "uuid",
    "name": "Jessica",
    "provider": "elevenlabs",
    "provider_voice_id": "cgSgspJ2msm6clMCkdW9",
    "provider_voice_name": "Jessica - Playful, Bright, Warm",
    "preview_url": "https://...mp3",
    "model": "eleven_multilingual_v2",
    "settings": null,
    "is_default": false,
    "description": "Warm, friendly voice for customer-facing audio",
    "created_at": "2026-03-31T00:00:00Z"
  }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`