---
title: "Set voiceprint"
method: POST
path: "/v1/contacts/{id}/voiceprint"
tags: ["Voiceprints"]
---

# Set voiceprint

`POST /v1/contacts/{id}/voiceprint`

## Request

- Base URL: `https://api.vicem.ai`
- URL: `https://api.vicem.ai/v1/contacts/{id}/voiceprint`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Request body

- SetVoiceprintReq
  - `action` 'on' | 'off' | 'reset', required

## Response `200`

OK

- SetVoiceprintRes
  - `voiceprint` Voiceprint, required
    - `contactId` string, required
    - `state` 'active' | 'learning' | 'off', required
    - `source` 'auto' | 'owner', nullable, required
    - `samples` integer, required
    - `callsNeeded` integer, required
    - `canEnrollNow` boolean, required
    - `pending` 'calls' | 'another_day' | 'conflict', nullable, required
    - `enrolledAt` string, date-time, required
    - `lastMatchedAt` string, date-time, required
  - `outcome` 'enrolled' | 'already_active' | 'learning' | 'off' | 'inconsistent' | 'conflict' | 'reset', required

## Other responses

- `400`: Invalid request (body not JSON, or schema validation failed).
- `401`: Missing, expired or invalid bearer token.
- `404`: No such resource, or not visible to this caller.
- `413`: Body over the limit (64 KB; 512 KB for contact import).
- `500`: Unexpected server error (reported to Sentry).

---

[API](https://skmtc.dev/vicem/apis/vicem-api.md) · [All operations](https://skmtc.dev/vicem/apis/vicem-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vicem/apis/vicem-api/revisions/9efcec07e5f4?raw)
