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 and a request sample with an example response on the right.
Lists the vocabulary entries of a directory
/v1.0/directories/{directoryId}/vocabularyReturns 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
/v1.0/directories/{directoryId}/vocabularyPersonal 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
/v1.0/directories/{directoryId}/vocabulary/{vocabularyId}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
/v1.0/directories/{directoryId}/vocabulary/{vocabularyId}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.