Syllable Pronunciations API
The pronunciations API from Syllable — 3 operation(s) for pronunciations.
The pronunciations API from Syllable — 3 operation(s) for pronunciations.
openapi: 3.2.0
info:
title: SyllableSDK Pronunciations API
description: "\n# Syllable Platform SDK\n\nSyllable SDK gives you the power of awesome AI agentry. \U0001F680\n\n## Overview\n\nThe Syllable SDK provides a comprehensive set of tools and APIs to integrate powerful AI\ncapabilities into your communication applications. Whether you're building phone agents, chatbots,\nvirtual assistants, or any other AI-driven solutions, Syllable SDK has got you covered.\n\n## Features\n\n- **Agent Configuration**: Create and manage agents that can interact with users across various \nchannels.\n- **Channel Management**: Configure channels like SMS, web chat, and more to connect agents with \nusers.\n- **Custom Messages**: Set up custom messages that agents can deliver as greetings or responses.\n- **Conversations**: Track and manage conversations between users and agents, including session \nmanagement.\n- **Tools and Workflows**: Leverage tools and workflows to enhance agent capabilities, such as data \nprocessing and API calls.\n- **Data Sources**: Integrate data sources to provide agents with additional context and \ninformation.\n- **Insights and Analytics**: Analyze conversations and sessions to gain insights into user \ninteractions.\n- **Permissions and Security**: Manage permissions to control access to various features and \nfunctionalities.\n- **Language Support**: Define language groups to enable multilingual support for agents.\n- **Outbound Campaigns**: Create and manage outbound communication campaigns to reach users \neffectively.\n- **Session Labels**: Label sessions with evaluations of quality and descriptions of issues \nencountered.\n- **Incident Management**: Track and manage incidents related to agent interactions.\n"
version: 0.0.3
servers:
- url: https://api.syllable.cloud
description: API server
tags:
- name: pronunciations
paths:
/api/v1/pronunciations:
get:
tags:
- pronunciations
summary: Get Pronunciations Dictionary
operationId: pronunciations_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PronunciationOverridesDictionary'
security:
- APIKeyHeader: []
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.pronunciations.pronunciations_get()\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.pronunciations.pronunciationsGet();\n\n console.log(result);\n}\n\nrun();"
/api/v1/pronunciations/metadata:
get:
tags:
- pronunciations
summary: Get Pronunciations Metadata
operationId: pronunciations_get_metadata
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DictionaryMetadata'
security:
- APIKeyHeader: []
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.pronunciations.pronunciations_get_metadata()\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.pronunciations.pronunciationsGetMetadata();\n\n console.log(result);\n}\n\nrun();"
/api/v1/pronunciations/csv:
get:
tags:
- pronunciations
summary: Download Pronunciations Csv
operationId: pronunciations_download_csv
responses:
'200':
description: File content
content:
text/csv:
schema:
type: string
format: binary
title: bytes
security:
- APIKeyHeader: []
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.pronunciations.pronunciations_download_csv()\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.pronunciations.pronunciationsDownloadCsv();\n\n console.log(result);\n}\n\nrun();"
post:
tags:
- pronunciations
summary: Upload Pronunciations Csv
operationId: pronunciations_upload_csv
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_pronunciations_upload_csv'
required: true
responses:
'202':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PronunciationsCsvUploadResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- APIKeyHeader: []
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.pronunciations.pronunciations_upload_csv(request={\n \"file\": {\n \"file_name\": \"example.file\",\n \"content\": open(\"example.file\", \"rb\"),\n },\n })\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { openAsBlob } from \"node:fs\";\nimport { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.pronunciations.pronunciationsUploadCsv({\n file: await openAsBlob(\"example.file\"),\n });\n\n console.log(result);\n}\n\nrun();"
delete:
tags:
- pronunciations
summary: Delete Pronunciations Dictionary
operationId: pronunciations_delete_csv
responses:
'204':
description: Successful Response
security:
- APIKeyHeader: []
x-codeSamples:
- lang: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n ss_client.pronunciations.pronunciations_delete_csv()\n\n # Use the SDK ..."
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n await syllableSDK.pronunciations.pronunciationsDeleteCsv();\n\n\n}\n\nrun();"
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
MatchType:
type: string
enum:
- exact
- substring
title: MatchType
description: Matching strategy for override text.
PronunciationOverridesDictionary:
properties:
type:
type: string
pattern: ^pronunciations_v\d+$
title: Type
default: pronunciations_v1
pronunciations:
items:
$ref: '#/components/schemas/PronunciationOverride'
type: array
title: Pronunciations
voices:
additionalProperties:
$ref: '#/components/schemas/VoiceDisplayInfo'
type: object
title: Voices
metadata:
$ref: '#/components/schemas/DictionaryMetadata'
additionalProperties: false
type: object
required:
- pronunciations
- metadata
title: PronunciationOverridesDictionary
description: "Container for all TTS pronunciation overrides belonging to the sub-organisation.\n\nStored in the `config_values` table via ConfigDao. The Syllable API persists uploaded CSV\npronunciation rules, and Bubblegum's PronunciationOverridesPlugin reads them to apply text\nreplacements before TTS processing.\n\nExample:\n dao = ConfigDao(db_session)\n await dao.register_model('tts.pronunciations', PronunciationOverridesDictionary)\n\n pod = PronunciationOverridesDictionary(\n pronunciations=[...],\n metadata=DictionaryMetadata(entries=10, hash='sha256:...'),\n )\n result = await dao.upsert('pronunciations_v1', pod)\n\n record = await dao.get('pronunciations_v1', PronunciationOverridesDictionary)\n if record:\n pronunciations = record.value.pronunciations"
DictionaryMetadata:
properties:
entries:
type: integer
title: Entries
hash:
type: string
title: Hash
source:
type: string
title: Source
default: ''
additionalProperties: false
type: object
required:
- entries
- hash
title: DictionaryMetadata
description: Audit metadata associated with a dictionary.
PronunciationOverride:
properties:
text:
type: string
minLength: 1
title: Text
replacement:
type: string
minLength: 1
title: Replacement
languages:
items:
type: string
type: array
title: Languages
provider:
type: string
title: Provider
default: ''
voice:
type: string
title: Voice
default: ''
match_type:
$ref: '#/components/schemas/MatchType'
default: exact
match_options:
items:
type: string
type: array
title: Match Options
enabled:
type: boolean
title: Enabled
default: true
notes:
type: string
title: Notes
default: ''
additionalProperties: false
type: object
required:
- text
- replacement
title: PronunciationOverride
description: A single text replacement rule.
VoiceDisplayInfo:
properties:
display_name:
type: string
title: Display Name
provider:
type: string
title: Provider
additionalProperties: false
type: object
required:
- display_name
- provider
title: VoiceDisplayInfo
description: Display metadata for a canonical voice identifier.
PronunciationsCsvUploadResponse:
properties:
revision:
type: integer
title: Revision
hash:
type: string
title: Hash
entries:
type: integer
title: Entries
uploaded_at:
type: string
format: date-time
title: Uploaded At
uploaded_by:
type: string
title: Uploaded By
type: object
required:
- revision
- hash
- entries
- uploaded_by
title: PronunciationsCsvUploadResponse
description: Placeholder response returned after accepting a pronunciations CSV upload.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
Body_pronunciations_upload_csv:
properties:
file:
type: string
format: binary
title: File
description: CSV file containing pronunciation overrides
type: object
required:
- file
title: Body_pronunciations_upload_csv
securitySchemes:
APIKeyHeader:
type: apiKey
in: header
name: Syllable-API-Key
x-speakeasy-name-override:
- operationId: .*_list$
methodNameOverride: list
- operationId: .*_create$
methodNameOverride: create
- operationId: .*_update$
methodNameOverride: update
- operationId: .*_upload$
methodNameOverride: upload
- operationId: .*_delete$
methodNameOverride: delete
- operationId: .*_get_by_id$
methodNameOverride: get_by_id
- operationId: .*_get_by_name$
methodNameOverride: get_by_name
- operationId: .*_add$
methodNameOverride: add
- operationId: .*_remove$
methodNameOverride: remove
- operationId: .*_results$
methodNameOverride: results
- operationId: .*_queue_work$
methodNameOverride: queue_work
- operationId: .*_activate$
methodNameOverride: activate
- operationId: .*_inactivate$
methodNameOverride: inactivate
- operationId: .*_list_files$
methodNameOverride: list_files
- operationId: .*_move_files$
methodNameOverride: move_files
- operationId: .*_upload_file$
methodNameOverride: upload_file