---
title: "Enroll Profile"
method: POST
path: "/text-independent/profiles/{profileId}/enrollments"
tags: ["text-independent"]
---

# Enroll Profile

`POST /text-independent/profiles/{profileId}/enrollments`

Adds enrollments to existing profile.
If the minimum number of requested enrollment audios is reached, a voice print is created.
If the voice print was created before, it gets recreated from all existing enrollment including the new one.

Limitations:
* Minimum audio input length per request is **1 second**
* Maximum audio input length per request is **120 seconds**
* Minimum total effective speech length (excluding silence and other non-speech frames) for creating a voiceprint is **20 seconds**
  This limitation can be disabled by setting "ignoreMinLength" to **true**.

* Maximum total audio input length allowed for creating a voiceprint is **300 seconds**
* Minimum audio Signal-to-noise ratio (SNR) is **0dB**

## Query parameters

- `ignoreMinLength` boolean

## Response `201`

Created

- TiEnrollmentInfo — Text-Independent Speaker profile enrollment info
  - `profileId` string, uuid — Unique identifier for profile id (guid).
  - `enrollmentStatus` 'Enrolling' | 'Training' | 'Enrolled' — Status representing the current state of the profile. Available values are: * Enrolling: profile has no voice print and not ready for recognition requests. * Training: voice print of profile is being created and can’t be used for recognition at the moment. * Enrolled: profile has a voice print and ready for recognition requests.
  - `enrollmentsCount` integer — Number of enrolment audios accepted for this profile.
  - `enrollmentsLength` number — Total length of enrollment audios accepted for this profile in seconds.
  - `enrollmentsSpeechLength` number — Summation of pure speech (which is the amount of audio after removing silence and non-speech segments) across all profile enrollments in seconds.
  - `remainingEnrollmentsSpeechLength` number — Amount of pure speech (which is the amount of audio after removing silence and non-speech segments) needed to complete profile enrollment in seconds.
  - `audioLength` number — This enrolment audio length in seconds.
  - `audioSpeechLength` number — This enrollment audio pure speech (which is the amount of audio after removing silence and non-speech segments) length in seconds.

## Other responses

- `400` — Bad Request * InvalidRequest - Invalid audio length. Maximum allowed length per enrollment request is 120 seconds. * InvalidRequest - Invalid audio length. Minimum allowed length per enrollment request is 1 second. * InvalidRequest - Invalid audio format. Supported format is 16Khz 16bit Mono PCM. * InvalidArgument - Invalid ignoreMinLength parameter value. Valid values are "true" and "false". * InvalidRequest - Audio is too noisy. The minimum allowed Signal-to-noise ratio (SNR) is 0dB.
- `401` — Request is not authorized. Make sure subscription key is included and valid.
- `403` — Forbidden * InvalidRequest - Maximum allowed length across all profile enrollments is 300 seconds.
- `404` — NotFound - Requested profile doesn't exist
- `409` — Conflict * Conflict - Sending concurrent requests on same profile is not allowed.
- `415` — UnsupportedMediaType - Unsupported media type. Only "audio/wav; codecs=audio/pcm" is accepted.
- `429` — Rate limit is exceeded.
- `500` — Internal Server Error.

---

[API](https://skmtc.net/azure/apis/cognitiveservices-speakerrecognition-verification.md) · [All operations](https://skmtc.net/azure/apis/cognitiveservices-speakerrecognition-verification/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/azure/cognitiveservices-speakerrecognition-verification/revisions/b4c1a68ff13f/schema)
