---
title: "Publish Voice"
method: POST
path: "/v1/voices/{voice_id}/publish"
---

# Publish Voice

`POST /v1/voices/{voice_id}/publish`

## Request

- Base URL: `https://api.kugelaudio.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kugelaudio.com/v1/voices/{voice_id}/publish`
- Auth: none declared
- TypeScript: <https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/docs/v1/voices/:voice_id/publish/post.ts> (a function with typed inputs; its response is checked against the schema)

Request publication (sets pending_verification for admin review).

Verification is admin-controlled and cannot be bypassed via the API.
A voice with no recorded speaker consent is refused with 409
``SPEAKER_CONSENT_MISSING``; a voice whose reference has background or
room sound between words with 400 ``VALIDATION_ERROR``.

## Path parameters

- `voice_id` string, required

## Response `200`

Successful Response

- VoiceDetailInfo: Extended voice metadata returned by CRUD endpoints.
  - `id` integer, required
  - `voice_id` integer, required
  - `handle` string, nullable
  - `public_id` string, nullable
  - `name` string, required
  - `description` string
  - `generative_voice_description` string
  - `supported_languages` string[]
  - `category` string
  - `age` string, nullable
  - `sex` string, nullable
  - `quality` string
  - `is_public` boolean
  - `verified` boolean
  - `pending_verification` boolean
  - `sample_url` string, nullable
  - `avatar_url` string, nullable
  - `sample_text` string

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api.md) - [All operations](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kugelaudio/apis/kugelaudio-tts-api/revisions/711945519e5c?raw)
