---
title: "PATCH /v1/ai/voices/:voiceId"
method: PATCH
path: "/v1/ai/voices/:voiceId"
tags: ["AI Knowledge"]
---

# PATCH /v1/ai/voices/:voiceId

`PATCH /v1/ai/voices/:voiceId`

## Request

- Base URL: `https://api.quillhub.ai`
- URL: `https://api.quillhub.ai/v1/ai/voices/:voiceId`
- Auth: HTTP bearer

## Path parameters

- `voiceId` integer, required

## Request body

- object
  - `subject_id` integer, nullable
  - `display_label` string
  - `dismissed` boolean
  - `drop_samples` boolean: Delete every voice_sample of this voice and reject its open merge suggestions. Requires `dismissed: true` in the same body (400 `drop_samples_requires_dismiss` otherwise) and is rejected for a voice linked to a subject (400 `drop_samples_on_named_voice`) — wiping an identified person's biometrics is not a side effect of hiding a row. Irreversible: the voice can be un-dismissed later, but it will never match a recording again until a fresh sample is added by hand via POST /v1/ai/voices/:voiceId/samples.

## Response `200`

Voice updated.

- object
  - `voice_id` number, required
  - `subject_id` number, nullable, required
  - `display_label` string, nullable, required
  - `dismissed` boolean, required
  - `updated_recordings` number, required
  - `dropped_samples` number, required: How many voice_sample rows `drop_samples` actually removed. 0 when the flag was absent.

## Other responses

- `400`: Bad request.
- `401`: Unauthenticated.
- `403`: Forbidden.
- `404`: Not found.

---

[API](https://skmtc.dev/quillhub/apis/quillhub-public-api.md) · [All operations](https://skmtc.dev/quillhub/apis/quillhub-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/quillhub/apis/quillhub-public-api/revisions/5bd42ee9d967?raw)
