{
"error": {
"type": "invalid_request_error",
"code": "audio_too_short",
"message": "the clip is 0.62 s long; it must be at least 1 s",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "permission_error",
"code": "model_access_denied",
"message": "This account does not have access to AirCaps Speaker ID-v1. To get access, talk to sales at https://aircaps.ai/contact.",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "invalid_request_error",
"code": "enrollment_limit_reached",
"message": "a speaker can have at most 20 enrollments; delete one first",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "invalid_request_error",
"code": "file_too_large",
"message": "clips are limited to 100 MB",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "more than 600 requests in the last minute",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker’s profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.
{
"error": {
"type": "invalid_request_error",
"code": "audio_too_short",
"message": "the clip is 0.62 s long; it must be at least 1 s",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "permission_error",
"code": "model_access_denied",
"message": "This account does not have access to AirCaps Speaker ID-v1. To get access, talk to sales at https://aircaps.ai/contact.",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "invalid_request_error",
"code": "enrollment_limit_reached",
"message": "a speaker can have at most 20 enrollments; delete one first",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "invalid_request_error",
"code": "file_too_large",
"message": "clips are limited to 100 MB",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "more than 600 requests in the last minute",
"param": null,
"request_id": "req_01k6z3m4q8w7e5r2t1y0u9i8o7"
}
}
Optional: aircaps-speaker-id-v1. Any other value returns 400 unsupported_model.
Available options:
aircaps-speaker-id-v1
Body
application/octet-streamaudio/*
The clip's raw audio bytes (any common audio or video format; channels are mixed down and audio is resampled to 16 kHz). Not multipart form data. The whole clip is used as given: crop it to one person's speech first.
How well this enrollment matches the speaker's other enrollments (-1 to 1). null when it is the only one. A value much lower than the speaker's other enrollments suggests a clip of someone else or a poor recording.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"AirCaps AI","description":"AirCaps AI API: English speech-to-text, speaker diarization and speaker identification. A5S Async v1 (batch transcription with speaker labels), A5S Small V2 Streaming (live captions over WebSocket), AirCaps Diarization-v1 (who spoke when) and AirCaps Speaker ID-v1 (recognize enrolled voices). Model research and benchmarks: https://aircaps.ai/research","colors":{"primary":"#1B1B18","light":"#F3F0E7","dark":"#1B1B18"},"logo":{"light":"https://mintcdn.com/air-caps/tnXe4a3SgZnJ9-d6/logo/light.png?fit=max\u0026auto=format\u0026n=tnXe4a3SgZnJ9-d6\u0026q=85\u0026s=a0ee30295f98b62d4c267b12a091ff1b","dark":"https://mintcdn.com/air-caps/tnXe4a3SgZnJ9-d6/logo/dark.png?fit=max\u0026auto=format\u0026n=tnXe4a3SgZnJ9-d6\u0026q=85\u0026s=686ccf47b4786556086d97c19f9d5a42","href":"https://aircaps.ai"},"favicon":"https://mintcdn.com/air-caps/YB885TbhaAdo7HNl/favicon.png?fit=max\u0026auto=format\u0026n=YB885TbhaAdo7HNl\u0026q=85\u0026s=0fef3ddc891625fc3771f9290344489e","api":{"openapi":"openapi.json","playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript"]}},"navbar":{"links":[{"href":"https://aircaps.ai/research","label":"Research"},{"href":"https://aircaps.ai/contact","label":"Talk to sales"}],"primary":{"type":"button","label":"Get an API key","href":"https://console.aircaps.ai/api-keys"}},"footer":{"socials":{"website":"https://aircaps.ai","github":"https://github.com/aircaps"},"links":[{"header":"Models","items":[{"label":"A5S Async v1","href":"https://aircaps.ai/models/a5s-async"},{"label":"A5S Small V2 Streaming","href":"https://aircaps.ai/models/a5s-streaming"},{"label":"AirCaps Diarization-v1","href":"https://aircaps.ai/models/diarization"},{"label":"AirCaps Speaker ID-v1","href":"https://aircaps.ai/models/speaker-id"},{"label":"All models","href":"https://aircaps.ai/models"}]},{"header":"AirCaps","items":[{"label":"Playground","href":"https://console.aircaps.ai"},{"label":"Talk to sales","href":"https://aircaps.ai/contact"}]}]},"seo":{"metatags":{"canonical":"https://aircaps.ai/docs","msvalidate.01":"AA35D7130FFB1F30257FFBE758DC985E","og:image":"https://aircaps.ai/assets/og/docs.png","og:image:width":"1200","og:image:height":"630","twitter:image":"https://aircaps.ai/assets/og/docs.png","twitter:site":"@tryaircaps"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"air-caps","hasAudioNarration":false,"actualSubdomain":"air-caps","customDomains":["aircaps.ai"],"gitSource":{"type":"github","owner":"aircaps","repo":"aircaps-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aeaca2801f09338ef4340f9","collectionId":"285c7c82-ce36-46f1-bda0-78815764b807","liveDeploymentHistoryId":"6aeaca2801f09338ef4340f9","schemaVersion":"v3"},"entitlements":{},"buildId":"6aead2222641703a7d479ab1","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API reference","count":37},{"language":"default","tag":"Documentation","count":14},{"language":"default","tag":"Objects","count":11},{"language":"default","tag":"Speakers","count":8},{"language":"default","tag":"Transcripts","count":6},{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Get started","count":5},{"language":"default","tag":"Diarizations","count":5},{"language":"default","tag":"Account","count":3},{"language":"default","tag":"Operations","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/add-enrollment","slug":"/api-reference/add-enrollment","pageMetadata":{"openapi":"POST /v1/speakers/{id}/enrollments","title":"Add an enrollment","description":"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker's profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.","href":"/api-reference/add-enrollment"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker’s profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"POST /v1/speakers/{id}/enrollments","title":"Add an enrollment","description":"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker's profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.","href":"/api-reference/add-enrollment"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Add an enrollment","description":"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker's profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.","responses":{"201":"cdb71ac6-4d08-41fd-af0b-e0786e956f84","400":"43f79419-7d02-4a94-94c5-9481a80f1e33","401":"533f6997-6607-4010-9255-6f173c1bcbea","403":"4783aaf1-b854-4a53-8b04-95c7223e6485","404":"9cb29f17-9dd7-48ae-8b54-00cdec8c13f1","409":"20b1555d-f0e2-4660-904d-0a04433247c6","413":"05a75d76-ce19-4491-aaae-8a24a90107ad","429":"cfec07ff-6096-450f-b966-a84ac2ba4c40","500":"a76e23c8-f7c1-411e-9ba5-0d720d70213c","503":"d756bfa4-0a30-4e5a-bfe4-542766b61ffb"},"tags":["Speakers"],"operationId":"addEnrollment","parameters":["22c73d44-fe56-4646-b6e1-33e45389dd6b","fb0446a7-430d-4ef8-ba0b-87944582ff21"],"requestBody":"c1deb571-149f-49ba-a82f-aac5ed84b9f5","x-codeSamples":[{"lang":"bash","label":"cURL","source":"curl \"https://api.aircaps.com/v1/speakers/spk_01k73a9x8w7v6u5t4s3r2q1p0n/enrollments\" \\\n -H \"Authorization: Bearer $AIRCAPS_API_KEY\" \\\n -H \"Content-Type: audio/wav\" \\\n --data-binary @ana_intro.wav"},{"lang":"python","label":"Python","source":"import os, requests\n\nwith open(\"ana_intro.wav\", \"rb\") as f:\n r = requests.post(\"https://api.aircaps.com/v1/speakers/spk_01k73a9x8w7v6u5t4s3r2q1p0n/enrollments\",\n headers={\"Authorization\": f\"Bearer {os.environ['AIRCAPS_API_KEY']}\", \"Content-Type\": \"audio/wav\"},\n data=f)\nprint(r.json()[\"consistency\"])"}],"method":"post","type":"path","servers":["9571de2f-7d72-4bb3-9ed2-4dbb4898292a"],"security":["004c834b-55f5-4cb2-babc-0df824f4a878"],"path":"/v1/speakers/{id}/enrollments","baseUrlOptions":["https://api.aircaps.com"],"title":"Add an enrollment","codeSamples":[{"label":"cURL","lang":"bash","source":"curl \"https://api.aircaps.com/v1/speakers/spk_01k73a9x8w7v6u5t4s3r2q1p0n/enrollments\" \\\n -H \"Authorization: Bearer $AIRCAPS_API_KEY\" \\\n -H \"Content-Type: audio/wav\" \\\n --data-binary @ana_intro.wav"},{"label":"Python","lang":"python","source":"import os, requests\n\nwith open(\"ana_intro.wav\", \"rb\") as f:\n r = requests.post(\"https://api.aircaps.com/v1/speakers/spk_01k73a9x8w7v6u5t4s3r2q1p0n/enrollments\",\n headers={\"Authorization\": f\"Bearer {os.environ['AIRCAPS_API_KEY']}\", \"Content-Type\": \"audio/wav\"},\n data=f)\nprint(r.json()[\"consistency\"])"}],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"22c73d44-fe56-4646-b6e1-33e45389dd6b":{"name":"id","in":"path","required":true,"description":"Speaker ID.","schema":{"type":"string","example":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","isRequired":true,"description":"Speaker ID.","uniqueKey":"","typeLabel":"string"}},"fb0446a7-430d-4ef8-ba0b-87944582ff21":{"name":"model","in":"query","required":false,"description":"Optional: `aircaps-speaker-id-v1`. Any other value returns `400 unsupported_model`.","schema":{"type":"string","enum":["aircaps-speaker-id-v1"],"isRequired":false,"description":"Optional: `aircaps-speaker-id-v1`. Any other value returns `400 unsupported_model`.","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"requestBody":{"required":true,"description":"The clip's raw audio bytes (any common audio or video format; channels are mixed down and audio is resampled to 16 kHz). Not multipart form data. The whole clip is used as given: crop it to one person's speech first.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary","uniqueKey":"","typeLabel":"file"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"},"audio/*":{"schema":{"type":"string","format":"binary","uniqueKey":"","typeLabel":"file"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"cdb71ac6-4d08-41fd-af0b-e0786e956f84":{"description":"Enrolled.","content":{"application/json":{"schema":{"type":"object","required":["id","object","speaker_id","audio_duration","consistency","created_at"],"properties":{"id":{"type":"string","description":"Enrollment ID.","example":"enr_01k73b2c4d5e6f7g8h9j0k1m2n","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"object":{"type":"string","enum":["speaker_enrollment"],"isRequired":true,"uniqueKey":"object","typeLabel":"enum\u003cstring>"},"speaker_id":{"type":"string","example":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","isRequired":true,"uniqueKey":"speaker_id","typeLabel":"string"},"audio_duration":{"type":"number","description":"Seconds of audio in the enrollment clip.","example":12.48,"isRequired":true,"uniqueKey":"audio_duration","typeLabel":"number"},"consistency":{"oneOf":[{"type":"number","description":"How well this enrollment matches the speaker's other enrollments (-1 to 1). `null` when it is the only one. A value much lower than the speaker's other enrollments suggests a clip of someone else or a poor recording.","example":0.712,"isRequired":true,"uniqueKey":"consistency.oneOf.0","typeLabel":"number"},{"type":"null","description":"How well this enrollment matches the speaker's other enrollments (-1 to 1). `null` when it is the only one. A value much lower than the speaker's other enrollments suggests a clip of someone else or a poor recording.","example":0.712,"isRequired":true,"uniqueKey":"consistency.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"consistency","typeLabel":"number | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"speaker":{"type":"object","required":["id","object","name","metadata","model","num_enrollments","enrolled_duration","enrollments","created_at","updated_at"],"properties":{"id":{"type":"string","description":"Speaker ID.","example":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","isRequired":true,"uniqueKey":"speaker.id","typeLabel":"string"},"object":{"type":"string","enum":["speaker"],"isRequired":true,"uniqueKey":"speaker.object","typeLabel":"enum\u003cstring>"},"name":{"oneOf":[{"type":"string","description":"Your label for the speaker.","example":"Ana García","isRequired":true,"uniqueKey":"speaker.name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Your label for the speaker.","example":"Ana García","isRequired":true,"uniqueKey":"speaker.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"speaker.name","typeLabel":"string | null"},"metadata":{"oneOf":[{"type":"object","description":"Your `metadata`.","example":{"employee_id":"E-1042"},"isRequired":true,"uniqueKey":"speaker.metadata.oneOf.0","typeLabel":"object"},{"type":"null","description":"Your `metadata`.","example":{"employee_id":"E-1042"},"isRequired":true,"uniqueKey":"speaker.metadata.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"speaker.metadata","typeLabel":"object | null"},"model":{"type":"string","enum":["aircaps-speaker-id-v1"],"isRequired":true,"uniqueKey":"speaker.model","typeLabel":"enum\u003cstring>"},"num_enrollments":{"type":"integer","example":2,"isRequired":true,"uniqueKey":"speaker.num_enrollments","typeLabel":"integer"},"enrolled_duration":{"type":"number","description":"Seconds of enrollment audio in total.","example":27.9,"isRequired":true,"uniqueKey":"speaker.enrolled_duration","typeLabel":"number"},"enrollments":{"type":"array","items":{"type":"object","required":["id","object","speaker_id","audio_duration","consistency","created_at"],"properties":{"id":{"type":"string","description":"Enrollment ID.","example":"enr_01k73b2c4d5e6f7g8h9j0k1m2n","isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].id","typeLabel":"string"},"object":{"type":"string","enum":["speaker_enrollment"],"isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].object","typeLabel":"enum\u003cstring>"},"speaker_id":{"type":"string","example":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].speaker_id","typeLabel":"string"},"audio_duration":{"type":"number","description":"Seconds of audio in the enrollment clip.","example":12.48,"isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].audio_duration","typeLabel":"number"},"consistency":{"oneOf":[{"type":"number","description":"How well this enrollment matches the speaker's other enrollments (-1 to 1). `null` when it is the only one. A value much lower than the speaker's other enrollments suggests a clip of someone else or a poor recording.","example":0.712,"isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].consistency.oneOf.0","typeLabel":"number"},{"type":"null","description":"How well this enrollment matches the speaker's other enrollments (-1 to 1). `null` when it is the only one. A value much lower than the speaker's other enrollments suggests a clip of someone else or a poor recording.","example":0.712,"isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].consistency.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].consistency","typeLabel":"number | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"speaker.enrollments.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"speaker.enrollments.items.[INDEX]","typeLabel":"object"},"description":"Oldest first. Only embeddings are stored, never the audio.","isRequired":true,"uniqueKey":"speaker.enrollments","typeLabel":"object[]"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"speaker.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Last change to the name, metadata or enrollments.","isRequired":true,"uniqueKey":"speaker.updated_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"speaker","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"enr_01k73b5f1h2j3k4m5n6p7q8r9s","object":"speaker_enrollment","speaker_id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","audio_duration":15.42,"consistency":0.712,"created_at":"2026-10-08T18:04:52.015Z","speaker":{"id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","object":"speaker","name":"Ana García","metadata":{"employee_id":"E-1042"},"model":"aircaps-speaker-id-v1","num_enrollments":2,"enrolled_duration":27.9,"enrollments":[{"id":"enr_01k73b2c4d5e6f7g8h9j0k1m2n","object":"speaker_enrollment","speaker_id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","audio_duration":12.48,"consistency":0.712,"created_at":"2026-10-08T18:03:11.402Z"},{"id":"enr_01k73b5f1h2j3k4m5n6p7q8r9s","object":"speaker_enrollment","speaker_id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","audio_duration":15.42,"consistency":0.712,"created_at":"2026-10-08T18:04:52.015Z"}],"created_at":"2026-10-08T18:02:40.118Z","updated_at":"2026-10-08T18:04:52.015Z"}},"examples":{"Example":{"title":"Example","value":{"id":"enr_01k73b5f1h2j3k4m5n6p7q8r9s","object":"speaker_enrollment","speaker_id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","audio_duration":15.42,"consistency":0.712,"created_at":"2026-10-08T18:04:52.015Z","speaker":{"id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","object":"speaker","name":"Ana García","metadata":{"employee_id":"E-1042"},"model":"aircaps-speaker-id-v1","num_enrollments":2,"enrolled_duration":27.9,"enrollments":[{"id":"enr_01k73b2c4d5e6f7g8h9j0k1m2n","object":"speaker_enrollment","speaker_id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","audio_duration":12.48,"consistency":0.712,"created_at":"2026-10-08T18:03:11.402Z"},{"id":"enr_01k73b5f1h2j3k4m5n6p7q8r9s","object":"speaker_enrollment","speaker_id":"spk_01k73a9x8w7v6u5t4s3r2q1p0n","audio_duration":15.42,"consistency":0.712,"created_at":"2026-10-08T18:04:52.015Z"}],"created_at":"2026-10-08T18:02:40.118Z","updated_at":"2026-10-08T18:04:52.015Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"43f79419-7d02-4a94-94c5-9481a80f1e33":{"description":"The clip or request is not usable. Codes: `invalid_request`, `invalid_audio`, `audio_too_short`, `audio_too_long`, `unsupported_model`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request_error","code":"audio_too_short","message":"the clip is 0.62 s long; it must be at least 1 s","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"audio_too_short","message":"the clip is 0.62 s long; it must be at least 1 s","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"exampleType":"examples"},"533f6997-6607-4010-9255-6f173c1bcbea":{"description":"Missing or invalid API key. Codes: `unauthorized`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"authentication_error","code":"unauthorized","message":"invalid API key","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"authentication_error","code":"unauthorized","message":"invalid API key","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"exampleType":"examples"},"4783aaf1-b854-4a53-8b04-95c7223e6485":{"description":"The account may not do this. Codes: `account_suspended`, `account_disabled`, `usage_limit_reached`, `model_access_denied`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"permission_error","code":"model_access_denied","message":"This account does not have access to AirCaps Speaker ID-v1. To get access, talk to sales at https://aircaps.ai/contact.","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"permission_error","code":"model_access_denied","message":"This account does not have access to AirCaps Speaker ID-v1. To get access, talk to sales at https://aircaps.ai/contact.","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"exampleType":"examples"},"9cb29f17-9dd7-48ae-8b54-00cdec8c13f1":{"description":"Not found. Codes: `speaker_not_found`, `enrollment_not_found`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request_error","code":"speaker_not_found","message":"speaker 'spk_01k73a9x8w7v6u5t4s3r2q1p0n' not found","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"speaker_not_found","message":"speaker 'spk_01k73a9x8w7v6u5t4s3r2q1p0n' not found","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"exampleType":"examples"},"20b1555d-f0e2-4660-904d-0a04433247c6":{"description":"The speaker has the maximum number of enrollments. Codes: `enrollment_limit_reached`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request_error","code":"enrollment_limit_reached","message":"a speaker can have at most 20 enrollments; delete one first","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"enrollment_limit_reached","message":"a speaker can have at most 20 enrollments; delete one first","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"exampleType":"examples"},"05a75d76-ce19-4491-aaae-8a24a90107ad":{"description":"Larger than 100 MB. Codes: `file_too_large`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"invalid_request_error","code":"file_too_large","message":"clips are limited to 100 MB","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"file_too_large","message":"clips are limited to 100 MB","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"exampleType":"examples"},"cfec07ff-6096-450f-b966-a84ac2ba4c40":{"description":"More requests in the last minute than the account allows. Codes: `rate_limited`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"rate_limit_error","code":"rate_limited","message":"more than 600 requests in the last minute","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"rate_limit_error","code":"rate_limited","message":"more than 600 requests in the last minute","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"exampleType":"examples"},"a76e23c8-f7c1-411e-9ba5-0d720d70213c":{"description":"Server error. Safe to retry (use the same Idempotency-Key). Codes: `internal_error`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"api_error","code":"internal_error","message":"internal error","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"api_error","code":"internal_error","message":"internal error","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"exampleType":"examples"},"d756bfa4-0a30-4e5a-bfe4-542766b61ffb":{"description":"Temporarily unavailable. Retry after the Retry-After interval. Codes: `service_unavailable`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message","request_id"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable code; see [Errors](/errors).","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"oneOf":[{"type":"string","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"Also in the `x-request-id` header. Include it when contacting support. `null` on 502/504 from the edge.","isRequired":true,"uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","description":"The request field at fault, if any.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"type":"api_error","code":"service_unavailable","message":"temporarily unavailable; please retry","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}},"examples":{"Example":{"title":"Example","value":{"error":{"type":"api_error","code":"service_unavailable","message":"temporarily unavailable; please retry","param":null,"request_id":"req_01k6z3m4q8w7e5r2t1y0u9i8o7"}}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"exampleType":"examples"}},"security":{"004c834b-55f5-4cb2-babc-0df824f4a878":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your API key: `Authorization: Bearer aircaps_sk_...`","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"9571de2f-7d72-4bb3-9ed2-4dbb4898292a":{"url":"https://api.aircaps.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your API key: `Authorization: Bearer aircaps_sk_...`","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your API key: `Authorization: Bearer aircaps_sk_...`","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"air-caps","siteName":"AirCaps AI","title":"Add an enrollment - AirCaps AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-10T02:11:27.781Z","originalFileLocation":"api-reference/add-enrollment.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker\u0026#x27;s profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.\">\u003cmeta data-mint-head name=\"application-name\" content=\"AirCaps AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add an enrollment - AirCaps AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker\u0026#x27;s profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AirCaps AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://aircaps.ai/docs/api-reference/add-enrollment\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://aircaps.ai/assets/og/docs.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Add an enrollment - AirCaps AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker\u0026#x27;s profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://aircaps.ai/assets/og/docs.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/air-caps/59Z8WdsG4VfZMczA/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AirCaps AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1B1B18\">\u003cmeta data-mint-head name=\"msvalidate.01\" content=\"AA35D7130FFB1F30257FFBE758DC985E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://aircaps.ai/docs/api-reference/add-enrollment\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/add-enrollment.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://aircaps.ai/#organization\",\"name\":\"AirCaps AI\",\"url\":\"https://aircaps.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/air-caps/tnXe4a3SgZnJ9-d6/logo/light.png?fit=max\u0026auto=format\u0026n=tnXe4a3SgZnJ9-d6\u0026q=85\u0026s=a0ee30295f98b62d4c267b12a091ff1b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://aircaps.ai/docs#website\",\"name\":\"AirCaps AI\",\"url\":\"https://aircaps.ai/docs\",\"publisher\":{\"@id\":\"https://aircaps.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://aircaps.ai/docs/api-reference/add-enrollment#webpage\",\"url\":\"https://aircaps.ai/docs/api-reference/add-enrollment\",\"name\":\"Add an enrollment\",\"description\":\"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker's profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.\",\"dateModified\":\"2026-10-10T02:11:27.781Z\",\"isPartOf\":{\"@id\":\"https://aircaps.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://aircaps.ai/docs/api-reference/add-enrollment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://aircaps.ai/docs/api-reference/add-enrollment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Speakers\",\"item\":\"https://aircaps.ai/docs/api-reference/identify-speaker\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add an enrollment\",\"item\":\"https://aircaps.ai/docs/api-reference/add-enrollment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://aircaps.ai/docs/api-reference/add-enrollment#apireference\",\"headline\":\"Add an enrollment\",\"name\":\"Add an enrollment\",\"description\":\"Add one clip of this speaker. The model turns it into a speaker embedding, which is stored; the audio is not. A speaker's profile combines all of its enrollments, so several clips from different recordings make it sturdier. Synchronous: the response is the new enrollment and the updated speaker.\",\"url\":\"https://aircaps.ai/docs/api-reference/add-enrollment\",\"mainEntityOfPage\":{\"@id\":\"https://aircaps.ai/docs/api-reference/add-enrollment#webpage\"},\"image\":\"https://aircaps.ai/assets/og/docs.png\",\"dateModified\":\"2026-10-10T02:11:27.781Z\",\"publisher\":{\"@id\":\"https://aircaps.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://aircaps.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AirCaps AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"AirCaps AI","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"Overview","href":"/api-reference/overview"}]},{"group":"Transcripts","pages":[{"openapi":"POST /v1/transcripts","title":"Create a transcript","href":"/api-reference/create-transcript"},{"openapi":"POST /v1/transcribe","title":"Transcribe (one request)","href":"/api-reference/transcribe"},{"openapi":"GET /v1/transcripts/{id}","title":"Get a transcript","href":"/api-reference/get-transcript"},{"openapi":"GET /v1/transcripts","title":"List transcripts","href":"/api-reference/list-transcripts"},{"openapi":"DELETE /v1/transcripts/{id}","title":"Delete a transcript","href":"/api-reference/delete-transcript"},{"openapi":"GET /v1/transcripts/{id}/subtitles","title":"Get subtitles","href":"/api-reference/subtitles"}]},{"group":"Diarizations","pages":[{"openapi":"POST /v1/diarizations","title":"Create a diarization","href":"/api-reference/create-diarization"},{"openapi":"GET /v1/diarizations/{id}","title":"Get a diarization","href":"/api-reference/get-diarization"},{"openapi":"GET /v1/diarizations","title":"List diarizations","href":"/api-reference/list-diarizations"},{"openapi":"DELETE /v1/diarizations/{id}","title":"Delete a diarization","href":"/api-reference/delete-diarization"},{"openapi":"GET /v1/diarizations/{id}/rttm","title":"Get RTTM","href":"/api-reference/diarization-rttm"}]},{"group":"Speakers","pages":[{"openapi":"POST /v1/speakers/identify","title":"Identify a speaker","href":"/api-reference/identify-speaker"},{"openapi":"POST /v1/speakers","title":"Create a speaker","description":"Create a speaker to enroll (AirCaps Speaker ID-v1, enabled per account). A speaker is a name and optional metadata until you [add enrollments](/api-reference/add-enrollment).","href":"/api-reference/create-speaker"},{"openapi":"POST /v1/speakers/{id}/enrollments","title":"Add an enrollment","href":"/api-reference/add-enrollment"},{"openapi":"GET /v1/speakers/{id}","title":"Get a speaker","description":"The speaker and its enrollments.","href":"/api-reference/get-speaker"},{"openapi":"GET /v1/speakers","title":"List speakers","href":"/api-reference/list-speakers"},{"openapi":"PATCH /v1/speakers/{id}","title":"Update a speaker","href":"/api-reference/update-speaker"},{"openapi":"DELETE /v1/speakers/{id}/enrollments/{enrollment_id}","title":"Delete an enrollment","href":"/api-reference/delete-enrollment"},{"openapi":"DELETE /v1/speakers/{id}","title":"Delete a speaker","href":"/api-reference/delete-speaker"}]},{"group":"Files","pages":[{"openapi":"POST /v1/files/upload-url","title":"Create an upload URL","href":"/api-reference/upload-url"},{"openapi":"POST /v1/files","title":"Upload a file","href":"/api-reference/upload-file"}]},{"group":"Realtime","pages":[{"title":"Realtime stream","href":"/api-reference/realtime"}]},{"group":"Account","pages":[{"openapi":"GET /v1/models","title":"List models","href":"/api-reference/models"},{"openapi":"GET /v1/account","title":"Get account","href":"/api-reference/account"},{"openapi":"GET /v1/usage","title":"Get usage","href":"/api-reference/usage"}]},{"group":"Objects","pages":[{"title":"Transcript object","href":"/api-reference/objects/transcript"},{"title":"Utterance object","href":"/api-reference/objects/utterance"},{"title":"Word object","href":"/api-reference/objects/word"},{"title":"Diarization object","href":"/api-reference/objects/diarization"},{"title":"Segment object","href":"/api-reference/objects/segment"},{"title":"Speaker object","href":"/api-reference/objects/enrolled-speaker"},{"title":"Speaker enrollment object","href":"/api-reference/objects/speaker-enrollment"},{"title":"Speaker identification object","href":"/api-reference/objects/speaker-identification"},{"title":"File object","href":"/api-reference/objects/file"},{"title":"Error object","href":"/api-reference/objects/error"},{"title":"Webhook event","href":"/api-reference/objects/webhook-event"}]}]}]},"basePath":"","title":"Add an enrollment - AirCaps AI","buildId":"dpl_GWQzn6k13MqphA3qck3hQKoQXDzM","deploymentId":"dpl_GWQzn6k13MqphA3qck3hQKoQXDzM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-vlKR2tYY.js","utils-DBDPZSWe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CxHK4zz2.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-27b98BOz.js","snippetPresets-DNnui32z.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-cDVS2zyo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BEE-OyDQ.js","shallow-fqEMZOYR.js","getApiPlaygroundDisplay-BPut1_OB.js","CodeSnippet-h9vp8UTG.js","CodeSnippets-DoMjCW5Q.js","Page-BOWGOUSK.js","getPastedJson-C4r-hmQ_.js","icon-CCDahfhO.js","MethodPill-Dpq0JSrS.js","DuplicateIcon-BGPwFt-j.js","createIcon-DBULrQp7.js","DynamicMarkdown-B74atANy.js","SectionHeading-DZCpbSmT.js","axios-vUo_bRtp.js","Markdown-BwkgxkAH.js","clsx-CEIlvfOI.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-f6OgbvLC.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DvlTOml0.js"]}