Vocabulary
The vocabulary holds terms that improve transcription, such as names and technical terms. These endpoints manage the vocabulary entries of a company account.
Every endpoint below shows its parameters and response fields in the middle. On the right you find request samples in cURL, JavaScript and Python, an example response and Try it, which sends the request for real with your own token.
Lists the vocabulary entries of a directory
Returns all directory-wide entries plus the caller's own personal entries, sorted by phrase.
Field overview from the specification
Each item has:
vocabularyId(string): id of the vocabulary entry.phrase(string): the term/phrase Sally should recognize preferentially.manualReplacePhrases(string | null): alternative spellings/misrecognitions that get replaced withphrasein the transcript (comma-separated); null if none.description(string | null): free-text note describing the entry (not used for recognition); null if unset.languageCode(string | null): language the entry applies to, as an IETF language tag (e.g.de-DE,en-US); null = applies to all languages.isDirectoryWide(boolean): scope —true= directory-wide (recognized for every member of the organization),false= personal (only the caller's own recordings).createdOn(string): when the entry was created (UTC ISO-8601).modifiedOn(string): when the entry was last changed (UTC ISO-8601).
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
createdOn,description,isDirectoryWide,languageCode,manualReplacePhrases,modifiedOn,phrase,vocabularyId.Example:createdOn,description
Response
vocabularyIdstringrequiredId of the vocabulary entry.
phrasestringrequiredThe term/phrase Sally should recognize preferentially.
manualReplacePhrasesstringrequirednullableAlternative spellings/misrecognitions that get replaced with
phrasein the transcript (comma-separated); null if none.descriptionstringrequirednullableFree-text note describing the entry (not used for recognition); null if unset.
languageCodestringrequirednullableLanguage the entry applies to, as an IETF language tag (e.g.
de-DE,en-US); null = applies to all languages.isDirectoryWidebooleanrequiredScope:
true= directory-wide (recognized for every member of the organization),false= personal (only the caller's own recordings).createdOnstringrequiredWhen the entry was created (UTC ISO-8601).
modifiedOnstringrequiredWhen the entry was last changed (UTC ISO-8601).
Status codes
- 200Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Creates a vocabulary entry
Personal entries are allowed for any member; directory-wide entries require admin/owner rights.
Field overview from the specification
Body fields:
phrase(string, required): the term/phrase to recognize (max. 400 characters).manualReplacePhrases(string, optional): manual alternative spellings (max. 4000 characters);nullto clear.description(string, optional): free-text description/note (max. 4000 characters);nullto clear.languageCode(string, optional): language as an IETF language tag (e.g.de-DE);null/omitted for language-agnostic.isDirectoryWide(boolean, optional, defaultfalse):false= personal to the caller,true= directory-wide (requires admin/owner rights).
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
createdOn,description,isDirectoryWide,languageCode,manualReplacePhrases,modifiedOn,phrase,vocabularyId.Example:createdOn,description
Request body application/json
phrasestringrequiredThe term/phrase Sally should recognize preferentially (max. 400 characters).
manualReplacePhrasesstringoptionalnullableAlternative spellings/misrecognitions to replace with
phrase(comma-separated, max. 4000 characters); null to clear.descriptionstringoptionalnullableFree-text note describing the entry, not used for recognition (max. 4000 characters); null to clear.
languageCodestringoptionalnullableLanguage the entry applies to, as an IETF language tag (e.g.
de-DE,en-US); null/omitted = applies to all languages.isDirectoryWidebooleanoptionalScope (default
false):true= directory-wide (recognized for every member),false= personal (only the caller's own recordings). Directory-wide entries require admin/owner rights; personal entries are allowed for any member.
Response
vocabularyIdstringrequiredId of the vocabulary entry.
phrasestringrequiredThe term/phrase Sally should recognize preferentially.
manualReplacePhrasesstringrequirednullableAlternative spellings/misrecognitions that get replaced with
phrasein the transcript (comma-separated); null if none.descriptionstringrequirednullableFree-text note describing the entry (not used for recognition); null if unset.
languageCodestringrequirednullableLanguage the entry applies to, as an IETF language tag (e.g.
de-DE,en-US); null = applies to all languages.isDirectoryWidebooleanrequiredScope:
true= directory-wide (recognized for every member of the organization),false= personal (only the caller's own recordings).createdOnstringrequiredWhen the entry was created (UTC ISO-8601).
modifiedOnstringrequiredWhen the entry was last changed (UTC ISO-8601).
Status codes
- 200Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 403
Forbidden (insufficient permissions).
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Updates a vocabulary entry
Personal entries are allowed for any member; directory-wide entries require admin/owner rights.
Field overview from the specification
Body fields:
phrase(string, required): the term/phrase to recognize (max. 400 characters).manualReplacePhrases(string, optional): manual alternative spellings (max. 4000 characters);nullto clear.description(string, optional): free-text description/note (max. 4000 characters);nullto clear.languageCode(string, optional): language as an IETF language tag (e.g.de-DE);null/omitted for language-agnostic.isDirectoryWide(boolean, optional, defaultfalse):false= personal to the caller,true= directory-wide (requires admin/owner rights).
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.vocabularyIdstringrequiredId of the vocabulary.
Query parameters
fieldsstringoptionalComma-separated list of the fields to return. Leave it out and you get every field — including fields added in the future, which is your call to make: name your fields if you want to be shielded from that.
Only first-level fields can be named. A nested list such as
attendees,tagsorsectionItemsis returned whole or not at all;attendees.nameis not supported.On a paged response the selection applies to the entries in
items;page,pageSize,totalandhasMoreare always returned. An unknown name is rejected with 400 rather than ignored.Selectable here:
createdOn,description,isDirectoryWide,languageCode,manualReplacePhrases,modifiedOn,phrase,vocabularyId.Example:createdOn,description
Request body application/json
phrasestringrequiredThe term/phrase Sally should recognize preferentially (max. 400 characters).
manualReplacePhrasesstringoptionalnullableAlternative spellings/misrecognitions to replace with
phrase(comma-separated, max. 4000 characters); null to clear.descriptionstringoptionalnullableFree-text note describing the entry, not used for recognition (max. 4000 characters); null to clear.
languageCodestringoptionalnullableLanguage the entry applies to, as an IETF language tag (e.g.
de-DE,en-US); null/omitted = applies to all languages.isDirectoryWidebooleanoptionalScope (default
false):true= directory-wide (recognized for every member),false= personal (only the caller's own recordings). Directory-wide entries require admin/owner rights; personal entries are allowed for any member.
Response
vocabularyIdstringrequiredId of the vocabulary entry.
phrasestringrequiredThe term/phrase Sally should recognize preferentially.
manualReplacePhrasesstringrequirednullableAlternative spellings/misrecognitions that get replaced with
phrasein the transcript (comma-separated); null if none.descriptionstringrequirednullableFree-text note describing the entry (not used for recognition); null if unset.
languageCodestringrequirednullableLanguage the entry applies to, as an IETF language tag (e.g.
de-DE,en-US); null = applies to all languages.isDirectoryWidebooleanrequiredScope:
true= directory-wide (recognized for every member of the organization),false= personal (only the caller's own recordings).createdOnstringrequiredWhen the entry was created (UTC ISO-8601).
modifiedOnstringrequiredWhen the entry was last changed (UTC ISO-8601).
Status codes
- 200Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 403
Forbidden (insufficient permissions).
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.
Deletes a vocabulary entry
Soft-deletes the entry. Deleting a directory-wide entry requires admin/owner rights.
Path parameters
directoryIdstringrequiredId of the directory (the Sally company account) the resource belongs to. The directories a token can address are listed by
GET /v1.0/me/directories/memberships.vocabularyIdstringrequiredId of the vocabulary.
Status codes
- 204Success
- 400
Invalid request (validation error).
- 401
Missing or invalid bearer token.
- 403
Forbidden (insufficient permissions).
- 404
Resource not found or not accessible.
- 429
Rate limit exceeded (per token/IP). Transcription uploads may also return
codeFUP_LIMIT_EXCEEDEDorTOO_MANY_CONCURRENT_TRANSCRIPTIONS. - 500
Internal server error.