# Update a cloned voice (/docs/api-reference/voice-cloning/updateClonedVoice)

> Change the name, description or gender of a cloned voice.

**PATCH** `/voices/{voice_id}`

Change the name, description or gender of a cloned voice.

```yaml
operationId: updateClonedVoice
parameters:
  - in: path
    name: voice_id
    required: true
    schema:
      type: integer
    description: Id of the cloned voice.
requestBody:
  required: true
  content:
    application/json:
      schema:
        type: object
        properties:
          name:
            type: string
            description: 1 to 100 characters.
          description:
            type: string
          gender:
            type: string
            enum:
              - male
              - female
responses:
  '200':
    description: The updated voice.
    content:
      application/json:
        schema:
          type: object
          properties:
            voice:
              type: object
              description: |
                A voice cloned from an audio sample. Created asynchronously: `status` is
                `processing` until the provider finishes, then `ready` or `failed`.
                `voice_id` is the provider id an agent uses, and is `null` until ready.
              properties:
                id:
                  type: integer
                  example: 412
                name:
                  type: string
                  example: Front desk
                description:
                  type: string
                  nullable: true
                language:
                  type: string
                  example: en
                gender:
                  type: string
                  enum:
                    - male
                    - female
                status:
                  type: string
                  enum:
                    - processing
                    - ready
                    - failed
                voice_id:
                  type: string
                  nullable: true
                  description: |
                    The provider voice id. Put it in an agent's `voice.voice_id` with
                    `voice.provider: cartesia`. `null` until `status` is `ready`.
                  example: 8a1c2f5e-3b7d-4c9a-9f21-2e6b0d4a7c88
                sample_url:
                  type: string
                  nullable: true
                  description: |
                    An mp3 preview of the cloned voice, when one exists. Fetching it
                    needs your API key in the `Authorization: Bearer` header, so a
                    browser `<audio>` tag cannot play it directly.
                error:
                  type: string
                  nullable: true
                  description: |
                    Present only when `status` is `failed`. Deliberately generic: no
                    provider name and no internal detail.
                created_at:
                  type: string
                  description: ISO 8601 time in UTC, with no offset.
                  nullable: true
                ready_at:
                  type: string
                  description: ISO 8601 time in UTC, with no offset.
                  nullable: true
  '400':
    description: |
      A field is invalid, or the body is not a JSON object (`code` is
      `invalid_json`).
    content:
      application/json:
        schema:
          type: object
          properties:
            error:
              type: string
              description: Machine-readable error code.
            error_description:
              type: string
              description: Human-readable explanation.
            code:
              type: string
              description: |
                Stable, specific reason. Present on the newer endpoints (Voice
                cloning, WhatsApp); older endpoints return only `error`.
            request_id:
              type: string
              description: |
                Correlates this response with the server log. Present alongside
                `code`. Also sent as the `X-Request-Id` header.
        example:
          error: invalid_request
          error_description: Request body must be a JSON object
          code: invalid_json
          request_id: req_4c8a1e6b3f20
  '403':
    description: Voice cloning is not enabled for this account, or the key's user cannot write it.
    content:
      application/json:
        schema:
          type: object
          properties:
            error:
              type: string
              description: Machine-readable error code.
            error_description:
              type: string
              description: Human-readable explanation.
            code:
              type: string
              description: |
                Stable, specific reason. Present on the newer endpoints (Voice
                cloning, WhatsApp); older endpoints return only `error`.
            request_id:
              type: string
              description: |
                Correlates this response with the server log. Present alongside
                `code`. Also sent as the `X-Request-Id` header.
  '404':
    description: No such voice, or it belongs to another account.
    content:
      application/json:
        schema:
          type: object
          properties:
            error:
              type: string
              description: Machine-readable error code.
            error_description:
              type: string
              description: Human-readable explanation.
            code:
              type: string
              description: |
                Stable, specific reason. Present on the newer endpoints (Voice
                cloning, WhatsApp); older endpoints return only `error`.
            request_id:
              type: string
              description: |
                Correlates this response with the server log. Present alongside
                `code`. Also sent as the `X-Request-Id` header.
```

**curl**

```bash
curl -X PATCH "https://omnidim.io/api/v1/voices/{voice_id}" \
  -H "Authorization: Bearer $OMNIDIM_API_KEY"
```