> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Voice

> Renames, re-describes, or re-tags a voice. Send at least one field. `description: null` clears it; `voice_name` and `tags` have no meaningful empty state, so null is rejected for those.

<Info>
  For AI agents, use `https://docs.tavus.io/openapi.yaml` for the full HTTP API contract.
</Info>


## OpenAPI

````yaml patch /v2/voices/{voice_id}
openapi: 3.0.3
info:
  title: Tavus Developer API Collection
  version: 1.0.0
  contact: {}
servers:
  - url: https://tavusapi.com
security:
  - apiKey: []
tags:
  - name: Videos
  - name: Faces
  - name: Voices
  - name: Conversations
  - name: Deployments
  - name: PALs
  - name: Tools
  - name: PAL Tools
  - name: Pronunciation Dictionaries
  - name: Replacements
  - name: Transcriptions
  - name: Documents
paths:
  /v2/voices/{voice_id}:
    patch:
      tags:
        - Voices
      summary: Update Voice
      description: >-
        Renames, re-describes, or re-tags a voice. Send at least one field.
        `description: null` clears it; `voice_name` and `tags` have no
        meaningful empty state, so null is rejected for those.
      operationId: updateVoice
      parameters:
        - name: voice_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                voice_name:
                  type: string
                  minLength: 1
                  maxLength: 255
                  example: Ana v2
                description:
                  type: string
                  nullable: true
                  maxLength: 1000
                  example: Warm, unhurried
                tags:
                  type: array
                  maxItems: 50
                  items:
                    type: string
                    maxLength: 64
                  example:
                    - support
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voice'
        '400':
          description: BAD REQUEST
        '401':
          description: UNAUTHORIZED
        '404':
          description: NOT FOUND
      security:
        - apiKey: []
components:
  schemas:
    Voice:
      type: object
      description: >-
        A Tavus Voice. Reference it by `voice_id`; Tavus picks the provider that
        is the best fit for the language(s) of the conversation.
      properties:
        voice_id:
          type: string
          description: >-
            Stable identifier. Use as `layers.tts.voice_id` on a PAL, or
            `default_voice_id` on a face.
          example: v0a1b2c3d4e5f
        voice_name:
          type: string
          example: Ana
        description:
          type: string
          nullable: true
          example: Warm, unhurried, mid-Atlantic
        voice_type:
          type: string
          description: '`user` for voices you created, `system` for the Tavus catalog.'
          enum:
            - user
            - system
          example: user
        status:
          type: string
          description: >-
            `started` while the voice is still being created, `completed` once
            it is ready to use, `error` if creation failed (see
            `error_message`).
          enum:
            - started
            - completed
            - error
          example: completed
        error_message:
          type: string
          description: Present only when `status` is `error`.
        tags:
          type: array
          items:
            type: string
          example:
            - support
            - en
        created_at:
          type: string
          format: date-time
          example: '2026-08-17T12:00:00.000000'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````