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

# Enroll Profile

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

Adds an enrollment 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 audios including the new one.

Limitations:
* Minimum audio input length per request is **1 second**
* Maximum audio input length per request is **10 seconds**
* Minimum number of enrollments for creating a voiceprint is **3**
* Maximum number of enrollments for creating a voiceprint is **50**
* Minimum audio Signal-to-noise ratio (SNR) is **10dB**

Constraints:
* First enrollment must match an existing passphrase.
* All enrollments after the first one, must use the same passphrase used in the first enrollment.

## Response `201`

Created

- TdEnrollmentInfo — Text-Dependent 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.
  - `remainingEnrollmentsCount` integer — Number of enrollment audios needed to complete profile enrollment.
  - `passPhrase` string — Passphrase associated with this enrollment.
  - `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 is 10 seconds. * InvalidRequest - Invalid audio length. Minimum allowed length is 1 second. * InvalidRequest - Invalid audio format. Supported format is WAV 16Khz 16bit Mono PCM. * InvalidRequest - Invalid passphrase. * InvalidRequest - Audio is too noisy. The minimum allowed Signal-to-noise ratio (SNR) is 10dB.
- `401` — Request is not authorized. Make sure subscription key is included and valid.
- `403` — Forbidden * InvalidOperation - Maximum allowed number of enrollments per profile is 50.
- `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/versions/b4c1a68ff13f/schema)
