openapi: "3.1.0" info: title: "SyllableSDK" 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" paths: /api/v1/agents/: get: tags: - "agents" summary: "Agent List" description: "List the existing agents" operationId: "agent_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/AgentProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/AgentProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/AgentProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_AgentResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.list(page=0, limit=25, search_fields=[ models.AgentProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "agents" summary: "Create Agent" description: "Create a new agent" operationId: "agent_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AgentCreate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/AgentResponse" "400": description: "Bad Request" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.create({ name: "Weather agent", description: "Agent for answering questions about weather.", labels: [ "Information", "Weather", ], type: "ca_v1", promptId: 1, customMessageId: 1, languageGroupId: 1, timezone: "America/New_York", promptToolDefaults: [ { toolName: "get_weather", defaultValues: [ { fieldName: "temperature_unit", defaultValue: "fahrenheit", }, ], }, ], variables: { "vars.location_name": "Main Street Pizza", }, toolHeaders: { "some-header": "some-value", }, sttProvider: "Google STT V2 (Chirp 2)", waitSound: "No Sound", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.create(request={ "name": "Weather agent", "description": "Agent for answering questions about weather.", "labels": [ "Information", "Weather", ], "type": "ca_v1", "prompt_id": 1, "custom_message_id": 1, "language_group_id": 1, "timezone": "America/New_York", "prompt_tool_defaults": [ { "tool_name": "get_weather", "default_values": [ { "field_name": "temperature_unit", "default_value": "fahrenheit", }, ], }, ], "variables": { "vars.location_name": "Main Street Pizza", }, "tool_headers": { "some-header": "some-value", }, "stt_provider": models.AgentSttProvider.GOOGLE_STT_V2_CHIRP_2_, "wait_sound": models.AgentWaitSound.NO_SOUND, }) # Handle response print(res) put: tags: - "agents" summary: "Update Agent" description: "Update an existing agent" operationId: "agent_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AgentUpdate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/AgentResponse" "400": description: "Bad Request" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.update({ name: "Weather agent", description: "Agent for answering questions about weather.", labels: [ "Information", "Weather", ], type: "ca_v1", promptId: 1, customMessageId: 1, languageGroupId: 1, timezone: "America/New_York", promptToolDefaults: [ { toolName: "get_weather", defaultValues: [ { fieldName: "temperature_unit", defaultValue: "fahrenheit", }, ], }, ], variables: { "vars.location_name": "Main Street Pizza", }, toolHeaders: { "some-header": "some-value", }, sttProvider: "Google STT V2 (Chirp 2)", waitSound: "No Sound", id: 1, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.update(request={ "name": "Weather agent", "description": "Agent for answering questions about weather.", "labels": [ "Information", "Weather", ], "type": "ca_v1", "prompt_id": 1, "custom_message_id": 1, "language_group_id": 1, "timezone": "America/New_York", "prompt_tool_defaults": [ { "tool_name": "get_weather", "default_values": [ { "field_name": "temperature_unit", "default_value": "fahrenheit", }, ], }, ], "variables": { "vars.location_name": "Main Street Pizza", }, "tool_headers": { "some-header": "some-value", }, "stt_provider": models.AgentSttProvider.GOOGLE_STT_V2_CHIRP_2_, "wait_sound": models.AgentWaitSound.NO_SOUND, "id": 1, }) # Handle response print(res) /api/v1/agents/labels: get: tags: - "agents" summary: "List Active Agent Labels" description: "List all distinct labels in use across active agents." operationId: "agent_list_active_labels" responses: "200": description: "Successful Response" content: application/json: schema: items: type: "string" type: "array" title: "Response Agent List Active Labels" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.agentListActiveLabels(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.agent_list_active_labels() # Handle response print(res) /api/v1/agents/{agent_id}: get: tags: - "agents" summary: "Get Agent By Id" description: "Get an agent by ID." operationId: "agent_get_by_id" security: - APIKeyHeader: [] parameters: - name: "agent_id" in: "path" required: true schema: type: "integer" title: "Agent Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/AgentResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.getById({ agentId: 910445, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.get_by_id(agent_id=910445) # Handle response print(res) delete: tags: - "agents" summary: "Delete Agent" operationId: "agent_delete" security: - APIKeyHeader: [] parameters: - name: "agent_id" in: "path" required: true schema: type: "integer" title: "Agent Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "400": description: "Bad Request" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.delete({ agentId: 78115, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.delete(agent_id=78115, reason="") # Handle response print(res) /api/v1/agents/voices/available: get: tags: - "agents" summary: "Get Available Agent Voices" description: "Get available agent voices." operationId: "agent_get_available_voices" responses: "200": description: "Successful Response" content: application/json: schema: items: $ref: "#/components/schemas/AgentVoice" type: "array" title: "Response Agent Get Available Voices" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.agentGetAvailableVoices(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.agent_get_available_voices() # Handle response print(res) /api/v1/channels/: get: tags: - "channels" summary: "Get Channels" operationId: "channels_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/ChannelProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/ChannelProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/ChannelProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_Channel_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.list(page=0, limit=25, search_fields=[ models.ChannelProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "channels" summary: "Create Channel" operationId: "channels_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/OrganizationChannelCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Channel" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.create({ name: "twilio", channelService: "sip", supportedModes: "chat,voice", isSystemChannel: false, config: { accountSid: "AC123...", authToken: "sometoken", providerCredentials: { "api_key": "atk123", "username": "test_username", }, telephony: { preInputTimeout: 1.2, overallInputTimeout: 20, interruptibility: "dtmf_only", passiveSpeechInputEnabled: true, passiveInputStart: 0.5, }, email: { sendingDomain: "mail.example.com", }, }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.create(request={ "name": "twilio", "channel_service": models.ChannelServices.SIP, "supported_modes": "chat,voice", "is_system_channel": False, "config": { "account_sid": "AC123...", "auth_token": "sometoken", "provider_credentials": { "api_key": "atk123", "username": "test_username", }, "telephony": { "pre_input_timeout": 1.2, "overall_input_timeout": 20, "interruptibility": "dtmf_only", "passive_speech_input_enabled": True, "passive_input_start": 0.5, }, "email": { "sending_domain": "mail.example.com", }, }, }) # Handle response print(res) put: tags: - "channels" summary: "Update Channel" operationId: "channels_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/OrganizationChannelUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Channel" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.update({ name: "twilio", channelService: "sip", supportedModes: "chat,voice", isSystemChannel: false, config: { accountSid: "AC123...", authToken: "sometoken", providerCredentials: { "api_key": "atk123", "username": "test_username", }, telephony: { preInputTimeout: 1.2, overallInputTimeout: 20, interruptibility: "dtmf_only", passiveSpeechInputEnabled: true, passiveInputStart: 0.5, }, email: { sendingDomain: "mail.example.com", }, }, id: 1, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.update(request={ "name": "twilio", "channel_service": models.ChannelServices.SIP, "supported_modes": "chat,voice", "is_system_channel": False, "config": { "account_sid": "AC123...", "auth_token": "sometoken", "provider_credentials": { "api_key": "atk123", "username": "test_username", }, "telephony": { "pre_input_timeout": 1.2, "overall_input_timeout": 20, "interruptibility": "dtmf_only", "passive_speech_input_enabled": True, "passive_input_start": 0.5, }, "email": { "sending_domain": "mail.example.com", }, }, "id": 1, }) # Handle response print(res) /api/v1/channels/twilio/{channel_id}: get: tags: - "channels.twilio" summary: "Get Twilio Channel By Id" operationId: "channels_twilio_get_by_id" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Channel" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.twilio.getById({ channelId: 627671, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.twilio.get_by_id(channel_id=627671) # Handle response print(res) /api/v1/channels/twilio/: put: tags: - "channels.twilio" summary: "Update Twilio Channel" operationId: "channels_twilio_update" requestBody: content: application/json: schema: $ref: "#/components/schemas/TwilioChannelUpdateRequest" required: true responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Channel" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" deprecated: true security: - APIKeyHeader: [] post: tags: - "channels.twilio" summary: "Create Twilio Channel" operationId: "channels_twilio_create" requestBody: content: application/json: schema: $ref: "#/components/schemas/TwilioChannelCreateRequest" required: true responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Channel" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" deprecated: true security: - APIKeyHeader: [] /api/v1/channels/twilio/{channel_id}/numbers/verify-a2p-compliance: post: tags: - "channels.twilio.numbers" summary: "Verify Twilio Us A2P Compliance" description: "Return whether Twilio shows this number on a US A2P messaging path with an approved brand." operationId: "channels_twilio_numbers_a2p_compliance_check" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/A2pMessagingPathCheckRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/A2pMessagingPathCheckResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.twilio.numbers.channelsTwilioNumbersA2pComplianceCheck({ channelId: 661482, a2pMessagingPathCheckRequest: { phone: "+18042221111", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.twilio.numbers.channels_twilio_numbers_a2p_compliance_check(channel_id=661482, a2p_messaging_path_check_request={ "phone": "+18042221111", }) # Handle response print(res) /api/v1/channels/twilio/{channel_id}/numbers: post: tags: - "channels.twilio.numbers" summary: "Add Twilio Number" description: "Purchase a Twilio number and associate it with a channel." operationId: "channels_twilio_numbers_add" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TwilioNumberAddRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/TwilioNumberAddResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.twilio.numbers.add({ channelId: 314558, twilioNumberAddRequest: { friendlyName: "Support Line", areaCode: "804", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.twilio.numbers.add(channel_id=314558, twilio_number_add_request={ "friendly_name": "Support Line", "area_code": "804", }) # Handle response print(res) put: tags: - "channels.twilio.numbers" summary: "Update Twilio Number" description: "Update a Twilio number and associate it with a channel." operationId: "channels_twilio_numbers_update" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TwilioNumberUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/TwilioNumberUpdateResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.twilio.numbers.update({ channelId: 815949, twilioNumberUpdateRequest: { friendlyName: "Support Line", phoneSid: "PN123", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.twilio.numbers.update(channel_id=815949, twilio_number_update_request={ "friendly_name": "Support Line", "phone_sid": "PN123", }) # Handle response print(res) get: tags: - "channels.twilio.numbers" summary: "List Twilio Phone Numbers" description: "List Twilio phone numbers." operationId: "channels_twilio_numbers_list" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/TwilioListNumbersResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.twilio.numbers.list({ channelId: 739627, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.twilio.numbers.list(channel_id=739627) # Handle response print(res) /api/v1/agents/test/messages: post: tags: - "agents.test" summary: "Send New Message" description: "Send a new message" operationId: "send_test_message" requestBody: content: application/json: schema: $ref: "#/components/schemas/TestMessage" required: true responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/TestMessageResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.agents.test.sendTestMessage({ serviceName: "", source: "user@email.com", text: "Hello", testId: "", agentId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.agents.test.send_test_message(request={ "service_name": "", "source": "user@email.com", "text": "Hello", "test_id": "", "agent_id": "", }) # Handle response print(res) /api/v1/conversations/: get: tags: - "conversations" summary: "Conversations List" operationId: "conversations_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/ConversationProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/ConversationProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/ConversationProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_Conversation_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.conversations.list({ page: 0, searchFields: [ "agent_name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.conversations.list(page=0, limit=25, search_fields=[ models.ConversationProperties.AGENT_NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/conversation-config/bridges: get: tags: - "conversation-config" summary: "Get Bridge Phrases Config" description: "Get the bridge phrases configuration." operationId: "get_bridge_phrases_config" security: - APIKeyHeader: [] parameters: - name: "agent_id" in: "query" required: false schema: anyOf: - type: "integer" - type: "null" description: "Agent ID to fetch config for" title: "Agent Id" description: "Agent ID to fetch config for" - name: "tool_name" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "Tool name to fetch config for" title: "Tool Name" description: "Tool name to fetch config for" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/BridgePhrasesConfig" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.conversationConfig.getBridgePhrasesConfig({}); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.conversation_config.get_bridge_phrases_config() # Handle response print(res) put: tags: - "conversation-config" summary: "Update Bridge Phrases Config" description: "Update the bridge phrases configuration." operationId: "update_bridge_phrases_config" security: - APIKeyHeader: [] parameters: - name: "agent_id" in: "query" required: false schema: anyOf: - type: "integer" - type: "null" description: "Agent ID to update config for" title: "Agent Id" description: "Agent ID to update config for" - name: "tool_name" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "Tool name to update config for" title: "Tool Name" description: "Tool name to update config for" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BridgePhrasesConfig" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/BridgePhrasesConfig" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.conversationConfig.updateBridgePhrasesConfig({ bridgePhrasesConfig: {}, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.conversation_config.update_bridge_phrases_config(bridge_phrases_config={}) # Handle response print(res) /api/v1/data_sources/: get: tags: - "data_sources" summary: "List Data Sources" description: "Fetch metadata about all data sources, not including their text." operationId: "data_sources_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/DataSourceProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/DataSourceProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/DataSourceProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_DataSourceMetadataResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.dataSources.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.data_sources.list(page=0, limit=25, search_fields=[ models.DataSourceProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "data_sources" summary: "Create Data Source" description: "Create a new data source." operationId: "data_sources_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/DataSourceCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DataSourceDetailResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.dataSources.create({ name: "Rain", description: "Information about rain.", labels: [ "Weather Info", ], chunk: false, chunkDelimiter: "", text: "The following are names and addresses of pizza shops.\n\nCool Pizza, 123 Main St.\n\nReally Good Pizza, 456 Water St.\n\nThe Best Pizza, 789 Circle Dr.", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.data_sources.create(request={ "name": "Rain", "description": "Information about rain.", "labels": [ "Weather Info", ], "chunk": False, "chunk_delimiter": "", "text": "The following are names and addresses of pizza shops.\n\nCool Pizza, 123 Main St.\n\nReally Good Pizza, 456 Water St.\n\nThe Best Pizza, 789 Circle Dr.", }) # Handle response print(res) put: tags: - "data_sources" summary: "Update Data Source" description: "Update an existing data source." operationId: "data_sources_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/DataSourceUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DataSourceDetailResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.dataSources.update({ name: "Rain", description: "Information about rain.", labels: [ "Weather Info", ], chunk: false, chunkDelimiter: "", id: 1, editComments: "Added new info", text: "The following are names and addresses of pizza shops.\n\nCool Pizza, 123 Main St.\n\nReally Good Pizza, 456 Water St.\n\nThe Best Pizza, 789 Circle Dr.", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.data_sources.update(request={ "name": "Rain", "description": "Information about rain.", "labels": [ "Weather Info", ], "chunk": False, "chunk_delimiter": "", "id": 1, "edit_comments": "Added new info", "text": "The following are names and addresses of pizza shops.\n\nCool Pizza, 123 Main St.\n\nReally Good Pizza, 456 Water St.\n\nThe Best Pizza, 789 Circle Dr.", }) # Handle response print(res) /api/v1/data_sources/{data_source_id}: get: tags: - "data_sources" summary: "Get Data Source" description: "Fetch a given data source, including its text." operationId: "data_sources_get_by_id" security: - APIKeyHeader: [] parameters: - name: "data_source_id" in: "path" required: true schema: type: "integer" title: "Data Source Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DataSourceDetailResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.dataSources.getById({ dataSourceId: 87219, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.data_sources.get_by_id(data_source_id=87219) # Handle response print(res) delete: tags: - "data_sources" summary: "Delete Data Source" description: "Delete a given data source." operationId: "data_sources_delete" security: - APIKeyHeader: [] parameters: - name: "data_source_id" in: "path" required: true schema: type: "integer" title: "Data Source Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.dataSources.delete({ dataSourceId: 509584, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.data_sources.delete(data_source_id=509584, reason="") # Handle response print(res) /api/v1/events/: get: tags: - "events" summary: "Events List" operationId: "events_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/EventProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/EventProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/EventProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_Event_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.events.list({ page: 0, searchFields: [ "description", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.events.list(page=0, limit=25, search_fields=[ models.EventProperties.DESCRIPTION, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/incidents/: get: tags: - "incidents" summary: "List Incidents" description: "List service incidents with pagination and filtering" operationId: "incident_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/IncidentProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/IncidentProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/IncidentProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_IncidentResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.incidents.list({ page: 0, searchFields: [ "updated_at", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.incidents.list(page=0, limit=25, search_fields=[ models.IncidentProperties.UPDATED_AT, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "incidents" summary: "Create Incident" description: "Create a new incident" operationId: "incident_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/IncidentCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/IncidentResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.incidents.create({ description: "Service outage in region X", startDatetime: new Date("2023-10-01T08:00:00Z"), resolutionDatetime: new Date("2023-10-01T12:00:00Z"), impactCategory: "High", sessionsImpacted: 1500, markdown: "**Incident Details**", organizationId: 123, subOrganizationId: 456, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK from syllable_sdk.utils import parse_datetime with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.incidents.create(request={ "description": "Service outage in region X", "start_datetime": parse_datetime("2023-10-01T08:00:00Z"), "resolution_datetime": parse_datetime("2023-10-01T12:00:00Z"), "impact_category": "High", "sessions_impacted": 1500, "markdown": "**Incident Details**", "organization_id": 123, "sub_organization_id": 456, }) # Handle response print(res) put: tags: - "incidents" summary: "Update Incident" description: "Update an existing incident" operationId: "incident_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/IncidentUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/IncidentResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.incidents.update({ description: "Service outage in region X", startDatetime: new Date("2023-10-01T08:00:00Z"), resolutionDatetime: new Date("2023-10-01T12:00:00Z"), impactCategory: "High", sessionsImpacted: 1500, markdown: "**Incident Details**", organizationId: 123, subOrganizationId: 456, id: 1, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK from syllable_sdk.utils import parse_datetime with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.incidents.update(request={ "description": "Service outage in region X", "start_datetime": parse_datetime("2023-10-01T08:00:00Z"), "resolution_datetime": parse_datetime("2023-10-01T12:00:00Z"), "impact_category": "High", "sessions_impacted": 1500, "markdown": "**Incident Details**", "organization_id": 123, "sub_organization_id": 456, "id": 1, }) # Handle response print(res) /api/v1/incidents/organizations: get: tags: - "incidents" summary: "Get Organizations" description: "Get all organizations" operationId: "incident_get_organizations" responses: "200": description: "Successful Response" content: application/json: schema: items: $ref: "#/components/schemas/IncidentOrganizationResponse" type: "array" title: "Response Incident Get Organizations" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.incidents.incidentGetOrganizations(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.incidents.incident_get_organizations() # Handle response print(res) /api/v1/incidents/{incident_id}: get: tags: - "incidents" summary: "Get Incident By Id" description: "Get incident by ID" operationId: "incident_get_by_id" security: - APIKeyHeader: [] parameters: - name: "incident_id" in: "path" required: true schema: type: "integer" title: "Incident Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/IncidentResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.incidents.getById({ incidentId: 835824, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.incidents.get_by_id(incident_id=835824) # Handle response print(res) delete: tags: - "incidents" summary: "Delete Incident" description: "Delete an incident by ID" operationId: "incident_delete" security: - APIKeyHeader: [] parameters: - name: "incident_id" in: "path" required: true schema: type: "integer" title: "Incident Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.incidents.delete({ incidentId: 400877, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.incidents.delete(incident_id=400877, reason="") # Handle response print(res) /api/v1/insights/: get: tags: - "insights" summary: "Insights List" description: "List the evaluated insights for sessions." operationId: "insights_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/InsightsProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/InsightsProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/InsightsProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_InsightsOutput_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.list({ page: 0, searchFields: [ "upload_file_id", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.list(page=0, limit=25, search_fields=[ models.InsightsProperties.UPLOAD_FILE_ID, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/insights/folders/: get: tags: - "insights.folders" summary: "List Insights Upload Folders" operationId: "insights_folder_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/InsightsFolderProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/InsightsFolderProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/InsightsFolderProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_InsightsFolder_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.list(page=0, limit=25, search_fields=[ models.InsightsFolderProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "insights.folders" summary: "Create Insights Upload Folder" operationId: "insights_folder_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightsFolderInput" responses: "200": description: "Successful Response" content: application/json: schema: anyOf: - $ref: "#/components/schemas/InsightsFolder" - type: "null" title: "Response Insights Folder Create" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.create({ name: "customer-complaints", label: "support", description: "Call recordings related to customer complaints", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.create(request={ "name": "customer-complaints", "label": "support", "description": "Call recordings related to customer complaints", }) # Handle response print(res) /api/v1/insights/folders/{folder_id}: get: tags: - "insights.folders" summary: "Get Insights Folder Details" operationId: "insights_folder_get_by_id" security: - APIKeyHeader: [] parameters: - name: "folder_id" in: "path" required: true schema: type: "integer" title: "Folder Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/FolderDetails" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.getById({ folderId: 982079, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.get_by_id(folder_id=982079) # Handle response print(res) delete: tags: - "insights.folders" summary: "Delete Insights Folder" operationId: "insights_folder_delete" security: - APIKeyHeader: [] parameters: - name: "folder_id" in: "path" required: true schema: type: "integer" title: "Folder Id" responses: "200": description: "Successful Response" content: application/json: schema: type: "boolean" title: "Response Insights Folder Delete" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.delete({ folderId: 410792, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.delete(folder_id=410792) # Handle response print(res) put: tags: - "insights.folders" summary: "Update Insights Folder" operationId: "insights_folder_update" security: - APIKeyHeader: [] parameters: - name: "folder_id" in: "path" required: true schema: type: "integer" title: "Folder Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightsFolderInput" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightsFolder" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.update({ folderId: 567518, insightsFolderInput: { name: "customer-complaints", label: "support", description: "Call recordings related to customer complaints", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.update(folder_id=567518, insights_folder_input={ "name": "customer-complaints", "label": "support", "description": "Call recordings related to customer complaints", }) # Handle response print(res) /api/v1/insights/folders/{folder_id}/upload-file: post: tags: - "insights.folders" summary: "Upload Insights Upload Folder" operationId: "insights_folder_upload_file" security: - APIKeyHeader: [] parameters: - name: "folder_id" in: "path" required: true schema: type: "integer" title: "Folder Id" - name: "call_id" in: "query" required: true schema: type: "string" description: "A unique identifier for the call" title: "Call Id" description: "A unique identifier for the call" - name: "agent_number" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The phone number or ID of the agent involved." title: "Agent Number" description: "The phone number or ID of the agent involved." - name: "customer_number" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The phone number or ID of the customer." title: "Customer Number" description: "The phone number or ID of the customer." - name: "start_time" in: "query" required: false schema: anyOf: - type: "string" format: "date-time" - type: "null" description: "The timestamp of the call's beginning" title: "Start Time" description: "The timestamp of the call's beginning" - name: "end_time" in: "query" required: false schema: anyOf: - type: "string" format: "date-time" - type: "null" description: "The timestamp of the call's end." title: "End Time" description: "The timestamp of the call's end." - name: "duration" in: "query" required: false schema: anyOf: - type: "number" - type: "null" description: "The call duration in seconds." title: "Duration" description: "The call duration in seconds." - name: "metadata" in: "query" required: false schema: anyOf: - type: "string" - type: "null" title: "Metadata" requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_insights_folder_upload_file" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightsUploadFile" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.uploadFile({ folderId: 444923, callId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.upload_file(folder_id=444923, call_id="") # Handle response print(res) /api/v1/insights/folders/{folder_id}/files: get: tags: - "insights.folders" summary: "Fetch Insights Upload Files" operationId: "insights_upload_list_files" security: - APIKeyHeader: [] parameters: - name: "folder_id" in: "path" required: true schema: type: "integer" title: "Folder Id" - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/InsightsUploadFileProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/InsightsUploadFileProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/InsightsUploadFileProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_InsightsUploadFile_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.listFiles({ folderId: 55293, page: 0, searchFields: [ "customer_number", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.list_files(folder_id=55293, page=0, limit=25, search_fields=[ models.InsightsUploadFileProperties.FILENAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/insights/folders/{folder_id}/move-files: post: tags: - "insights.folders" summary: "Move Insights Upload Files" operationId: "insights_upload_move_files" security: - APIKeyHeader: [] parameters: - name: "folder_id" in: "path" required: true schema: type: "integer" title: "Folder Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightsFolderFileMove" responses: "200": description: "Successful Response" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/InsightsUploadFile" title: "Response Insights Upload Move Files" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.folders.moveFiles({ folderId: 815114, insightsFolderFileMove: { destinationFolderId: 182764, fileIdList: [ 12334, 23445, 34556, ], }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.folders.move_files(folder_id=815114, insights_folder_file_move={ "destination_folder_id": 182764, "file_id_list": [ 12334, 23445, 34556, ], }) # Handle response print(res) /api/v1/insights/workflows/: get: tags: - "insights.workflows" summary: "Insight Workflow List" description: "List the existing insight_workflows" operationId: "insights_workflow_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/InsightWorkflowProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/InsightWorkflowProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/InsightWorkflowProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_InsightWorkflowOutput_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.list(page=0, limit=25, search_fields=[ models.InsightWorkflowProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "insights.workflows" summary: "Create Insight Workflow" description: "Create a new tool in the insights" operationId: "insights_workflow_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowInput" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowOutput" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.create({ name: "summary-workflow", source: "agent", description: "Default workflow - generates a summary of the call", insightToolIds: [ 1, ], conditions: { minDuration: 120, maxDuration: 600, sampleRate: 0.1, agentList: [ 866324, 826325, ], promptList: [ "123324", ], folderList: [ 16754, 67535, ], sheetInfo: { "sheet_id": "1AGOCYz05AZYYOMzow2EYlgdDXSXaWIhyA3-zCxBm4go", "sheet_name": "Q1 Sales Data", }, }, startDatetime: new Date("2026-02-03T00:00:00Z"), endDatetime: new Date("2026-02-04T00:00:00Z"), }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK from syllable_sdk.utils import parse_datetime with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.create(request={ "name": "summary-workflow", "source": "agent", "description": "Default workflow - generates a summary of the call", "insight_tool_ids": [ 1, ], "conditions": { "min_duration": 120, "max_duration": 600, "sample_rate": 0.1, "agent_list": [ 866324, 826325, ], "prompt_list": [ "123324", ], "folder_list": [ 16754, 67535, ], "sheet_info": { "sheet_id": "1AGOCYz05AZYYOMzow2EYlgdDXSXaWIhyA3-zCxBm4go", "sheet_name": "Q1 Sales Data", }, }, "start_datetime": parse_datetime("2026-02-03T00:00:00Z"), "end_datetime": parse_datetime("2026-02-04T00:00:00Z"), }) # Handle response print(res) /api/v1/insights/workflows/{workflow_id}: get: tags: - "insights.workflows" summary: "Get Insight Workflow By Id" description: "Get a InsightWorkflow by ID." operationId: "insights_workflow_get_by_id" security: - APIKeyHeader: [] parameters: - name: "workflow_id" in: "path" required: true schema: type: "integer" title: "Workflow Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowOutput" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.getById({ workflowId: 788857, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.get_by_id(workflow_id=788857) # Handle response print(res) put: tags: - "insights.workflows" summary: "Update Insights Workflow" description: "Update a InsightWorkflow." operationId: "insights_workflow_update" security: - APIKeyHeader: [] parameters: - name: "workflow_id" in: "path" required: true schema: type: "integer" title: "Workflow Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowInput" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowOutput" "400": description: "Bad Request" "404": description: "Not Found" "412": description: "Precondition Failed" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.update({ workflowId: 673493, insightWorkflowInput: { name: "summary-workflow", source: "agent", description: "Default workflow - generates a summary of the call", insightToolIds: [ 1, ], conditions: { minDuration: 120, maxDuration: 600, sampleRate: 0.1, agentList: [ 866324, 826325, ], promptList: [ "123324", ], folderList: [ 16754, 67535, ], sheetInfo: { "sheet_id": "1AGOCYz05AZYYOMzow2EYlgdDXSXaWIhyA3-zCxBm4go", "sheet_name": "Q1 Sales Data", }, }, startDatetime: new Date("2026-02-03T00:00:00Z"), endDatetime: new Date("2026-02-04T00:00:00Z"), }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK from syllable_sdk.utils import parse_datetime with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.update(workflow_id=766381, insight_workflow_input={ "name": "summary-workflow", "source": "agent", "description": "Default workflow - generates a summary of the call", "insight_tool_ids": [ 1, ], "conditions": { "min_duration": 120, "max_duration": 600, "sample_rate": 0.1, "agent_list": [ 866324, 826325, ], "prompt_list": [ "123324", ], "folder_list": [ 16754, 67535, ], "sheet_info": { "sheet_id": "1AGOCYz05AZYYOMzow2EYlgdDXSXaWIhyA3-zCxBm4go", "sheet_name": "Q1 Sales Data", }, }, "start_datetime": parse_datetime("2026-02-03T00:00:00Z"), "end_datetime": parse_datetime("2026-02-04T00:00:00Z"), }) # Handle response print(res) delete: tags: - "insights.workflows" summary: "Delete Insights Workflow" description: "Delete an Insights workflow." operationId: "insights_workflow_delete" security: - APIKeyHeader: [] parameters: - name: "workflow_id" in: "path" required: true schema: type: "integer" title: "Workflow Id" responses: "200": description: "Successful Response" content: application/json: schema: {} "400": description: "Bad Request" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.delete({ workflowId: 609419, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.delete(workflow_id=609419) # Handle response print(res) /api/v1/insights/workflows/{workflow_id}/inactivate: put: tags: - "insights.workflows" summary: "Inactivate Insights Workflow" description: "Inactivate an InsightWorkflow." operationId: "insights_workflow_inactivate" security: - APIKeyHeader: [] parameters: - name: "workflow_id" in: "path" required: true schema: type: "integer" title: "Workflow Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowOutput" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.inactivate({ workflowId: 248768, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.inactivate(workflow_id=248768) # Handle response print(res) /api/v1/insights/workflows/{workflow_id}/activate: put: tags: - "insights.workflows" summary: "Activate Insights Workflow" description: "Activate an InsightWorkflow." operationId: "insights_workflow_activate" security: - APIKeyHeader: [] parameters: - name: "workflow_id" in: "path" required: true schema: type: "integer" title: "Workflow Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowActivate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightWorkflowOutput" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.activate({ workflowId: 303095, insightWorkflowActivate: { isAcknowledged: true, estimate: { backfillCount: 100, backfillDuration: 1000, estimatedDailyCount: 10, estimatedDailyDuration: 3674.11, estimatedDailyCost: 45.25, estimatedBackfillCost: 4561, }, }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.activate(workflow_id=303095, insight_workflow_activate={ "is_acknowledged": True, "estimate": { "backfill_count": 100, "backfill_duration": 1000, "estimated_daily_count": 10, "estimated_daily_duration": 3674.11, "estimated_daily_cost": 45.25, "estimated_backfill_cost": 4561, }, }) # Handle response print(res) /api/v1/insights/workflows/queue-work: post: tags: - "insights.workflows" summary: "Queue Insights Workflow For Sessions/Files" description: "Manually queue sessions for insights workflow evaluation." operationId: "insights_workflow_queue_work" requestBody: content: application/json: schema: $ref: "#/components/schemas/InsightsWorkflowQueueSession" required: true responses: "200": description: "Successful Response" content: application/json: schema: {} "400": description: "Bad Request" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.workflows.queueWork({ workflowName: "summary-workflow", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.workflows.queue_work(request={ "workflow_name": "summary-workflow", }) # Handle response print(res) /api/v1/insights/tool-configurations: get: tags: - "insights.tools" summary: "List Insight Tool Configurations" description: "List the existing insight_tools" operationId: "insight_tool_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/InsightToolProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/InsightToolProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/InsightToolProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_InsightToolOutput_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.tools.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.tools.list(page=0, limit=25, search_fields=[ models.InsightToolProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "insights.tools" summary: "Create Insight Tool Configuration" description: "Create a new insight tool." operationId: "insights_tool_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightToolInput" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightToolOutput" "400": description: "Bad Request" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.tools.create({ name: "summary-tool", description: "This tool uses GPT4.1 to generate a summary of the call", version: 1, toolArguments: { "prompt": "Provide a concise, accurate summary of the conversation's key points, focusing on the user's goal and how the agent responded", }, insightToolDefinitionId: 1, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.tools.create(request={ "name": "summary-tool", "description": "This tool uses GPT4.1 to generate a summary of the call", "version": 1, "tool_arguments": { "prompt": "Provide a concise, accurate summary of the conversation's key points, focusing on the user's goal and how the agent responded", }, "insight_tool_definition_id": 1, }) # Handle response print(res) /api/v1/insights/tool-configurations/{tool_id}: get: tags: - "insights.tools" summary: "Get Insight Tool Config By Id" description: "Get a InsightTool by Name." operationId: "insight_tool_get_by_id" security: - APIKeyHeader: [] parameters: - name: "tool_id" in: "path" required: true schema: type: "string" title: "Tool Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightToolOutput" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.tools.getById({ toolId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.tools.get_by_id(tool_id="") # Handle response print(res) delete: tags: - "insights.tools" summary: "Delete Insight Tool Configuration" description: "Delete an Insights tool configuration." operationId: "insights_tool_delete" security: - APIKeyHeader: [] parameters: - name: "tool_id" in: "path" required: true schema: type: "integer" title: "Tool Id" responses: "200": description: "Successful Response" content: application/json: schema: {} "400": description: "Bad Request" "404": description: "Not Found" "412": description: "Precondition Failed" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.tools.delete({ toolId: 770449, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.tools.delete(tool_id=770449) # Handle response print(res) put: tags: - "insights.tools" summary: "Update Insights Tool Configuration" description: "Update an Insights tool." operationId: "insights_tool_update" security: - APIKeyHeader: [] parameters: - name: "tool_id" in: "path" required: true schema: type: "integer" title: "Tool Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/InsightToolInput" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InsightToolOutput" "400": description: "Bad Request" "404": description: "Not Found" "412": description: "Precondition Failed" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.tools.update({ toolId: 368362, insightToolInput: { name: "summary-tool", description: "This tool uses GPT4.1 to generate a summary of the call", version: 1, toolArguments: { "prompt": "Provide a concise, accurate summary of the conversation's key points, focusing on the user's goal and how the agent responded", }, insightToolDefinitionId: 1, }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.tools.update(tool_id=368362, insight_tool_input={ "name": "summary-tool", "description": "This tool uses GPT4.1 to generate a summary of the call", "version": 1, "tool_arguments": { "prompt": "Provide a concise, accurate summary of the conversation's key points, focusing on the user's goal and how the agent responded", }, "insight_tool_definition_id": 1, }) # Handle response print(res) /api/v1/insights/tools-test: post: tags: - "insights.tools" summary: "Test Insights Tool" description: "Manually run the given insight tool against a session and return the response." operationId: "insights_tool_test" requestBody: content: application/json: schema: $ref: "#/components/schemas/InsightToolTestInput" required: true responses: "200": description: "Successful Response" content: application/json: schema: {} "400": description: "Bad Request" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.tools.insightsToolTest({ toolName: "summary-tool", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.tools.insights_tool_test(request={ "tool_name": "summary-tool", }) # Handle response print(res) /api/v1/insights/tool-definitions: get: tags: - "insights.tools" summary: "Get Insight Tool Definitions" description: "Get a InsightTool by Name." operationId: "insight_tool_get_definitions" responses: "200": description: "Successful Response" content: application/json: schema: items: $ref: "#/components/schemas/InsightToolDefinition" type: "array" title: "Response Insight Tool Get Definitions" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.insights.tools.insightToolGetDefinitions(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.insights.tools.insight_tool_get_definitions() # Handle response print(res) /api/v1/custom_messages/: get: tags: - "custom_messages" summary: "Custom Messages List" description: "List the existing custom_messages" operationId: "custom_messages_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/CustomMessageProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/CustomMessageProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/CustomMessageProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_CustomMessageResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.customMessages.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.custom_messages.list(page=0, limit=25, search_fields=[ models.CustomMessageProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "custom_messages" summary: "Create Custom Message" description: "Create a new custom message" operationId: "custom_messages_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CustomMessageCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/CustomMessageResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.customMessages.create({ name: "Customer service greeting", preamble: "If this is an emergency, please hang up and call 911.", text: "Hello and thank you for calling customer service. How can I help you today?", subject: "Your appointment reminder", label: "Customer service", rules: [ { description: "Closed on New Year's Day", timeRangeStart: "09:00", timeRangeEnd: "17:00", date: "2025-01-01", invert: false, text: "Hello, thank you for calling. Sorry, we're closed today.", }, { description: "Closed on weekends", timeRangeStart: "09:00", timeRangeEnd: "17:00", daysOfWeek: [ "sa", "su", ], invert: false, text: "Hello, thank you for calling. Sorry, we're closed on weekends.", }, ], }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.custom_messages.create(request={ "name": "Customer service greeting", "preamble": "If this is an emergency, please hang up and call 911.", "text": "Hello and thank you for calling customer service. How can I help you today?", "subject": "Your appointment reminder", "label": "Customer service", "rules": [ { "description": "Closed on New Year's Day", "time_range_start": "09:00", "time_range_end": "17:00", "date_": "2025-01-01", "invert": False, "text": "Hello, thank you for calling. Sorry, we're closed today.", }, { "description": "Closed on weekends", "time_range_start": "09:00", "time_range_end": "17:00", "days_of_week": [ models.DayOfWeek.SA, models.DayOfWeek.SU, ], "invert": False, "text": "Hello, thank you for calling. Sorry, we're closed on weekends.", }, ], }) # Handle response print(res) put: tags: - "custom_messages" summary: "Update Custom Message" description: "Update a custom message" operationId: "custom_messages_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CustomMessageUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/CustomMessageResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.customMessages.update({ name: "Customer service greeting", preamble: "If this is an emergency, please hang up and call 911.", text: "Hello and thank you for calling customer service. How can I help you today?", subject: "Your appointment reminder", label: "Customer service", rules: [ { description: "Closed on New Year's Day", timeRangeStart: "09:00", timeRangeEnd: "17:00", date: "2025-01-01", invert: false, text: "Hello, thank you for calling. Sorry, we're closed today.", }, { description: "Closed on weekends", timeRangeStart: "09:00", timeRangeEnd: "17:00", daysOfWeek: [ "sa", "su", ], invert: false, text: "Hello, thank you for calling. Sorry, we're closed on weekends.", }, ], id: 1, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.custom_messages.update(request={ "name": "Customer service greeting", "preamble": "If this is an emergency, please hang up and call 911.", "text": "Hello and thank you for calling customer service. How can I help you today?", "subject": "Your appointment reminder", "label": "Customer service", "rules": [ { "description": "Closed on New Year's Day", "time_range_start": "09:00", "time_range_end": "17:00", "date_": "2025-01-01", "invert": False, "text": "Hello, thank you for calling. Sorry, we're closed today.", }, { "description": "Closed on weekends", "time_range_start": "09:00", "time_range_end": "17:00", "days_of_week": [ models.DayOfWeek.SA, models.DayOfWeek.SU, ], "invert": False, "text": "Hello, thank you for calling. Sorry, we're closed on weekends.", }, ], "id": 1, }) # Handle response print(res) /api/v1/custom_messages/{custom_message_id}: get: tags: - "custom_messages" summary: "Get Custom Message By Id" description: "Get the custom message by its ID" operationId: "custom_message_get_by_id" security: - APIKeyHeader: [] parameters: - name: "custom_message_id" in: "path" required: true schema: type: "integer" title: "Custom Message Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/CustomMessageResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.customMessages.getById({ customMessageId: 909433, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.custom_messages.get_by_id(custom_message_id=909433) # Handle response print(res) delete: tags: - "custom_messages" summary: "Delete Custom Message" description: "Delete custom message by ID" operationId: "custom_messages_delete" security: - APIKeyHeader: [] parameters: - name: "custom_message_id" in: "path" required: true schema: type: "integer" title: "Custom Message Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.customMessages.delete({ customMessageId: 729986, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.custom_messages.delete(custom_message_id=729986, reason="") # Handle response print(res) /api/v1/permissions/: get: tags: - "permissions" summary: "List Permissions" description: "Get all available permissions in the system." operationId: "permissions_list" responses: "200": description: "Successful Response" content: application/json: schema: items: $ref: "#/components/schemas/PermissionGroupResponse" type: "array" title: "Response Permissions List" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.permissions.list(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.permissions.list() # Handle response print(res) /api/v1/prompts/: get: tags: - "prompts" summary: "Prompt List" description: "List the existing prompts" operationId: "prompts_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/PromptProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/PromptProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/PromptProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_PromptResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.prompts.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.prompts.list(page=0, limit=25, search_fields=[ models.PromptProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "prompts" summary: "Create Prompt" description: "Create a new prompt" operationId: "prompts_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PromptCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/PromptResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.prompts.create({ name: "Weather Agent Prompt", description: "Prompt for a weather agent.", type: "prompt_v1", context: "You are a weather agent. Answer the user's questions about weather and nothing else.", tools: [], llmConfig: { version: "2024-05-13", apiVersion: "2024-06-01", temperature: 1, seed: 123, }, sessionEndToolId: 1, editComments: "Updated prompt text to include requirement to not answer questions that aren't about weather.", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.prompts.create(request={ "name": "Weather Agent Prompt", "description": "Prompt for a weather agent.", "type": "prompt_v1", "context": "You are a weather agent. Answer the user's questions about weather and nothing else.", "tools": [], "llm_config": { "version": "2024-05-13", "api_version": "2024-06-01", "temperature": 1, "seed": 123, }, "session_end_tool_id": 1, "edit_comments": "Updated prompt text to include requirement to not answer questions that aren't about weather.", }) # Handle response print(res) put: tags: - "prompts" summary: "Update Prompt" description: "Update an existing prompt" operationId: "prompts_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/PromptUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/PromptResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.prompts.update({ name: "Weather Agent Prompt", description: "Prompt for a weather agent.", type: "prompt_v1", context: "You are a weather agent. Answer the user's questions about weather and nothing else.", tools: [], llmConfig: { version: "2024-05-13", apiVersion: "2024-06-01", temperature: 1, seed: 123, }, sessionEndToolId: 1, editComments: "Updated prompt text to include requirement to not answer questions that aren't about weather.", id: 1, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.prompts.update(request={ "name": "Weather Agent Prompt", "description": "Prompt for a weather agent.", "type": "prompt_v1", "context": "You are a weather agent. Answer the user's questions about weather and nothing else.", "tools": [], "llm_config": { "version": "2024-05-13", "api_version": "2024-06-01", "temperature": 1, "seed": 123, }, "session_end_tool_id": 1, "edit_comments": "Updated prompt text to include requirement to not answer questions that aren't about weather.", "id": 1, }) # Handle response print(res) /api/v1/prompts/{prompt_id}: get: tags: - "prompts" summary: "Get Prompt By Id" description: "Get a prompt by ID" operationId: "prompts_get_by_id" security: - APIKeyHeader: [] parameters: - name: "prompt_id" in: "path" required: true schema: type: "integer" title: "Prompt Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/PromptResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.prompts.getById({ promptId: 417330, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.prompts.get_by_id(prompt_id=417330) # Handle response print(res) delete: tags: - "prompts" summary: "Delete Prompt" description: "Delete a prompt" operationId: "prompts_delete" security: - APIKeyHeader: [] parameters: - name: "prompt_id" in: "path" required: true schema: type: "integer" title: "Prompt Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.prompts.delete({ promptId: 982839, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.prompts.delete(prompt_id=982839, reason="") # Handle response print(res) /api/v1/prompts/{prompt_id}/history: get: tags: - "prompts" summary: "Get Prompt History" description: "Get a list of historical versions of a prompt by its ID" operationId: "prompts_history" security: - APIKeyHeader: [] parameters: - name: "prompt_id" in: "path" required: true schema: type: "integer" title: "Prompt Id" responses: "200": description: "Successful Response" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/PromptHistory" title: "Response Prompts History" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.prompts.promptsHistory({ promptId: 922849, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.prompts.prompts_history(prompt_id=922849) # Handle response print(res) /api/v1/prompts/llms/supported: get: tags: - "prompts" summary: "Get Supported Llm Configs" description: "Get supported LLM configs." operationId: "prompt_get_supported_llms" responses: "200": description: "Successful Response" content: application/json: schema: items: $ref: "#/components/schemas/SupportedLlm" type: "array" title: "Response Prompt Get Supported Llms" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.prompts.promptGetSupportedLlms(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.prompts.prompt_get_supported_llms() # Handle response print(res) /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: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.pronunciations.pronunciationsGet(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.pronunciations.pronunciations_get() # Handle response print(res) /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: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.pronunciations.pronunciationsGetMetadata(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.pronunciations.pronunciations_get_metadata() # Handle response print(res) /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: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.pronunciations.pronunciationsDownloadCsv(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.pronunciations.pronunciations_download_csv() # Handle response print(res) 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: typescript label: Typescript (SDK) source: |- import { openAsBlob } from "node:fs"; import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.pronunciations.pronunciationsUploadCsv({ file: await openAsBlob("example.file"), }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.pronunciations.pronunciations_upload_csv(request={ "file": { "file_name": "example.file", "content": open("example.file", "rb"), }, }) # Handle response print(res) delete: tags: - "pronunciations" summary: "Delete Pronunciations Dictionary" operationId: "pronunciations_delete_csv" responses: "204": description: "Successful Response" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { await syllableSDK.pronunciations.pronunciationsDeleteCsv(); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: ss_client.pronunciations.pronunciations_delete_csv() # Use the SDK ... /api/v1/roles/: get: tags: - "roles" summary: "List Roles" description: "List the existing roles." operationId: "roles_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/RoleProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/RoleProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/RoleProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_RoleResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.roles.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.roles.list(page=0, limit=25, search_fields=[ models.RoleProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "roles" summary: "Create Role" description: "Create a new role." operationId: "roles_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/RoleCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/RoleResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.roles.create({ name: "Prompt Engineer", description: "Role for users who can fetch and change prompts", permissions: [ "prompts_read", "prompts_write", "prompts_delete", ], }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.roles.create(request={ "name": "Prompt Engineer", "description": "Role for users who can fetch and change prompts", "permissions": [ "prompts_read", "prompts_write", "prompts_delete", ], }) # Handle response print(res) put: tags: - "roles" summary: "Update Role" description: "Update an existing role." operationId: "roles_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/RoleUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/RoleResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.roles.update({ name: "Prompt Engineer", description: "Role for users who can fetch and change prompts", permissions: [ "prompts_read", "prompts_write", "prompts_delete", ], id: 1, lastUpdatedComments: "Updated to add delete permission", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.roles.update(request={ "name": "Prompt Engineer", "description": "Role for users who can fetch and change prompts", "permissions": [ "prompts_read", "prompts_write", "prompts_delete", ], "id": 1, "last_updated_comments": "Updated to add delete permission", }) # Handle response print(res) /api/v1/roles/{role_id}: get: tags: - "roles" summary: "Get Role" description: "Fetch a given role." operationId: "roles_get_by_id" security: - APIKeyHeader: [] parameters: - name: "role_id" in: "path" required: true schema: type: "integer" title: "Role Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/RoleResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.roles.getById({ roleId: 324660, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.roles.get_by_id(role_id=324660) # Handle response print(res) delete: tags: - "roles" summary: "Delete Role" description: "Delete a role. Optionally, reassign existing users with that role to a new role." operationId: "roles_delete" security: - APIKeyHeader: [] parameters: - name: "role_id" in: "path" required: true schema: type: "integer" description: "The ID of the role to delete" title: "Role Id" description: "The ID of the role to delete" - name: "reason" in: "query" required: true schema: type: "string" description: "The reason for deleting the role" title: "Reason" description: "The reason for deleting the role" - name: "new_role_id" in: "query" required: false schema: anyOf: - type: "integer" - type: "null" description: "Users with the deleted role will be reassigned to the new role, if a new role ID is provided" title: "New Role Id" description: "Users with the deleted role will be reassigned to the new role, if a new role ID is provided" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.roles.delete({ roleId: 458987, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.roles.delete(role_id=458987, reason="") # Handle response print(res) /api/v1/services/: get: tags: - "services" summary: "Service List" description: "List the existing services" operationId: "service_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/ServiceProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/ServiceProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/ServiceProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_ServiceResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.services.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.services.list(page=0, limit=25, search_fields=[ models.ServiceProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "services" summary: "Create Service" description: "Create a new service." operationId: "service_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ServiceCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ServiceResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.services.create({ name: "Weather tools", description: "Service containing tools for fetching weather information", authType: "basic", authValues: { "password": "my-password", "username": "my-username", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.services.create(request={ "name": "Weather tools", "description": "Service containing tools for fetching weather information", "auth_type": models.ToolAuthType.BASIC, "auth_values": { "password": "my-password", "username": "my-username", }, }) # Handle response print(res) put: tags: - "services" summary: "Update Service" description: "Update an existing service." operationId: "service_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ServiceUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ServiceResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.services.update({ name: "Weather tools", description: "Service containing tools for fetching weather information", authType: "basic", authValues: { "password": "my-password", "username": "my-username", }, id: 1, lastUpdatedComments: "Updated description to correct typo", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.services.update(request={ "name": "Weather tools", "description": "Service containing tools for fetching weather information", "auth_type": models.ToolAuthType.BASIC, "auth_values": { "password": "my-password", "username": "my-username", }, "id": 1, "last_updated_comments": "Updated description to correct typo", }) # Handle response print(res) /api/v1/services/{service_id}: get: tags: - "services" summary: "Get Service By Id" description: "Get a service by its ID" operationId: "services_get_by_id" security: - APIKeyHeader: [] parameters: - name: "service_id" in: "path" required: true schema: type: "integer" title: "Service Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ServiceResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.services.getById({ serviceId: 902529, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.services.get_by_id(service_id=902529) # Handle response print(res) delete: tags: - "services" summary: "Delete Service" description: "Delete a service. A service with linked tools cannot be deleted." operationId: "service_delete" security: - APIKeyHeader: [] parameters: - name: "service_id" in: "path" required: true schema: type: "integer" title: "Service Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.services.delete({ serviceId: 754999, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.services.delete(service_id=754999, reason="") # Handle response print(res) /api/v1/session_labels/{session_label_id}: get: tags: - "session_labels" summary: "Get Label By Id" operationId: "session_label_get_by_id" security: - APIKeyHeader: [] parameters: - name: "session_label_id" in: "path" required: true schema: type: "integer" title: "Session Label Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/SessionLabel" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessionLabels.getById({ sessionLabelId: 491550, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.session_labels.get_by_id(session_label_id=491550) # Handle response print(res) /api/v1/session_labels/: post: tags: - "session_labels" summary: "Create Label" description: "Create a new label" operationId: "session_label_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/SessionLabelCreate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/SessionLabel" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessionLabels.create({ sessionId: 1, type: "auto-rating", code: "GOOD", userEmail: "user@email.com", issueCategories: [ "Silent treatment", ], }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.session_labels.create(request={ "session_id": 1, "type": "auto-rating", "code": "GOOD", "user_email": "user@email.com", "issue_categories": [ "Silent treatment", ], }) # Handle response print(res) get: tags: - "session_labels" summary: "Session Labels List" operationId: "session_labels_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/SessionLabelProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/SessionLabelProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/SessionLabelProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_SessionLabel_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessionLabels.list({ page: 0, searchFields: [ "code", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.session_labels.list(page=0, limit=25, search_fields=[ models.SessionLabelProperties.CODE, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/sessions/: get: tags: - "sessions" summary: "Sessions List" operationId: "sessions_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/SessionProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/SessionProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/SessionProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_Session_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessions.list({ page: 0, searchFields: [ "conversation_id", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.sessions.list(page=0, limit=25, search_fields=[ models.SessionProperties.CONVERSATION_ID, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/sessions/{session_id}: get: tags: - "sessions" summary: "Get A Single Session By Id" operationId: "session_get_by_id" security: - APIKeyHeader: [] parameters: - name: "session_id" in: "path" required: true schema: type: "string" title: "Session Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Session" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessions.getById({ sessionId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.sessions.get_by_id(session_id="") # Handle response print(res) /api/v1/sessions/recording/{session_id}: post: tags: - "sessions" summary: "Generate Recording Urls" operationId: "generate_session_recording_urls" security: - APIKeyHeader: [] parameters: - name: "session_id" in: "path" required: true schema: type: "string" title: "Session Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/SessionRecordingResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessions.generateSessionRecordingUrls({ sessionId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.sessions.generate_session_recording_urls(session_id="") # Handle response print(res) /api/v1/sessions/recording/stream: get: tags: - "sessions" summary: "Stream Recording" operationId: "session_recording_stream" security: - APIKeyHeader: [] parameters: - name: "token" in: "query" required: true schema: type: "string" title: "Token" responses: "200": description: "Successful Response" content: application/octet-stream: schema: type: "string" title: "bytes" format: "binary" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessions.sessionRecordingStream({ token: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.sessions.session_recording_stream(token="") # Handle response print(res) /api/v1/sessions/transcript/{session_id}: get: tags: - "sessions.transcript" summary: "Get Session Transcript By Id" operationId: "session_transcript_get_by_id" security: - APIKeyHeader: [] parameters: - name: "session_id" in: "path" required: true schema: type: "string" title: "Session Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/SessionTranscriptionResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessions.transcript.getById({ sessionId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.sessions.transcript.get_by_id(session_id="") # Handle response print(res) /api/v1/sessions/full-summary/{session_id}: get: tags: - "sessions.full-summary" summary: "Get Full Session Summary By Id" operationId: "session_full_summary_get_by_id" security: - APIKeyHeader: [] parameters: - name: "session_id" in: "path" required: true schema: type: "string" title: "Session Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/SessionSummaryResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessions.fullSummary.getById({ sessionId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.sessions.full_summary.get_by_id(session_id="") # Handle response print(res) /api/v1/sessions/latency/{session_id}: get: tags: - "sessions.latency" summary: "Inspect Latency For Session" operationId: "session_latency_get_by_id" security: - APIKeyHeader: [] parameters: - name: "session_id" in: "path" required: true schema: type: "string" title: "Session Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/InspectLatencyResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessions.latency.getById({ sessionId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.sessions.latency.get_by_id(session_id="") # Handle response print(res) /api/v1/session_debug/sid/{channel_manager_service}/{channel_manager_sid}: get: tags: - "session_debug" summary: "Get Session Data By Sid" operationId: "get_session_data_by_sid" security: - APIKeyHeader: [] parameters: - name: "channel_manager_service" in: "path" required: true schema: type: "string" title: "Channel Manager Service" - name: "channel_manager_sid" in: "path" required: true schema: type: "string" title: "Channel Manager Sid" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/SessionData" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessionDebug.getSessionDataBySid({ channelManagerService: "", channelManagerSid: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.session_debug.get_session_data_by_sid(channel_manager_service="", channel_manager_sid="") # Handle response print(res) /api/v1/session_debug/session_id/{session_id}: get: tags: - "session_debug" summary: "Get Session Data By Session Id" operationId: "get_session_data_by_session_id" security: - APIKeyHeader: [] parameters: - name: "session_id" in: "path" required: true schema: type: "integer" title: "Session Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/SessionData" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessionDebug.getSessionDataBySessionId({ sessionId: 303182, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.session_debug.get_session_data_by_session_id(session_id=303182) # Handle response print(res) /api/v1/session_debug/tool_result/{session_id}/{tool_call_id}: get: tags: - "session_debug" summary: "Get Session Tool Call Result By Id" operationId: "get_session_tool_call_result_by_id" security: - APIKeyHeader: [] parameters: - name: "session_id" in: "path" required: true schema: type: "integer" title: "Session Id" - name: "tool_call_id" in: "path" required: true schema: type: "string" title: "Tool Call Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ToolResultData" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.sessionDebug.getSessionToolCallResultById({ sessionId: 832133, toolCallId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.session_debug.get_session_tool_call_result_by_id(session_id=832133, tool_call_id="") # Handle response print(res) /api/v1/tools/: get: tags: - "tools" summary: "Tool List" description: "List the existing tools" operationId: "tool_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/ToolProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/ToolProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/ToolProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_ToolResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.tools.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.tools.list(page=0, limit=25, search_fields=[ models.ToolProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "tools" summary: "Create Tool" description: "Create a new tool" operationId: "tool_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ToolCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ToolResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.tools.create({ name: "Weather Fetcher", definition: { type: "endpoint", tool: { function: { name: "get_weather", description: "Get the weather for a city", parameters: { }, }, }, endpoint: { url: "https://api.example.com", method: "post", argumentLocation: "path", timeout: 45, }, context: { task: [], }, defaults: "", staticParameters: [ { name: "temperature_unit", description: "Whether the temperature information should be fetched in Celsius or Fahrenheit", required: false, type: "string", default: "fahrenheit", }, ], }, serviceId: 1, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.tools.create(request=models.ToolCreateRequest( name="Weather Fetcher", definition=models.ToolDefinition( type=models.ToolDefinitionType.ENDPOINT, tool=models.InternalTool( function=models.ToolFunction( name="get_weather", description="Get the weather for a city", parameters={ }, ), ), endpoint=models.ToolHTTPEndpoint( url="https://api.example.com", method=models.ToolHTTPMethod.POST, argument_location=models.ToolArgumentLocation.QUERY, timeout=45, ), context=models.Context( task=[], ), defaults={ "key": { "transform": { "action": "default", "when": { "key": "key", "value": "value", "operator": "eq", }, }, }, }, static_parameters=[ models.StaticToolParameter( name="temperature_unit", description="Whether the temperature information should be fetched in Celsius or Fahrenheit", required=False, type=models.StaticToolParameterType.STRING, default="fahrenheit", ), ], ), service_id=1, )) # Handle response print(res) put: tags: - "tools" summary: "Update Tool" description: "Update an existing tool" operationId: "tool_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ToolUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ToolResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.tools.update({ name: "Weather Fetcher", definition: { type: "endpoint", tool: { function: { name: "get_weather", description: "Get the weather for a city", parameters: { }, }, }, endpoint: { url: "https://api.example.com", method: "get", argumentLocation: "form", timeout: 45, }, context: { task: { type: "import", version: "v1alpha", file: "", }, }, defaults: "", staticParameters: [ { name: "temperature_unit", description: "Whether the temperature information should be fetched in Celsius or Fahrenheit", required: false, type: "string", default: "fahrenheit", }, ], }, serviceId: 1, id: 1, lastUpdatedComments: "Updated to use new API endpoint", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.tools.update(request=models.ToolUpdateRequest( name="Weather Fetcher", definition=models.ToolDefinition( type=models.ToolDefinitionType.ENDPOINT, tool=models.InternalTool( function=models.ToolFunction( name="get_weather", description="Get the weather for a city", parameters={ }, ), ), endpoint=models.ToolHTTPEndpoint( url="https://api.example.com", method=models.ToolHTTPMethod.GET, argument_location=models.ToolArgumentLocation.FORM, timeout=45, ), context=models.Context( task=models.LoadToolFromFileTask( file="", ), ), defaults="", static_parameters=[ models.StaticToolParameter( name="temperature_unit", description="Whether the temperature information should be fetched in Celsius or Fahrenheit", required=False, type=models.StaticToolParameterType.STRING, default="fahrenheit", ), ], ), service_id=1, id=1, last_updated_comments="Updated to use new API endpoint", )) # Handle response print(res) /api/v1/tools/{tool_id}/history: get: tags: - "tools" summary: "Tool History" description: "Get version history for a tool." operationId: "tool_history" security: - APIKeyHeader: [] parameters: - name: "tool_id" in: "path" required: true schema: type: "integer" title: "Tool Id" - name: "page" in: "query" required: false schema: type: "integer" minimum: 0 description: "Page number (0-based)" default: 0 title: "Page" description: "Page number (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" maximum: 100 minimum: 1 description: "Items per page" default: 25 title: "Limit" description: "Items per page" - name: "order_by_direction" in: "query" required: false schema: $ref: "#/components/schemas/OrderByDirection" description: "Sort by oldest first (asc) or newest first (desc). Version 1 is always the oldest." default: "asc" description: "Sort by oldest first (asc) or newest first (desc). Version 1 is always the oldest." responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_ToolHistoryResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.tools.toolHistory({ toolId: 217978, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.tools.tool_history(tool_id=217978, page=0, limit=25) # Handle response print(res) /api/v1/tools/{tool_name}: get: tags: - "tools" summary: "Tool Info" description: "Get the details of a specific tool" operationId: "tool_get_by_name" security: - APIKeyHeader: [] parameters: - name: "tool_name" in: "path" required: true schema: type: "string" title: "Tool Name" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ToolDetailResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.tools.getByName({ toolName: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.tools.get_by_name(tool_name="") # Handle response print(res) delete: tags: - "tools" summary: "Delete Tool" description: "Delete a tool." operationId: "tool_delete" security: - APIKeyHeader: [] parameters: - name: "tool_name" in: "path" required: true schema: type: "string" title: "Tool Name" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.tools.delete({ toolName: "", reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.tools.delete(tool_name="", reason="") # Handle response print(res) /api/v1/channels/available-targets: get: tags: - "channels.targets" summary: "Available Targets List" description: "List the available phone numbers" operationId: "available_targets" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/AvailableTargetProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/AvailableTargetProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/AvailableTargetProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_AvailableTarget_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.targets.availableTargets({ page: 0, searchFields: [ "target", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.targets.available_targets(page=0, limit=25, search_fields=[ models.AvailableTargetProperties.TARGET, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/channels/targets: get: tags: - "channels.targets" summary: "Get Channel Targets" description: "List channel targets for the current suborg.\n\nSupports the standard `ListManager` filters via `search_fields`/`search_field_values`. In\naddition to `target_mode` (single value), `target_mode_list` accepts a comma-separated list of\nmodes (e.g. `voice,sms`) and matches targets whose mode is any of the listed values. Whitespace\naround tokens is tolerated and empty tokens are ignored. If both `target_mode` and\n`target_mode_list` are supplied, the two filters are combined with AND. `target_mode_list` is\nfilter-only and cannot be used as `order_by`." operationId: "channel_targets_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/ChannelTargetProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/ChannelTargetOrderProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "target" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/ChannelTargetProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_ChannelTargetResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.targets.list({ page: 0, searchFields: [ "agent_id", ], searchFieldValues: [ "Some Object Name", ], orderBy: "target", startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.targets.list(page=0, limit=25, search_fields=[ models.ChannelTargetProperties.AGENT_ID, ], search_field_values=[ "Some Object Name", ], order_by=models.ChannelTargetOrderProperties.TARGET, start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/channels/{channel_id}/targets: post: tags: - "channels.targets" summary: "Assign A Channel Target" operationId: "channel_targets_create" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ChannelTargetCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ChannelTargetResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.targets.create({ channelId: 824809, channelTargetCreateRequest: { agentId: 1, channelId: 1, target: "+19995551234", targetMode: "email", fallbackTarget: "+19995551235", isTest: true, }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.targets.create(channel_id=824809, channel_target_create_request={ "agent_id": 1, "channel_id": 1, "target": "+19995551234", "target_mode": models.TargetModes.EMAIL, "fallback_target": "+19995551235", "is_test": True, }) # Handle response print(res) /api/v1/channels/{channel_id}/targets/{target_id}: get: tags: - "channels.targets" summary: "Get A Channel Target" operationId: "channel_targets_get_by_id" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" - name: "target_id" in: "path" required: true schema: type: "integer" title: "Target Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ChannelTargetResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.targets.getById({ channelId: 184507, targetId: 235358, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.targets.get_by_id(channel_id=184507, target_id=235358) # Handle response print(res) put: tags: - "channels.targets" summary: "Edit Channel Target" description: "Update channel target by ID" operationId: "channel_targets_update" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "integer" title: "Channel Id" - name: "target_id" in: "path" required: true schema: type: "integer" title: "Target Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ChannelTargetUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ChannelTargetResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.targets.update({ channelId: 508167, targetId: 880236, channelTargetUpdateRequest: { agentId: 1, channelId: 1, target: "+19995551234", targetMode: "email", fallbackTarget: "+19995551235", isTest: true, id: 1, }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.targets.update(channel_id=508167, target_id=880236, channel_target_update_request={ "agent_id": 1, "channel_id": 1, "target": "+19995551234", "target_mode": models.TargetModes.EMAIL, "fallback_target": "+19995551235", "is_test": True, "id": 1, }) # Handle response print(res) /api/v1/channels/{channel_id}: delete: tags: - "channels" summary: "Delete Channel Target" description: "Hard-delete a channel target by ID" operationId: "channel_targets_delete" security: - APIKeyHeader: [] parameters: - name: "channel_id" in: "path" required: true schema: type: "string" title: "Channel Id" - name: "target_id" in: "query" required: true schema: type: "string" title: "Target Id" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.channels.delete({ channelId: "", targetId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.channels.delete(channel_id="", target_id="") # Handle response print(res) /api/v1/directory_members/: get: tags: - "directory" summary: "Directory Member List" description: "List the directory_members" operationId: "directory_member_list" security: - APIKeyHeader: [] parameters: - name: "include_deleted" in: "query" required: false schema: type: "boolean" description: "If true, include soft-deleted members in the list. Default excludes them." default: false title: "Include Deleted" description: "If true, include soft-deleted members in the list. Default excludes them." - name: "response_format" in: "query" required: false schema: $ref: "#/components/schemas/DirectoryResponseFormat" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." default: "normalized" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "Page number (0-based)" default: 0 title: "Page" description: "Page number (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "Items per page" default: 25 title: "Limit" description: "Items per page" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/DirectoryMemberProperties" description: "Fields to search; aligns with search_field_values" default: [] title: "Search Fields" description: "Fields to search; aligns with search_field_values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values for search_fields in matching order" default: [] title: "Search Field Values" description: "Values for search_fields in matching order" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/DirectoryMemberProperties" - type: "null" description: "Field to order results by" title: "Order By" description: "Field to order results by" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "Direction to order results" title: "Order By Direction" description: "Direction to order results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/DirectoryMemberProperties" - type: "null" description: "Fields to include in response" default: [] title: "Fields" description: "Fields to include in response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "Start datetime for filtering results" title: "Start Datetime" description: "Start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "End datetime for filtering results" title: "End Datetime" description: "End datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_DirectoryMember_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.list(include_deleted=False, page=0, limit=25, search_fields=[ models.DirectoryMemberProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "directory" summary: "Create Directory Member" description: "Create a new member in the directory" operationId: "directory_member_create" security: - APIKeyHeader: [] parameters: - name: "response_format" in: "query" required: false schema: $ref: "#/components/schemas/DirectoryResponseFormat" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." default: "normalized" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/DirectoryMemberCreate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DirectoryMember" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.create({ directoryMemberCreate: { name: "Jane Doe", type: "contact", extensions: [ { name: "work", numbers: [ { number: "+1234567890", rules: [ { "language": "en", }, ], }, ], }, ], contactTags: { "tag1": [ "value1", ], "tag2": [ "value2", ], }, comments: "Updated to add new extension", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.create(directory_member_create={ "name": "Jane Doe", "type": "contact", "extensions": [ { "name": "work", "numbers": [ { "number": "+1234567890", "rules": [ { "language": "en", }, ], }, ], }, ], "contact_tags": { "tag1": [ "value1", ], "tag2": [ "value2", ], }, "comments": "Updated to add new extension", }) # Handle response print(res) /api/v1/directory_members/{member_id}/history: get: tags: - "directory" summary: "Get Directory Member History" description: "Get version history for a directory member (contact).\nVersion 1 is always the oldest; order_by_direction only controls response order." operationId: "directory_member_history" security: - APIKeyHeader: [] parameters: - name: "member_id" in: "path" required: true schema: type: "integer" title: "Member Id" - name: "page" in: "query" required: false schema: type: "integer" minimum: 0 description: "Page number (0-based)" default: 0 title: "Page" description: "Page number (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" maximum: 100 minimum: 1 description: "Items per page" default: 25 title: "Limit" description: "Items per page" - name: "order_by_direction" in: "query" required: false schema: $ref: "#/components/schemas/OrderByDirection" description: "Sort by oldest first (asc) or newest first (desc). Version 1 is always the oldest." default: "asc" description: "Sort by oldest first (asc) or newest first (desc). Version 1 is always the oldest." - name: "response_format" in: "query" required: false schema: $ref: "#/components/schemas/DirectoryResponseFormat" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." default: "normalized" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_DirectoryMemberHistoryResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.directoryMemberHistory({ memberId: 371893, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.directory_member_history(member_id=371893, page=0, limit=25) # Handle response print(res) /api/v1/directory_members/{member_id}: get: tags: - "directory" summary: "Get Directory Member By Id" description: "Get a DirectoryMember by ID." operationId: "directory_member_get_by_id" security: - APIKeyHeader: [] parameters: - name: "member_id" in: "path" required: true schema: type: "integer" title: "Member Id" - name: "response_format" in: "query" required: false schema: $ref: "#/components/schemas/DirectoryResponseFormat" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." default: "normalized" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DirectoryMember" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.getById({ memberId: 562571, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.get_by_id(member_id=562571) # Handle response print(res) put: tags: - "directory" summary: "Update Directory Member" description: "Update a DirectoryMember." operationId: "directory_member_update" security: - APIKeyHeader: [] parameters: - name: "member_id" in: "path" required: true schema: type: "integer" title: "Member Id" - name: "response_format" in: "query" required: false schema: $ref: "#/components/schemas/DirectoryResponseFormat" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." default: "normalized" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/DirectoryMemberUpdate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DirectoryMember" "400": description: "Bad Request" "404": description: "Not Found" "412": description: "Precondition Failed" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.update({ memberId: 941217, directoryMemberUpdate: { name: "Jane Doe", type: "contact", extensions: [ { name: "work", numbers: [ { number: "+1234567890", rules: [ { "language": "en", }, ], }, ], }, ], contactTags: { "tag1": [ "value1", ], "tag2": [ "value2", ], }, comments: "Updated phone number", id: 1, }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.update(member_id=941217, directory_member_update={ "name": "Jane Doe", "type": "contact", "extensions": [ { "name": "work", "numbers": [ { "number": "+1234567890", "rules": [ { "language": "en", }, ], }, ], }, ], "contact_tags": { "tag1": [ "value1", ], "tag2": [ "value2", ], }, "comments": "Updated phone number", "id": 1, }) # Handle response print(res) delete: tags: - "directory" summary: "Delete Directory Member" description: "Delete a DirectoryMember." operationId: "directory_member_delete" security: - APIKeyHeader: [] parameters: - name: "member_id" in: "path" required: true schema: type: "integer" title: "Member Id" - name: "comment" in: "query" required: true schema: type: "string" description: "Comment stored in version history for this deletion" title: "Comment" description: "Comment stored in version history for this deletion" responses: "200": description: "Successful Response" content: application/json: schema: {} "400": description: "Bad Request" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.delete({ memberId: 569311, comment: "The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.delete(member_id=569311, comment="The Apollotech B340 is an affordable wireless mouse with reliable connectivity, 12 months battery life and modern design") # Handle response print(res) /api/v1/directory_members/{member_id}/test: get: tags: - "directory" summary: "Test Directory Member Extension" description: "Test directory member extension at a specific timestamp and language." operationId: "directory_member_test_extension" security: - APIKeyHeader: [] parameters: - name: "member_id" in: "path" required: true schema: type: "integer" title: "Member Id" - name: "timestamp" in: "query" required: true schema: type: "string" description: "Timestamp for test in ISO 8601 format (e.g., 2025-12-04T14:29:39)" title: "Timestamp" description: "Timestamp for test in ISO 8601 format (e.g., 2025-12-04T14:29:39)" - name: "language_code" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/LanguageCode" - type: "null" description: "Optional language code for test" title: "Language Code" description: "Optional language code for test" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DirectoryMemberTestResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.directoryMemberTestExtension({ memberId: 922412, timestamp: "2024-07-02T14:32:47.235Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.directory_member_test_extension(member_id=922412, timestamp="2024-07-02T14:32:47.235Z") # Handle response print(res) /api/v1/directory_members/{member_id}/restore: put: tags: - "directory" summary: "Restore Directory Member" description: "Restore a soft-deleted directory member." operationId: "directory_member_restore" security: - APIKeyHeader: [] parameters: - name: "member_id" in: "path" required: true schema: type: "integer" title: "Member Id" - name: "response_format" in: "query" required: false schema: $ref: "#/components/schemas/DirectoryResponseFormat" description: "Directory response format for the restored member." default: "normalized" description: "Directory response format for the restored member." requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/DirectoryMemberRestore" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DirectoryMember" "409": description: "Conflict" "404": description: "Not Found" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.directoryMemberRestore({ memberId: 507482, directoryMemberRestore: {}, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.directory_member_restore(member_id=507482, directory_member_restore={}) # Handle response print(res) /api/v1/directory_members/upload/: put: tags: - "directory" summary: "Bulk Load Directory Members" description: "Update Directory Members in chunks of 100." operationId: "directory_member_bulk_load" requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_directory_member_bulk_load" required: true responses: "200": description: "Successful Response" content: application/json: schema: {} "400": description: "Bad Request" "404": description: "Not Found" "412": description: "Precondition Failed" "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { openAsBlob } from "node:fs"; import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.directoryMemberBulkLoad({ file: await openAsBlob("example.file"), }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.directory_member_bulk_load(request={ "file": { "file_name": "example.file", "content": open("example.file", "rb"), }, }) # Handle response print(res) /api/v1/directory_members/download/: get: tags: - "directory" summary: "Download Directory Members" description: "Download the entire directory as a JSON file." operationId: "directory_member_download" security: - APIKeyHeader: [] parameters: - name: "response_format" in: "query" required: false schema: $ref: "#/components/schemas/DirectoryResponseFormat" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." default: "normalized" description: "Directory response format: normalized (default) strips @hours and formats times; raw returns stored @hours values." responses: "200": description: "Directory downloaded successfully" content: application/json: schema: {} "500": description: "Internal Server Error" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.directory.directoryMemberDownload({}); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.directory.directory_member_download() # Handle response print(res) /api/v1/dashboards/list: post: tags: - "dashboards" summary: "Post List Dashboards" description: "METHOD: POST\nURL: /dashboard/list\nARGUMENTS: None\nRETURNS: List of dashboards" operationId: "post_list_dashboard" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/DashboardProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/DashboardProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/DashboardProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_DashboardResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.dashboards.postListDashboard({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.dashboards.post_list_dashboard(page=0, limit=25, search_fields=[ models.DashboardProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) /api/v1/dashboards/fetch_info: post: tags: - "dashboards" summary: "Post Fetch Info" description: "METHOD: POST\nURL: /dashboard/fetch_info\nARGUMENTS: None\nRETURNS: Dashboard info for embedding" operationId: "post_get_dashboard" security: - APIKeyHeader: [] parameters: - name: "dashboard_name" in: "query" required: true schema: type: "string" title: "Dashboard Name" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/DashboardTokenResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.dashboards.postGetDashboard({ dashboardName: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.dashboards.post_get_dashboard(dashboard_name="") # Handle response print(res) /api/v1/dashboards/session_events: post: tags: - "dashboards" summary: "Post Session Events" description: "METHOD: POST\nURL: /dashboard/session_events\nARGUMENTS: None\nRETURNS: Dashboard info for embedding\nDEPRECATED: This endpoint is deprecated. Please use /dashboard/list instead" operationId: "post_session_events_dashboard" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Dashboard" deprecated: true security: - APIKeyHeader: [] /api/v1/dashboards/session_summary: post: tags: - "dashboards" summary: "Post Session Summary" description: "METHOD: POST\nURL: /dashboard/session_summary\nARGUMENTS: None\nRETURNS: Dashboard info for embedding\nDEPRECATED: This endpoint is deprecated. Please use /dashboard/list instead" operationId: "post_session_summary_dashboard" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Dashboard" deprecated: true security: - APIKeyHeader: [] /api/v1/dashboards/session_transfers: post: tags: - "dashboards" summary: "Post Session Transfers" description: "METHOD: POST\nURL: /dashboard/session_transfers\nARGUMENTS: None\nRETURNS: Dashboard info for embedding\nDEPRECATED: This endpoint is deprecated. Please use /dashboard/list instead" operationId: "post_session_transfers_dashboard" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Dashboard" deprecated: true security: - APIKeyHeader: [] /api/v1/dashboards/sessions: post: tags: - "dashboards" summary: "Post Sessions" description: "METHOD: POST\nURL: /dashboard/sessions\nARGUMENTS: None\nRETURNS: Dashboard info for embedding\nDEPRECATED: This endpoint is deprecated. Please use /dashboard/list instead" operationId: "post_sessions_dashboard" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/Dashboard" deprecated: true security: - APIKeyHeader: [] /api/v1/organizations/: get: tags: - "organizations" summary: "Get Current Organization" description: "Fetch the current organization." operationId: "organizations_get" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/OrganizationResponse" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.organizations.organizationsGet(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.organizations.organizations_get() # Handle response print(res) put: tags: - "organizations" summary: "Update Current Organization" description: "Update the current organization." operationId: "organizations_update" requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_organizations_update" required: true responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/OrganizationResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.organizations.update({ displayName: "My Great Org", description: "An organization that does great things with agentic AI", domains: "mygreatorg.com,mygreatorg.org", samlProviderId: "saml.syllablesso", updateComments: "Updated the organization to add a new domain", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.organizations.update(request={ "display_name": "My Great Org", "description": "An organization that does great things with agentic AI", "domains": "mygreatorg.com,mygreatorg.org", "saml_provider_id": "saml.syllablesso", "update_comments": "Updated the organization to add a new domain", }) # Handle response print(res) post: tags: - "organizations" summary: "Create Organization" description: "Create a new organization." operationId: "organizations_create" requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_organizations_create" required: true responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/OrganizationResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { openAsBlob } from "node:fs"; import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.organizations.create({ logo: await openAsBlob("example.file"), displayName: "My Great Org", description: "An organization that does great things with agentic AI", domains: "mygreatorg.com,mygreatorg.org", samlProviderId: "saml.syllablesso", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.organizations.create(request={ "logo": { "file_name": "example.file", "content": open("example.file", "rb"), }, "display_name": "My Great Org", "description": "An organization that does great things with agentic AI", "domains": "mygreatorg.com,mygreatorg.org", "saml_provider_id": "saml.syllablesso", }) # Handle response print(res) delete: tags: - "organizations" summary: "Delete Current Organization" description: "Delete the current organization and all its users." operationId: "organizations_delete" requestBody: content: application/x-www-form-urlencoded: schema: $ref: "#/components/schemas/Body_organizations_delete" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.organizations.delete({ deleteComments: "Deleted the organization because it was no longer needed", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.organizations.delete() # Handle response print(res) /api/v1/outbound/batches: get: tags: - "outbound.batches" summary: "List Outbound Communication Batches" operationId: "outbound_batch_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/BatchProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/BatchProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/BatchProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_CommunicationBatch_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.list({ page: 0, searchFields: [ "last_updated_at", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.list(page=0, limit=25, search_fields=[ models.BatchProperties.LAST_UPDATED_AT, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "outbound.batches" summary: "Create Outbound Communication Batch" operationId: "outbound_batch_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CommunicationBatchInput" responses: "200": description: "Successful Response" content: application/json: schema: anyOf: - $ref: "#/components/schemas/CommunicationBatch" - type: "null" title: "Response Outbound Batch Create" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.create({ batchId: "20260204.9", campaignId: 1, expiresOn: new Date("2026-02-05T00:00:00Z"), paused: true, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK from syllable_sdk.utils import parse_datetime with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.create(request={ "batch_id": "20260204.9", "campaign_id": 1, "expires_on": parse_datetime("2026-02-05T00:00:00Z"), "paused": True, }) # Handle response print(res) /api/v1/outbound/batches/{batch_id}: get: tags: - "outbound.batches" summary: "Get Outbound Communication Batch" operationId: "outbound_batch_get_by_id" security: - APIKeyHeader: [] parameters: - name: "batch_id" in: "path" required: true schema: type: "string" title: "Batch Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/BatchDetails" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.getById({ batchId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.get_by_id(batch_id="") # Handle response print(res) put: tags: - "outbound.batches" summary: "Update Outbound Communication Batch" operationId: "outbound_batch_update" security: - APIKeyHeader: [] parameters: - name: "batch_id" in: "path" required: true schema: type: "string" title: "Batch Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CommunicationBatchUpdate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/CommunicationBatch" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.update({ batchId: "", communicationBatchUpdate: { paused: true, expiresOn: new Date("2027-01-01T06:00:00Z"), }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK from syllable_sdk.utils import parse_datetime with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.update(batch_id="", communication_batch_update={ "paused": True, "expires_on": parse_datetime("2027-01-01T06:00:00Z"), }) # Handle response print(res) delete: tags: - "outbound.batches" summary: "Delete Outbound Communication Batch" operationId: "outbound_batch_delete" security: - APIKeyHeader: [] parameters: - name: "batch_id" in: "path" required: true schema: type: "string" title: "Batch Id" requestBody: required: true content: application/x-www-form-urlencoded: schema: $ref: "#/components/schemas/Body_outbound_batch_delete" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.delete({ batchId: "", bodyOutboundBatchDelete: { deleteReason: "", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.delete(batch_id="", body_outbound_batch_delete={ "delete_reason": "", }) # Handle response print(res) /api/v1/outbound/batches/{batch_id}/upload_batch: post: tags: - "outbound.batches" summary: "Upload Outbound Communication Batch" operationId: "outbound_batch_upload" security: - APIKeyHeader: [] parameters: - name: "batch_id" in: "path" required: true schema: type: "string" title: "Batch Id" requestBody: content: multipart/form-data: schema: $ref: "#/components/schemas/Body_outbound_batch_upload" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.upload({ batchId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.upload(batch_id="") # Handle response print(res) /api/v1/outbound/batches/{batch_id}/results: get: tags: - "outbound.batches" summary: "Fetch Outbound Communication Batch Results" operationId: "outbound_batch_results" security: - APIKeyHeader: [] parameters: - name: "batch_id" in: "path" required: true schema: type: "string" title: "Batch Id" - name: "reference_id" in: "query" required: false schema: anyOf: - type: "string" - type: "null" title: "Reference Id" - name: "status" in: "query" required: false schema: anyOf: - type: "string" - type: "null" title: "Status" - name: "insights_status" in: "query" required: false schema: anyOf: - type: "string" - type: "null" title: "Insights Status" responses: "200": description: "Successful Response" content: application/json: schema: type: "array" items: $ref: "#/components/schemas/CommunicationRequestResult" title: "Response Outbound Batch Results" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.results({ batchId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.results(batch_id="") # Handle response print(res) /api/v1/outbound/batches/{batch_id}/requests: post: tags: - "outbound.batches" summary: "Create Outbound Communication Request" operationId: "outbound_batch_add" security: - APIKeyHeader: [] parameters: - name: "batch_id" in: "path" required: true schema: type: "string" title: "Batch Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/CommunicationRequest" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.add({ batchId: "", communicationRequest: { referenceId: "12345", target: "512-555-1234", requestVariables: { }, }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.add(batch_id="", communication_request={ "reference_id": "12345", "target": "512-555-1234", "request_variables": { }, }) # Handle response print(res) /api/v1/outbound/batches/{batch_id}/remove-requests: post: tags: - "outbound.batches" summary: "Delete Requests By List Of Reference Ids" operationId: "outbound_batch_remove" security: - APIKeyHeader: [] parameters: - name: "batch_id" in: "path" required: true schema: type: "string" title: "Batch Id" requestBody: required: true content: application/json: schema: type: "array" items: type: "string" title: "Reference Ids" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.batches.remove({ batchId: "", requestBody: [ "", "", ], }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.batches.remove(batch_id="", request_body=[ "", "", ]) # Handle response print(res) /api/v1/outbound/campaigns: get: tags: - "outbound.campaigns" summary: "List Outbound Communication Campaigns" operationId: "outbound_campaign_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/CampaignProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/CampaignProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/CampaignProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: anyOf: - $ref: "#/components/schemas/ListResponse_OutboundCampaign_" - type: "null" title: "Response Outbound Campaign List" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.campaigns.list({ page: 0, searchFields: [ "id", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.campaigns.list(page=0, limit=25, search_fields=[ models.CampaignProperties.ID, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "outbound.campaigns" summary: "Create Outbound Communication Campaign" operationId: "outbound_campaign_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/OutboundCampaignInput" responses: "200": description: "Successful Response" content: application/json: schema: anyOf: - $ref: "#/components/schemas/OutboundCampaign" - type: "null" title: "Response Outbound Campaign Create" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.campaigns.create({ campaignName: "Outbound Campaign 1", description: "This is a test campaign", mode: "voice", smsSessionTtl: 720, labels: [ "test", "demo", ], campaignVariables: { "key": "value", "key2": "value2", }, dailyStartTime: "09:00:00", dailyEndTime: "17:00:00", source: "+19032900844", callerId: "19995551234", hourlyRate: 25, maxDailyCalls: 2500, retryCount: 1, retryInterval: "30m", activeDays: [ "mon", "tue", "wed", "thu", "fri", ], voicemailDetection: { "voicemail_detection_overall_timeout": 30, "voicemail_detection_post_speech_timeout": 1.75, "voicemail_detection_pre_speech_timeout": 3.5, }, allowedLineTypes: [ "mobile", "voip", ], webhooks: [ { triggerStatuses: [ "COMPLETED", ], url: "https://example.com/hooks/syllable", requestMethod: "POST", }, ], }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.campaigns.create(request={ "campaign_name": "Outbound Campaign 1", "description": "This is a test campaign", "mode": "voice", "sms_session_ttl": 720, "labels": [ "test", "demo", ], "campaign_variables": { "key": "value", "key2": "value2", }, "daily_start_time": "09:00:00", "daily_end_time": "17:00:00", "source": "+19032900844", "caller_id": "19995551234", "hourly_rate": 25, "max_daily_calls": 2500, "retry_count": 1, "retry_interval": "30m", "active_days": [ models.DaysOfWeek.MON, models.DaysOfWeek.TUE, models.DaysOfWeek.WED, models.DaysOfWeek.THU, models.DaysOfWeek.FRI, ], "voicemail_detection": { "voicemail_detection_overall_timeout": 30, "voicemail_detection_post_speech_timeout": 1.75, "voicemail_detection_pre_speech_timeout": 3.5, }, "allowed_line_types": [ models.LineTypeBucket.MOBILE, models.LineTypeBucket.VOIP, ], "webhooks": [ { "trigger_statuses": [ models.ChannelManagerStatus.COMPLETED, ], "url": "https://example.com/hooks/syllable", "request_method": "POST", }, ], }) # Handle response print(res) /api/v1/outbound/campaigns/{campaign_id}: get: tags: - "outbound.campaigns" summary: "Get Outbound Communication Campaign" operationId: "outbound_campaign_get_by_id" security: - APIKeyHeader: [] parameters: - name: "campaign_id" in: "path" required: true schema: type: "integer" title: "Campaign Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/OutboundCampaign" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.campaigns.getById({ campaignId: 11227, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.campaigns.get_by_id(campaign_id=11227) # Handle response print(res) put: tags: - "outbound.campaigns" summary: "Update Outbound Communication Campaign" operationId: "outbound_campaign_update" security: - APIKeyHeader: [] parameters: - name: "campaign_id" in: "path" required: true schema: type: "integer" title: "Campaign Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/OutboundCampaignInput" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/OutboundCampaign" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.campaigns.update({ campaignId: 679645, outboundCampaignInput: { campaignName: "Outbound Campaign 1", description: "This is a test campaign", mode: "voice", smsSessionTtl: 720, labels: [ "test", "demo", ], campaignVariables: { "key": "value", "key2": "value2", }, dailyStartTime: "09:00:00", dailyEndTime: "17:00:00", source: "+19032900844", callerId: "19995551234", hourlyRate: 25, maxDailyCalls: 2500, retryCount: 1, retryInterval: "30m", activeDays: [ "mon", "tue", "wed", "thu", "fri", ], voicemailDetection: { "voicemail_detection_overall_timeout": 30, "voicemail_detection_post_speech_timeout": 1.75, "voicemail_detection_pre_speech_timeout": 3.5, }, allowedLineTypes: [ "mobile", "voip", ], webhooks: [ { triggerStatuses: [ "COMPLETED", ], url: "https://example.com/hooks/syllable", requestMethod: "POST", }, ], }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.campaigns.update(campaign_id=187717, outbound_campaign_input={ "campaign_name": "Outbound Campaign 1", "description": "This is a test campaign", "mode": "voice", "sms_session_ttl": 720, "labels": [ "test", "demo", ], "campaign_variables": { "key": "value", "key2": "value2", }, "daily_start_time": "09:00:00", "daily_end_time": "17:00:00", "source": "+19032900844", "caller_id": "19995551234", "hourly_rate": 25, "max_daily_calls": 2500, "retry_count": 1, "retry_interval": "30m", "active_days": [ models.DaysOfWeek.MON, models.DaysOfWeek.TUE, models.DaysOfWeek.WED, models.DaysOfWeek.THU, models.DaysOfWeek.FRI, ], "voicemail_detection": { "voicemail_detection_overall_timeout": 30, "voicemail_detection_post_speech_timeout": 1.75, "voicemail_detection_pre_speech_timeout": 3.5, }, "allowed_line_types": [ models.LineTypeBucket.MOBILE, models.LineTypeBucket.VOIP, ], "webhooks": [ { "trigger_statuses": [ models.ChannelManagerStatus.COMPLETED, ], "url": "https://example.com/hooks/syllable", "request_method": "POST", }, ], }) # Handle response print(res) delete: tags: - "outbound.campaigns" summary: "Delete Outbound Communication Campaign" operationId: "outbound_campaign_delete" security: - APIKeyHeader: [] parameters: - name: "campaign_id" in: "path" required: true schema: type: "integer" title: "Campaign Id" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.outbound.campaigns.delete({ campaignId: 439537, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.outbound.campaigns.delete(campaign_id=439537) # Handle response print(res) /api/v1/organizations/sip_ip_ranges/: get: tags: - "organizations.sip_ip_ranges" summary: "List Organization Sip Ip Ranges" description: "List SIP signaling/media IP ranges for the current organization." operationId: "organization_sip_ip_ranges_list" responses: "200": description: "Successful Response" content: application/json: schema: items: $ref: "#/components/schemas/OrganizationSipIpRange" type: "array" title: "Response Organization Sip Ip Ranges List" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.organizations.sipIpRanges.list(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.organizations.sip_ip_ranges.list() # Handle response print(res) post: tags: - "organizations.sip_ip_ranges" summary: "Create Organization Sip Ip Range" description: "Create an unverified SIP signaling/media IP range for the current organization." operationId: "organization_sip_ip_ranges_create" requestBody: content: application/json: schema: $ref: "#/components/schemas/OrganizationSipIpRangeCreate" required: true responses: "201": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/OrganizationSipIpRange" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.organizations.sipIpRanges.create({ type: "media", ipRange: "192.168.1.0/24", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.organizations.sip_ip_ranges.create(request={ "type": models.OrganizationSipIPRangeType.MEDIA, "ip_range": "192.168.1.0/24", }) # Handle response print(res) /api/v1/organizations/sip_ip_ranges/{sip_ip_range_id}: put: tags: - "organizations.sip_ip_ranges" summary: "Update Organization Sip Ip Range" description: "Update a SIP IP range. The verified status is managed by Syllable only." operationId: "organization_sip_ip_ranges_update" security: - APIKeyHeader: [] parameters: - name: "sip_ip_range_id" in: "path" required: true schema: type: "integer" title: "Sip Ip Range Id" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/OrganizationSipIpRangeUpdate" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/OrganizationSipIpRange" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.organizations.sipIpRanges.update({ sipIpRangeId: 165372, organizationSipIpRangeUpdate: { ipRange: "192.168.1.0/24", }, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.organizations.sip_ip_ranges.update(sip_ip_range_id=165372, organization_sip_ip_range_update={ "ip_range": "192.168.1.0/24", }) # Handle response print(res) delete: tags: - "organizations.sip_ip_ranges" summary: "Delete Organization Sip Ip Range" description: "Delete a SIP signaling/media IP range for the current organization." operationId: "organization_sip_ip_ranges_delete" security: - APIKeyHeader: [] parameters: - name: "sip_ip_range_id" in: "path" required: true schema: type: "integer" title: "Sip Ip Range Id" responses: "204": description: "Successful Response" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { await syllableSDK.organizations.sipIpRanges.delete({ sipIpRangeId: 394521, }); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: ss_client.organizations.sip_ip_ranges.delete(sip_ip_range_id=394521) # Use the SDK ... /api/v1/language_groups/: get: tags: - "language_groups" summary: "List Language Groups" description: "Deprecated alias for `GET /api/v1/voice_groups/`." operationId: "language_groups_list" deprecated: true security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/LanguageGroupProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/LanguageGroupProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/LanguageGroupProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_LanguageGroupResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" post: tags: - "language_groups" summary: "Create Language Group" description: "Deprecated alias for `POST /api/v1/voice_groups/`." operationId: "language_groups_create" deprecated: true security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/LanguageGroupCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/LanguageGroupResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" put: tags: - "language_groups" summary: "Update Language Group" description: "Deprecated alias for `PUT /api/v1/voice_groups/`." operationId: "language_groups_update" deprecated: true security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/LanguageGroupUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/LanguageGroupResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" /api/v1/language_groups/{language_group_id}: get: tags: - "language_groups" summary: "Get Language Group" description: "Deprecated alias for `GET /api/v1/voice_groups/{voice_group_id}`." operationId: "language_groups_get_by_id" deprecated: true security: - APIKeyHeader: [] parameters: - name: "language_group_id" in: "path" required: true schema: type: "integer" title: "Language Group Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/LanguageGroupResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" delete: tags: - "language_groups" summary: "Delete Language Group" description: "Deprecated alias for `DELETE /api/v1/voice_groups/{voice_group_id}`." operationId: "language_groups_delete" deprecated: true security: - APIKeyHeader: [] parameters: - name: "language_group_id" in: "path" required: true schema: type: "integer" title: "Language Group Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" /api/v1/language_groups/voices/sample: post: tags: - "language_groups" summary: "Create Voice Sample" description: "Deprecated alias for `POST /api/v1/voice_groups/voices/sample`." operationId: "language_groups_create_voice_sample" requestBody: content: application/json: schema: $ref: "#/components/schemas/LanguageSampleCreateRequest" required: true responses: "200": description: "Successful Response" content: application/octet-stream: schema: type: "string" format: "binary" title: "bytes" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" deprecated: true security: - APIKeyHeader: [] /api/v1/voice_groups/: get: tags: - "voice_groups" summary: "List Voice Groups" description: "Fetch voice groups." operationId: "voice_groups_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/VoiceGroupProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/VoiceGroupProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/VoiceGroupProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_VoiceGroupResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.voiceGroups.list({ page: 0, searchFields: [ "name", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.voice_groups.list(page=0, limit=25, search_fields=[ models.VoiceGroupProperties.NAME, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "voice_groups" summary: "Create Voice Group" description: "Create a new voice group." operationId: "voice_groups_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/VoiceGroupCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/VoiceGroupResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.voiceGroups.create({ name: "Call Center 1 Languages", description: "Languages spoken by operators at Call Center 1", languageConfigs: [ { languageCode: "en-US", voiceProvider: "OpenAI", voiceDisplayName: "Alloy", dtmfCode: 1, }, { languageCode: "es-US", voiceProvider: "Google", voiceDisplayName: "es-US-Neural2-B", dtmfCode: 2, }, ], skipCurrentLanguageInMessage: true, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.voice_groups.create(request={ "name": "Call Center 1 Languages", "description": "Languages spoken by operators at Call Center 1", "language_configs": [ { "language_code": models.LanguageCode.EN_US, "voice_provider": models.TtsProvider.OPEN_AI, "voice_display_name": models.AgentVoiceDisplayName.ALLOY, "dtmf_code": 1, }, { "language_code": models.LanguageCode.ES_US, "voice_provider": models.TtsProvider.GOOGLE, "voice_display_name": models.AgentVoiceDisplayName.ES_US_NEURAL2_B, "dtmf_code": 2, }, ], "skip_current_language_in_message": True, }) # Handle response print(res) put: tags: - "voice_groups" summary: "Update Voice Group" description: "Update an existing voice group" operationId: "voice_groups_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/VoiceGroupUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/VoiceGroupResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.voiceGroups.update({ name: "Call Center 1 Languages", description: "Languages spoken by operators at Call Center 1", languageConfigs: [ { languageCode: "en-US", voiceProvider: "OpenAI", voiceDisplayName: "Alloy", dtmfCode: 1, }, { languageCode: "es-US", voiceProvider: "Google", voiceDisplayName: "es-US-Neural2-B", dtmfCode: 2, }, ], skipCurrentLanguageInMessage: true, id: 1, editComments: "Added Spanish support.", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.voice_groups.update(request={ "name": "Call Center 1 Languages", "description": "Languages spoken by operators at Call Center 1", "language_configs": [ { "language_code": models.LanguageCode.EN_US, "voice_provider": models.TtsProvider.OPEN_AI, "voice_display_name": models.AgentVoiceDisplayName.ALLOY, "dtmf_code": 1, }, { "language_code": models.LanguageCode.ES_US, "voice_provider": models.TtsProvider.GOOGLE, "voice_display_name": models.AgentVoiceDisplayName.ES_US_NEURAL2_B, "dtmf_code": 2, }, ], "skip_current_language_in_message": True, "id": 1, "edit_comments": "Added Spanish support.", }) # Handle response print(res) /api/v1/voice_groups/{voice_group_id}: get: tags: - "voice_groups" summary: "Get Voice Group" description: "Fetch a given voice group." operationId: "voice_groups_get_by_id" security: - APIKeyHeader: [] parameters: - name: "voice_group_id" in: "path" required: true schema: type: "integer" title: "Voice Group Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/VoiceGroupResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.voiceGroups.getById({ voiceGroupId: 431245, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.voice_groups.get_by_id(voice_group_id=431245) # Handle response print(res) delete: tags: - "voice_groups" summary: "Delete Voice Group" description: "Delete a voice group." operationId: "voice_groups_delete" security: - APIKeyHeader: [] parameters: - name: "voice_group_id" in: "path" required: true schema: type: "integer" title: "Voice Group Id" - name: "reason" in: "query" required: true schema: type: "string" title: "Reason" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.voiceGroups.delete({ voiceGroupId: 225046, reason: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.voice_groups.delete(voice_group_id=225046, reason="") # Handle response print(res) /api/v1/voice_groups/voices/sample: post: tags: - "voice_groups" summary: "Create Voice Sample" description: "Generate voice sample." operationId: "voice_groups_create_voice_sample" requestBody: content: application/json: schema: $ref: "#/components/schemas/VoiceSampleCreateRequest" required: true responses: "200": description: "Successful Response" content: application/octet-stream: schema: type: "string" format: "binary" title: "bytes" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.voiceGroups.voiceGroupsCreateVoiceSample({ languageCode: "fa-IR", voiceProvider: "Google", voiceDisplayName: "Vindemiatrix (English)", voiceSpeed: 1, voicePitch: 0, }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.voice_groups.voice_groups_create_voice_sample(request={ "language_code": models.LanguageCode.FA_IR, "voice_provider": models.TtsProvider.GOOGLE, "voice_display_name": models.AgentVoiceDisplayName.VINDEMIATRIX_ENGLISH_, "voice_speed": 1, "voice_pitch": 0, }) # Handle response print(res) /api/v1/takeouts/create: post: tags: - "takeouts" summary: "Create Takeout" operationId: "takeouts_create" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/CreateTakeoutResponse" security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.takeouts.create(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.takeouts.create() # Handle response print(res) /api/v1/takeouts/get/{job_id}: get: tags: - "takeouts" summary: "Get Takeout" operationId: "takeouts_get_by_job_id" security: - APIKeyHeader: [] parameters: - name: "job_id" in: "path" required: true schema: type: "string" title: "Job Id" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/TakeoutStatusResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.takeouts.takeoutsGetByJobId({ jobId: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.takeouts.takeouts_get_by_job_id(job_id="") # Handle response print(res) /api/v1/takeouts/get/{job_id}/file/{file_name}: get: tags: - "takeouts" summary: "Get File" operationId: "takeouts_get_file" security: - APIKeyHeader: [] parameters: - name: "job_id" in: "path" required: true schema: type: "string" title: "Job Id" - name: "file_name" in: "path" required: true schema: type: "string" title: "File Name" responses: "200": description: "File content" content: application/zip: schema: type: "string" title: "bytes" format: "binary" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.takeouts.takeoutsGetFile({ jobId: "", fileName: "example.file", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.takeouts.takeouts_get_file(job_id="", file_name="example.file") # Handle response print(res) /api/v1/users/: get: tags: - "users" - "V1" summary: "List Users" description: "List the existing users." operationId: "users_list" security: - APIKeyHeader: [] parameters: - name: "page" in: "query" required: false schema: anyOf: - type: "integer" minimum: 0 - type: "null" description: "The page number from which to start (0-based)" examples: - 0 default: 0 title: "Page" description: "The page number from which to start (0-based)" - name: "limit" in: "query" required: false schema: type: "integer" minimum: 0 description: "The maximum number of items to return" examples: - 25 default: 25 title: "Limit" description: "The maximum number of items to return" - name: "search_fields" in: "query" required: false schema: type: "array" items: $ref: "#/components/schemas/UserProperties" description: "String names of fields to search. Correspond by index to search field values" examples: - "name" default: [] title: "Search Fields" description: "String names of fields to search. Correspond by index to search field values" - name: "search_field_values" in: "query" required: false schema: type: "array" items: type: "string" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" examples: - "Some Object Name" default: [] title: "Search Field Values" description: "Values of fields to search. Correspond by index to search fields. Unless field name contains \"list\", an individual search field value cannot be a list" - name: "order_by" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/UserProperties" - type: "null" description: "The field whose value should be used to order the results" examples: - "name" title: "Order By" description: "The field whose value should be used to order the results" - name: "order_by_direction" in: "query" required: false schema: anyOf: - $ref: "#/components/schemas/OrderByDirection" - type: "null" description: "The direction in which to order the results" title: "Order By Direction" description: "The direction in which to order the results" - name: "fields" in: "query" required: false schema: anyOf: - type: "array" items: $ref: "#/components/schemas/UserProperties" - type: "null" description: "The fields to include in the response" default: [] title: "Fields" description: "The fields to include in the response" - name: "start_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The start datetime for filtering results" examples: - "2023-01-01T00:00:00Z" title: "Start Datetime" description: "The start datetime for filtering results" - name: "end_datetime" in: "query" required: false schema: anyOf: - type: "string" - type: "null" description: "The end datetime for filtering results" examples: - "2024-01-01T00:00:00Z" title: "End Datetime" description: "The end datetime for filtering results" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/ListResponse_UserResponse_" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.users.list({ page: 0, searchFields: [ "activity_status", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.v1.list({ page: 0, searchFields: [ "activity_status", ], searchFieldValues: [ "Some Object Name", ], startDatetime: "2023-01-01T00:00:00Z", endDatetime: "2024-01-01T00:00:00Z", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.users.list(page=0, limit=25, search_fields=[ models.UserProperties.ROLE_ID, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.v1.list(page=0, limit=25, search_fields=[ models.UserProperties.ROLE_ID, ], search_field_values=[ "Some Object Name", ], start_datetime="2023-01-01T00:00:00Z", end_datetime="2024-01-01T00:00:00Z") # Handle response print(res) post: tags: - "users" - "V1" summary: "Create User" description: "Create a new user." operationId: "users_create" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/UserCreateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/UserResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.users.create({ email: "user@syllable.ai", firstName: "Jane", lastName: "Smith", roleId: 1, loginType: "username_and_password", }); console.log(result); } run(); - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.v1.create({ email: "user@syllable.ai", firstName: "Jane", lastName: "Smith", roleId: 1, loginType: "username_and_password", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.users.create(request={ "email": "user@syllable.ai", "first_name": "Jane", "last_name": "Smith", "role_id": 1, "login_type": models.LoginType.USERNAME_AND_PASSWORD, }) # Handle response print(res) - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK, models with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.v1.create(request={ "email": "user@syllable.ai", "first_name": "Jane", "last_name": "Smith", "role_id": 1, "login_type": models.LoginType.USERNAME_AND_PASSWORD, }) # Handle response print(res) put: tags: - "users" - "V1" summary: "Update User" description: "Update an existing user." operationId: "users_update" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/UserUpdateRequest" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/UserResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.users.update({ email: "user@syllable.ai", firstName: "Jane", lastName: "Smith", roleId: 1, lastUpdatedComments: "Updated to change which role was assigned", }); console.log(result); } run(); - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.v1.update({ email: "user@syllable.ai", firstName: "Jane", lastName: "Smith", roleId: 1, lastUpdatedComments: "Updated to change which role was assigned", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.users.update(request={ "email": "user@syllable.ai", "first_name": "Jane", "last_name": "Smith", "role_id": 1, "last_updated_comments": "Updated to change which role was assigned", }) # Handle response print(res) - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.v1.update(request={ "email": "user@syllable.ai", "first_name": "Jane", "last_name": "Smith", "role_id": 1, "last_updated_comments": "Updated to change which role was assigned", }) # Handle response print(res) delete: tags: - "users" - "V1" summary: "Delete User" description: "Delete a user." operationId: "users_delete" security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/UserDeleteRequest" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.users.delete({ email: "user@syllable.ai", reason: "User left the organization", }); console.log(result); } run(); - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.v1.delete({ email: "user@syllable.ai", reason: "User left the organization", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.users.delete(request={ "email": "user@syllable.ai", "reason": "User left the organization", }) # Handle response print(res) - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.v1.delete(request={ "email": "user@syllable.ai", "reason": "User left the organization", }) # Handle response print(res) /api/v1/users/{user_email}: get: tags: - "users" - "V1" summary: "Get User" description: "Fetch a given user." operationId: "users_get_by_email" security: - APIKeyHeader: [] parameters: - name: "user_email" in: "path" required: true schema: type: "string" title: "User Email" responses: "200": description: "Successful Response" content: application/json: schema: $ref: "#/components/schemas/UserResponse" "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.users.usersGetByEmail({ userEmail: "", }); console.log(result); } run(); - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.v1.usersGetByEmail({ userEmail: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.users.users_get_by_email(user_email="") # Handle response print(res) - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.v1.users_get_by_email(user_email="") # Handle response print(res) /api/v1/users/{user_email}/send_email: post: tags: - "users" - "V1" summary: "Send User Email" description: "Send a welcome email to a user." operationId: "users_send_email" security: - APIKeyHeader: [] parameters: - name: "user_email" in: "path" required: true schema: type: "string" title: "User Email" - name: "skip_auth" in: "query" required: false schema: type: "boolean" default: false title: "Skip Auth" responses: "200": description: "Successful Response" content: application/json: schema: {} "422": description: "Validation Error" content: application/json: schema: $ref: "#/components/schemas/HTTPValidationError" x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.users.usersSendEmail({ userEmail: "", }); console.log(result); } run(); - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.v1.usersSendEmail({ userEmail: "", }); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.users.users_send_email(user_email="", skip_auth=False) # Handle response print(res) - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.v1.users_send_email(user_email="", skip_auth=False) # Handle response print(res) /api/v1/users/delete_account: delete: tags: - "users" - "V1" summary: "Request Removal Of This Account" description: "Request removal of the account of the user calling this endpoint. Intended for removing trial\naccounts." operationId: "users_delete_account" responses: "200": description: "Successful Response" content: application/json: schema: {} security: - APIKeyHeader: [] x-codeSamples: - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.users.usersDeleteAccount(); console.log(result); } run(); - lang: typescript label: Typescript (SDK) source: |- import { SyllableSDK } from "syllable-sdk"; const syllableSDK = new SyllableSDK({ apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "", }); async function run() { const result = await syllableSDK.v1.usersDeleteAccount(); console.log(result); } run(); - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.users.users_delete_account() # Handle response print(res) - lang: python label: Python (SDK) source: |- import os from syllable_sdk import SyllableSDK with SyllableSDK( api_key_header=os.getenv("SYLLABLESDK_API_KEY_HEADER", ""), ) as ss_client: res = ss_client.v1.users_delete_account() # Handle response print(res) components: schemas: A2pMessagingPathCheckRequest: properties: phone: type: "string" title: "Phone" description: "E.164 phone number exactly as Twilio stores it for this incoming number." examples: - "+18042221111" type: "object" required: - "phone" title: "A2pMessagingPathCheckRequest" description: "Body to check US A2P / Messaging Service setup for one number on the Twilio channel." A2pMessagingPathCheckResponse: properties: a2p_approved: type: "boolean" title: "A2P Approved" description: "True when the number is on a Messaging Service with a US A2P registration whose brand is approved and campaign is verified on the same registration." type: "object" required: - "a2p_approved" title: "A2pMessagingPathCheckResponse" description: "Twilio-side A2P setup state for the number.\n\nReflects Twilio configuration (Messaging Service + Brand + Campaign records); it is not\ncarrier per-number REGISTERED state or legal/content compliance." AgentCreate: properties: name: type: "string" title: "Name" description: "The agent name" examples: - "Weather agent" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The agent description" examples: - "Agent for answering questions about weather." label: anyOf: - type: "string" - type: "null" title: "Label" description: "The agent label (DEPRECATED - use labels instead.)" deprecated: true examples: - "Information" labels: anyOf: - items: type: "string" type: "array" - type: "null" title: "Labels" description: "The agent labels" examples: - - "Information" - "Weather" type: type: "string" title: "Type" description: "The agent type. Must be \"ca_v1\" currently." examples: - "ca_v1" prompt_id: type: "integer" title: "Prompt Id" description: "ID of the prompt associated with the agent" examples: - 1 custom_message_id: anyOf: - type: "integer" - type: "null" title: "Custom Message Id" description: "Internal ID of the custom message that should be delivered at the beginning of a conversation with the agent" examples: - 1 language_group_id: anyOf: - type: "integer" - type: "null" title: "Language Group Id" description: "Internal ID of the language group associated with the agent" examples: - 1 timezone: type: "string" title: "Timezone" description: "The time zone in which the agent operates" examples: - "America/New_York" - "America/Chicago" prompt_tool_defaults: items: $ref: "#/components/schemas/AgentToolDefaults" type: "array" title: "Prompt Tool Defaults" description: "Agent-level static parameter values for the agent's tools, overriding any tool-level defaults" examples: - - default_values: - default_value: "fahrenheit" field_name: "temperature_unit" tool_name: "get_weather" languages: items: type: "string" type: "array" title: "Languages" description: "BCP 47 codes of languages the agent supports. (DEPRECATED - pass an empty list here and use language group ID to link agent to a language group instead.)" deprecated: true examples: - - "en-US" - "es-US" variables: additionalProperties: type: "string" type: "object" title: "Variables" description: "Custom context variables for the conversation session. Keys should be prefixed with \"vars.\"." examples: - vars.location_name: "Main Street Pizza" tool_headers: anyOf: - additionalProperties: type: "string" type: "object" - type: "null" title: "Tool Headers" description: "Optional headers to include in tool calls for agent. (It is discouraged to use this field for \"Authorization\" headers, as values here are not encrypted. Instead, set up a service with either basic, bearer, or custom header auth; attach the appropriate tools to that service, and the attached tools will automatically use the auth configured on the service.)" examples: - some-header: "some-value" agent_initiated: type: "boolean" title: "Agent Initiated" description: "Whether the agent initiates conversation with a user after the custom message is delivered" default: false examples: - false stt_provider: anyOf: - $ref: "#/components/schemas/AgentSttProvider" - type: "null" description: "Speech-to-text provider for the agent." examples: - "Google STT V2 (Chirp 2)" - "Deepgram Nova 3 (On-Prem)" - "Deepgram Nova 3" - "Google STT V2" - "Google STT V1" - "Deepgram Nova 2" wait_sound: anyOf: - $ref: "#/components/schemas/AgentWaitSound" - type: "null" description: "Sound to play while waiting for a response from the LLM." examples: - "No Sound" - "Keyboard 1" - "Keyboard 2" - "Call Center" enable_verbal_language_change: type: "boolean" title: "Enable Verbal Language Change" description: "Enables Dynamic Language Switching - when true and a voice group is configured, callers may switch among group languages by speaking at any point in the conversation (in addition to DTMF in response to the language menu)." default: false examples: - false type: "object" required: - "name" - "type" - "prompt_id" - "timezone" - "variables" - "tool_headers" title: "AgentCreate" description: "Request model to create an agent." AgentLanguage: properties: name: type: "string" title: "Name" description: "Name of the language" examples: - "English" code: $ref: "#/components/schemas/LanguageCode" description: "BCP 47 code of the language" examples: - "en-US" type: "object" required: - "name" - "code" title: "AgentLanguage" description: "Language option for an agent." AgentProperties: type: "string" enum: - "id" - "name" - "name_exact" - "description" - "label" - "labels" - "name_description" - "type" - "timezone" - "prompt_id" - "prompt_id_list" - "custom_message_id" - "languages" - "variables" - "prompt_tool_defaults" - "tool_headers" - "updated_at" - "last_updated_by" title: "AgentProperties" description: "Names of agent fields supported for filtering/sorting on list endpoint." AgentResponse: properties: name: type: "string" title: "Name" description: "The agent name" examples: - "Weather agent" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The agent description" examples: - "Agent for answering questions about weather." label: anyOf: - type: "string" - type: "null" title: "Label" description: "The agent label (DEPRECATED - use labels instead.)" deprecated: true examples: - "Information" labels: anyOf: - items: type: "string" type: "array" - type: "null" title: "Labels" description: "The agent labels" examples: - - "Information" - "Weather" type: type: "string" title: "Type" description: "The agent type. Must be \"ca_v1\" currently." examples: - "ca_v1" prompt_id: type: "integer" title: "Prompt Id" description: "ID of the prompt associated with the agent" examples: - 1 custom_message_id: anyOf: - type: "integer" - type: "null" title: "Custom Message Id" description: "Internal ID of the custom message that should be delivered at the beginning of a conversation with the agent" examples: - 1 language_group_id: anyOf: - type: "integer" - type: "null" title: "Language Group Id" description: "Internal ID of the language group associated with the agent" examples: - 1 timezone: type: "string" title: "Timezone" description: "The time zone in which the agent operates" examples: - "America/New_York" - "America/Chicago" prompt_tool_defaults: items: $ref: "#/components/schemas/AgentToolDefaults" type: "array" title: "Prompt Tool Defaults" description: "Agent-level static parameter values for the agent's tools, overriding any tool-level defaults" examples: - - default_values: - default_value: "fahrenheit" field_name: "temperature_unit" tool_name: "get_weather" languages: items: type: "string" type: "array" title: "Languages" description: "BCP 47 codes of languages the agent supports. (DEPRECATED - pass an empty list here and use language group ID to link agent to a language group instead.)" deprecated: true examples: - - "en-US" - "es-US" variables: additionalProperties: type: "string" type: "object" title: "Variables" description: "Custom context variables for the conversation session. Keys should be prefixed with \"vars.\"." examples: - vars.location_name: "Main Street Pizza" tool_headers: anyOf: - additionalProperties: type: "string" type: "object" - type: "null" title: "Tool Headers" description: "Optional headers to include in tool calls for agent. (It is discouraged to use this field for \"Authorization\" headers, as values here are not encrypted. Instead, set up a service with either basic, bearer, or custom header auth; attach the appropriate tools to that service, and the attached tools will automatically use the auth configured on the service.)" examples: - some-header: "some-value" agent_initiated: type: "boolean" title: "Agent Initiated" description: "Whether the agent initiates conversation with a user after the custom_message is delivered" default: false examples: - false stt_provider: anyOf: - type: "string" - type: "null" title: "Stt Provider" description: "Speech-to-text provider for the agent." examples: - "Google STT V2 (Chirp 2)" - "Deepgram Nova 3 (On-Prem)" - "Deepgram Nova 3" - "Google STT V2" - "Google STT V1" - "Deepgram Nova 2" wait_sound: anyOf: - type: "string" - type: "null" title: "Wait Sound" description: "Sound to play while waiting for a response from the LLM." examples: - "No Sound" - "Keyboard 1" - "Keyboard 2" - "Call Center" enable_verbal_language_change: type: "boolean" title: "Enable Verbal Language Change" description: "Enables Dynamic Language Switching - when true and a voice group is configured, callers may switch among group languages by speaking at any point in the conversation (in addition to DTMF in response to the language menu)." default: false examples: - false id: type: "integer" title: "Id" description: "Internal ID of the agent" examples: - 1 updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of most recent update" examples: - "2024-01-01T00:00:00Z" last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "Email of the user who last updated the agent" examples: - "user@email.com" prompt: anyOf: - $ref: "#/components/schemas/PromptResponse" - type: "null" description: "The prompt associated with the agent." examples: [] custom_message: anyOf: - $ref: "#/components/schemas/CustomMessageResponse" - type: "null" description: "The message associated with the agent. Will be delivered as a greeting at the beginning of a conversation." examples: [] channel_targets: anyOf: - items: $ref: "#/components/schemas/ChannelTargetResponse" type: "array" - type: "null" title: "Channel Targets" description: "Channel targets associated with the agent" examples: [] tools: anyOf: - items: $ref: "#/components/schemas/ToolResponse" type: "array" - type: "null" title: "Tools" description: "Tools associated with the agent" examples: [] language_group: anyOf: - $ref: "#/components/schemas/LanguageGroupResponse" - type: "null" description: "The language group associated with the agent" examples: [] type: "object" required: - "name" - "type" - "prompt_id" - "timezone" - "variables" - "tool_headers" - "id" - "updated_at" - "last_updated_by" title: "AgentResponse" description: "Response model for agent operations.\nWhen a user interacts with the Syllable system, they do so by communicating with an agent.\nAn agent is linked to a prompt, a custom message, and one or more channel targets to define its\nbehavior and capabilities. For more information, see\n[Console docs](https://docs.syllable.ai/workspaces/Agents)." AgentSttProvider: type: "string" enum: - "Google STT V2 (Chirp 2)" - "Deepgram Nova 3 (On-Prem)" - "Deepgram Nova 3" - "Google STT V2" - "Google STT V1" - "Deepgram Nova 2" title: "AgentSttProvider" description: "Speech-to-text providers supported by agents." AgentToolDefaults: properties: tool_name: type: "string" title: "Tool Name" description: "The name of the tool" examples: - "get_weather" default_values: items: $ref: "#/components/schemas/AgentToolFieldDefault" type: "array" title: "Default Values" description: "The default values for fields used in the tool" examples: - - default_value: "fahrenheit" field_name: "temperature_unit" type: "object" required: - "tool_name" - "default_values" title: "AgentToolDefaults" description: "Agent-level static parameter values for a tool, overriding any tool-level defaults." AgentToolFieldDefault: properties: field_name: type: "string" title: "Field Name" description: "The name of the field" examples: - "temperature_unit" default_value: title: "Default Value" description: "The default value for the field" examples: - "fahrenheit" type: "object" required: - "field_name" - "default_value" title: "AgentToolFieldDefault" description: "Agent-level value for a static parameter on a tool, overriding the tool-level default if one\nexists." AgentUpdate: properties: name: type: "string" title: "Name" description: "The agent name" examples: - "Weather agent" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The agent description" examples: - "Agent for answering questions about weather." label: anyOf: - type: "string" - type: "null" title: "Label" description: "The agent label (DEPRECATED - use labels instead.)" deprecated: true examples: - "Information" labels: anyOf: - items: type: "string" type: "array" - type: "null" title: "Labels" description: "The agent labels" examples: - - "Information" - "Weather" type: type: "string" title: "Type" description: "The agent type. Must be \"ca_v1\" currently." examples: - "ca_v1" prompt_id: type: "integer" title: "Prompt Id" description: "ID of the prompt associated with the agent" examples: - 1 custom_message_id: anyOf: - type: "integer" - type: "null" title: "Custom Message Id" description: "Internal ID of the custom message that should be delivered at the beginning of a conversation with the agent" examples: - 1 language_group_id: anyOf: - type: "integer" - type: "null" title: "Language Group Id" description: "Internal ID of the language group associated with the agent" examples: - 1 timezone: type: "string" title: "Timezone" description: "The time zone in which the agent operates" examples: - "America/New_York" - "America/Chicago" prompt_tool_defaults: items: $ref: "#/components/schemas/AgentToolDefaults" type: "array" title: "Prompt Tool Defaults" description: "Agent-level static parameter values for the agent's tools, overriding any tool-level defaults" examples: - - default_values: - default_value: "fahrenheit" field_name: "temperature_unit" tool_name: "get_weather" languages: items: type: "string" type: "array" title: "Languages" description: "BCP 47 codes of languages the agent supports. (DEPRECATED - pass an empty list here and use language group ID to link agent to a language group instead.)" deprecated: true examples: - - "en-US" - "es-US" variables: additionalProperties: type: "string" type: "object" title: "Variables" description: "Custom context variables for the conversation session. Keys should be prefixed with \"vars.\"." examples: - vars.location_name: "Main Street Pizza" tool_headers: anyOf: - additionalProperties: type: "string" type: "object" - type: "null" title: "Tool Headers" description: "Optional headers to include in tool calls for agent. (It is discouraged to use this field for \"Authorization\" headers, as values here are not encrypted. Instead, set up a service with either basic, bearer, or custom header auth; attach the appropriate tools to that service, and the attached tools will automatically use the auth configured on the service.)" examples: - some-header: "some-value" agent_initiated: type: "boolean" title: "Agent Initiated" description: "Whether the agent initiates conversation with a user after the custom message is delivered" default: false examples: - false stt_provider: anyOf: - $ref: "#/components/schemas/AgentSttProvider" - type: "null" description: "Speech-to-text provider for the agent." examples: - "Google STT V2 (Chirp 2)" - "Deepgram Nova 3 (On-Prem)" - "Deepgram Nova 3" - "Google STT V2" - "Google STT V1" - "Deepgram Nova 2" wait_sound: anyOf: - $ref: "#/components/schemas/AgentWaitSound" - type: "null" description: "Sound to play while waiting for a response from the LLM." examples: - "No Sound" - "Keyboard 1" - "Keyboard 2" - "Call Center" enable_verbal_language_change: type: "boolean" title: "Enable Verbal Language Change" description: "Enables Dynamic Language Switching - when true and a voice group is configured, callers may switch among group languages by speaking at any point in the conversation (in addition to DTMF in response to the language menu)." default: false examples: - false id: type: "integer" title: "Id" description: "Internal ID of the agent" examples: - 1 type: "object" required: - "name" - "type" - "prompt_id" - "timezone" - "variables" - "tool_headers" - "id" title: "AgentUpdate" description: "Request model to update an existing agent." AgentVoice: properties: provider: $ref: "#/components/schemas/TtsProvider" description: "The provider for the voice" examples: - "OpenAI" display_name: $ref: "#/components/schemas/AgentVoiceDisplayName" description: "The display name of the voice" examples: - "Alloy" var_name: $ref: "#/components/schemas/AgentVoiceVarName" description: "The variable name of the voice (used when processing messages)" deprecated: true examples: - "openai:alloy" gender: $ref: "#/components/schemas/AgentVoiceGender" description: "The gender of the voice" examples: - "male" model: $ref: "#/components/schemas/AgentVoiceModel" description: "The model of the voice" examples: - "tts-1" supported_languages: items: $ref: "#/components/schemas/AgentLanguage" type: "array" title: "Supported Languages" description: "Languages supported by the voice" examples: - code: "en-US" name: "English" deprecated: type: "boolean" title: "Deprecated" description: "Whether the voice is deprecated and should not be used" examples: - false type: "object" required: - "provider" - "display_name" - "var_name" - "gender" - "model" - "supported_languages" - "deprecated" title: "AgentVoice" description: "Voice option for an agent." AgentVoiceDisplayName: type: "string" enum: - "Achernar (English)" - "Achernar (Gujarati)" - "Achernar (Arabic)" - "Achernar (French)" - "Achernar (Japanese)" - "Achernar (Hindi)" - "Achernar (Korean)" - "Achernar (Mandarin)" - "Achernar (Spanish)" - "Achernar (Thai)" - "Achernar (Vietnamese)" - "Alice" - "Alloy" - "Aoede (English)" - "Aoede (Gujarati)" - "Aoede (Arabic)" - "Aoede (French)" - "Aoede (Japanese)" - "Aoede (Hindi)" - "Aoede (Korean)" - "Aoede (Mandarin)" - "Aoede (Russian)" - "Aoede (Spanish)" - "Aoede (Thai)" - "Aoede (Vietnamese)" - "Ash" - "Bill" - "Brian" - "Callirrhoe (English)" - "Callirrhoe (Gujarati)" - "Callirrhoe (Arabic)" - "Callirrhoe (French)" - "Callirrhoe (Japanese)" - "Callirrhoe (Hindi)" - "Callirrhoe (Korean)" - "Callirrhoe (Mandarin)" - "Callirrhoe (Spanish)" - "Callirrhoe (Thai)" - "Callirrhoe (Vietnamese)" - "Callum" - "Charlie" - "Charlotte" - "Charon (English)" - "Charon (Gujarati)" - "Charon (Arabic)" - "Charon (French)" - "Charon (Japanese)" - "Charon (Hindi)" - "Charon (Korean)" - "Charon (Mandarin)" - "Charon (Russian)" - "Charon (Spanish)" - "Charon (Thai)" - "Charon (Vietnamese)" - "Chris" - "cmn-TW-Wavenet-A" - "Coral" - "Daniel" - "Echo" - "en-US-Neural2-D" - "en-US-Neural2-F" - "en-US-Neural2-J" - "en-US-Studio-O" - "Eric" - "es-US-Neural2-A" - "es-US-Neural2-B" - "Fable" - "Fenrir (English)" - "Fenrir (Gujarati)" - "Fenrir (Arabic)" - "Fenrir (French)" - "Fenrir (Japanese)" - "Fenrir (Hindi)" - "Fenrir (Korean)" - "Fenrir (Mandarin)" - "Fenrir (Russian)" - "Fenrir (Spanish)" - "Fenrir (Thai)" - "Fenrir (Vietnamese)" - "George" - "Jessica" - "ko-KR-Neural2-A" - "Kore (English)" - "Kore (Gujarati)" - "Kore (Arabic)" - "Kore (French)" - "Kore (Japanese)" - "Kore (Hindi)" - "Kore (Korean)" - "Kore (Mandarin)" - "Kore (Russian)" - "Kore (Spanish)" - "Kore (Thai)" - "Kore (Vietnamese)" - "Laura" - "Leda (English)" - "Leda (Gujarati)" - "Leda (Arabic)" - "Leda (French)" - "Leda (Japanese)" - "Leda (Hindi)" - "Leda (Korean)" - "Leda (Mandarin)" - "Leda (Russian)" - "Leda (Spanish)" - "Leda (Thai)" - "Leda (Vietnamese)" - "Liam" - "Lily" - "Matilda" - "Nova" - "Onyx" - "Orus (English)" - "Orus (Gujarati)" - "Orus (Arabic)" - "Orus (French)" - "Orus (Japanese)" - "Orus (Hindi)" - "Orus (Korean)" - "Orus (Mandarin)" - "Orus (Russian)" - "Orus (Spanish)" - "Orus (Thai)" - "Orus (Vietnamese)" - "Puck (English)" - "Puck (Gujarati)" - "Puck (Arabic)" - "Puck (French)" - "Puck (Japanese)" - "Puck (Hindi)" - "Puck (Korean)" - "Puck (Mandarin)" - "Puck (Russian)" - "Puck (Spanish)" - "Puck (Thai)" - "Puck (Vietnamese)" - "River" - "Roger" - "Sarah" - "Sage" - "Shimmer" - "Umbriel (English)" - "Umbriel (Gujarati)" - "Umbriel (Arabic)" - "Umbriel (French)" - "Umbriel (Japanese)" - "Umbriel (Hindi)" - "Umbriel (Korean)" - "Umbriel (Mandarin)" - "Umbriel (Spanish)" - "Umbriel (Thai)" - "Umbriel (Vietnamese)" - "Vindemiatrix (English)" - "Vindemiatrix (Gujarati)" - "Vindemiatrix (Arabic)" - "Vindemiatrix (French)" - "Vindemiatrix (Japanese)" - "Vindemiatrix (Hindi)" - "Vindemiatrix (Korean)" - "Vindemiatrix (Mandarin)" - "Vindemiatrix (Spanish)" - "Vindemiatrix (Thai)" - "Vindemiatrix (Vietnamese)" - "vi-VN-Neural2-A" - "Will" - "yue-HK-Standard-C" - "Zephyr (English)" - "Zephyr (Gujarati)" - "Zephyr (Arabic)" - "Zephyr (French)" - "Zephyr (Japanese)" - "Zephyr (Hindi)" - "Zephyr (Korean)" - "Zephyr (Mandarin)" - "Zephyr (Russian)" - "Zephyr (Spanish)" - "Zephyr (Thai)" - "Zephyr (Vietnamese)" title: "AgentVoiceDisplayName" description: "Display names of voices that Syllable supports." AgentVoiceGender: type: "string" enum: - "female" - "male" title: "AgentVoiceGender" description: "Gender for an agent voice." AgentVoiceModel: type: "string" enum: - "Chirp 3 HD" - "eleven_flash_v2_5" - "Neural2" - "Standard" - "Studio" - "WaveNet" - "tts-1" - "gpt-4o-mini-tts" title: "AgentVoiceModel" description: "Model for an agent voice." AgentVoiceVarName: type: "string" enum: - "openai:alloy" - "openai:ash" - "openai:coral" - "openai:echo" - "openai:fable" - "openai:nova" - "openai:onyx" - "openai:sage" - "openai:shimmer" - "elevenlabs:Alice" - "elevenlabs:Bill" - "elevenlabs:Brian" - "elevenlabs:Callum" - "elevenlabs:Charlie" - "elevenlabs:Charlotte" - "elevenlabs:Chris" - "elevenlabs:Daniel" - "elevenlabs:Eric" - "elevenlabs:George" - "elevenlabs:Jessica" - "elevenlabs:Laura" - "elevenlabs:Liam" - "elevenlabs:Lily" - "elevenlabs:Matilda" - "elevenlabs:River" - "elevenlabs:Roger" - "elevenlabs:Sarah" - "elevenlabs:Will" - "wavenet:female/en-US-Chirp3-HD-Achernar" - "wavenet:female/gu-IN-Chirp3-HD-Achernar" - "wavenet:female/ar-XA-Chirp3-HD-Achernar" - "wavenet:female/fr-FR-Chirp3-HD-Achernar" - "wavenet:female/ja-JP-Chirp3-HD-Achernar" - "wavenet:female/hi-IN-Chirp3-HD-Achernar" - "wavenet:female/ko-KR-Chirp3-HD-Achernar" - "wavenet:female/cmn-CN-Chirp3-HD-Achernar" - "wavenet:female/es-US-Chirp3-HD-Achernar" - "wavenet:female/th-TH-Chirp3-HD-Achernar" - "wavenet:female/vi-VN-Chirp3-HD-Achernar" - "wavenet:female/en-US-Chirp3-HD-Aoede" - "wavenet:female/gu-IN-Chirp3-HD-Aoede" - "wavenet:female/ar-XA-Chirp3-HD-Aoede" - "wavenet:female/fr-FR-Chirp3-HD-Aoede" - "wavenet:female/ja-JP-Chirp3-HD-Aoede" - "wavenet:female/hi-IN-Chirp3-HD-Aoede" - "wavenet:female/ko-KR-Chirp3-HD-Aoede" - "wavenet:female/cmn-CN-Chirp3-HD-Aoede" - "wavenet:female/ru-RU-Chirp3-HD-Aoede" - "wavenet:female/es-US-Chirp3-HD-Aoede" - "wavenet:female/th-TH-Chirp3-HD-Aoede" - "wavenet:female/vi-VN-Chirp3-HD-Aoede" - "wavenet:male/es-US-Neural2-B" - "wavenet:female/en-US-Chirp3-HD-Callirrhoe" - "wavenet:female/gu-IN-Chirp3-HD-Callirrhoe" - "wavenet:female/ar-XA-Chirp3-HD-Callirrhoe" - "wavenet:female/fr-FR-Chirp3-HD-Callirrhoe" - "wavenet:female/ja-JP-Chirp3-HD-Callirrhoe" - "wavenet:female/hi-IN-Chirp3-HD-Callirrhoe" - "wavenet:female/ko-KR-Chirp3-HD-Callirrhoe" - "wavenet:female/cmn-CN-Chirp3-HD-Callirrhoe" - "wavenet:female/es-US-Chirp3-HD-Callirrhoe" - "wavenet:female/th-TH-Chirp3-HD-Callirrhoe" - "wavenet:female/vi-VN-Chirp3-HD-Callirrhoe" - "wavenet:male/en-US-Chirp3-HD-Charon" - "wavenet:male/gu-IN-Chirp3-HD-Charon" - "wavenet:male/ar-XA-Chirp3-HD-Charon" - "wavenet:male/fr-FR-Chirp3-HD-Charon" - "wavenet:male/ja-JP-Chirp3-HD-Charon" - "wavenet:male/hi-IN-Chirp3-HD-Charon" - "wavenet:male/ko-KR-Chirp3-HD-Charon" - "wavenet:male/cmn-CN-Chirp3-HD-Charon" - "wavenet:male/ru-RU-Chirp3-HD-Charon" - "wavenet:male/es-US-Chirp3-HD-Charon" - "wavenet:male/th-TH-Chirp3-HD-Charon" - "wavenet:male/vi-VN-Chirp3-HD-Charon" - "wavenet:female/en-US-Neural2-F" - "wavenet:male/en-US-Chirp3-HD-Fenrir" - "wavenet:male/gu-IN-Chirp3-HD-Fenrir" - "wavenet:male/ar-XA-Chirp3-HD-Fenrir" - "wavenet:male/fr-FR-Chirp3-HD-Fenrir" - "wavenet:male/ja-JP-Chirp3-HD-Fenrir" - "wavenet:male/hi-IN-Chirp3-HD-Fenrir" - "wavenet:male/ko-KR-Chirp3-HD-Fenrir" - "wavenet:male/cmn-CN-Chirp3-HD-Fenrir" - "wavenet:male/ru-RU-Chirp3-HD-Fenrir" - "wavenet:male/es-US-Chirp3-HD-Fenrir" - "wavenet:male/th-TH-Chirp3-HD-Fenrir" - "wavenet:male/vi-VN-Chirp3-HD-Fenrir" - "wavenet:female/es-US-Neural2-A" - "wavenet:male/en-US-Neural2-D" - "wavenet:female/en-US-Chirp3-HD-Kore" - "wavenet:female/gu-IN-Chirp3-HD-Kore" - "wavenet:female/ar-XA-Chirp3-HD-Kore" - "wavenet:female/fr-FR-Chirp3-HD-Kore" - "wavenet:female/ja-JP-Chirp3-HD-Kore" - "wavenet:female/hi-IN-Chirp3-HD-Kore" - "wavenet:female/ko-KR-Chirp3-HD-Kore" - "wavenet:female/cmn-CN-Chirp3-HD-Kore" - "wavenet:female/ru-RU-Chirp3-HD-Kore" - "wavenet:female/es-US-Chirp3-HD-Kore" - "wavenet:female/th-TH-Chirp3-HD-Kore" - "wavenet:female/vi-VN-Chirp3-HD-Kore" - "wavenet:female/en-US-Chirp3-HD-Leda" - "wavenet:female/gu-IN-Chirp3-HD-Leda" - "wavenet:female/ar-XA-Chirp3-HD-Leda" - "wavenet:female/fr-FR-Chirp3-HD-Leda" - "wavenet:female/ja-JP-Chirp3-HD-Leda" - "wavenet:female/hi-IN-Chirp3-HD-Leda" - "wavenet:female/ko-KR-Chirp3-HD-Leda" - "wavenet:female/cmn-CN-Chirp3-HD-Leda" - "wavenet:female/ru-RU-Chirp3-HD-Leda" - "wavenet:female/es-US-Chirp3-HD-Leda" - "wavenet:female/th-TH-Chirp3-HD-Leda" - "wavenet:female/vi-VN-Chirp3-HD-Leda" - "wavenet:female/cmn-TW-Wavenet-A" - "wavenet:male/en-US-Neural2-J" - "wavenet:female/yue-HK-Standard-C" - "wavenet:female/en-US-Studio-O" - "wavenet:male/en-US-Chirp3-HD-Orus" - "wavenet:male/gu-IN-Chirp3-HD-Orus" - "wavenet:male/ar-XA-Chirp3-HD-Orus" - "wavenet:male/fr-FR-Chirp3-HD-Orus" - "wavenet:male/ja-JP-Chirp3-HD-Orus" - "wavenet:male/hi-IN-Chirp3-HD-Orus" - "wavenet:male/ko-KR-Chirp3-HD-Orus" - "wavenet:male/cmn-CN-Chirp3-HD-Orus" - "wavenet:male/ru-RU-Chirp3-HD-Orus" - "wavenet:male/es-US-Chirp3-HD-Orus" - "wavenet:male/th-TH-Chirp3-HD-Orus" - "wavenet:male/vi-VN-Chirp3-HD-Orus" - "wavenet:male/en-US-Chirp3-HD-Puck" - "wavenet:male/gu-IN-Chirp3-HD-Puck" - "wavenet:male/ar-XA-Chirp3-HD-Puck" - "wavenet:male/fr-FR-Chirp3-HD-Puck" - "wavenet:male/ja-JP-Chirp3-HD-Puck" - "wavenet:male/hi-IN-Chirp3-HD-Puck" - "wavenet:male/ko-KR-Chirp3-HD-Puck" - "wavenet:male/cmn-CN-Chirp3-HD-Puck" - "wavenet:male/ru-RU-Chirp3-HD-Puck" - "wavenet:male/es-US-Chirp3-HD-Puck" - "wavenet:male/th-TH-Chirp3-HD-Puck" - "wavenet:male/vi-VN-Chirp3-HD-Puck" - "wavenet:female/ko-KR-Neural2-A" - "wavenet:female/vi-VN-Neural2-A" - "wavenet:male/en-US-Chirp3-HD-Umbriel" - "wavenet:male/gu-IN-Chirp3-HD-Umbriel" - "wavenet:male/ar-XA-Chirp3-HD-Umbriel" - "wavenet:male/fr-FR-Chirp3-HD-Umbriel" - "wavenet:male/ja-JP-Chirp3-HD-Umbriel" - "wavenet:male/hi-IN-Chirp3-HD-Umbriel" - "wavenet:male/ko-KR-Chirp3-HD-Umbriel" - "wavenet:male/cmn-CN-Chirp3-HD-Umbriel" - "wavenet:male/es-US-Chirp3-HD-Umbriel" - "wavenet:male/th-TH-Chirp3-HD-Umbriel" - "wavenet:male/vi-VN-Chirp3-HD-Umbriel" - "wavenet:female/en-US-Chirp3-HD-Vindemiatrix" - "wavenet:female/gu-IN-Chirp3-HD-Vindemiatrix" - "wavenet:female/ar-XA-Chirp3-HD-Vindemiatrix" - "wavenet:female/fr-FR-Chirp3-HD-Vindemiatrix" - "wavenet:female/ja-JP-Chirp3-HD-Vindemiatrix" - "wavenet:female/hi-IN-Chirp3-HD-Vindemiatrix" - "wavenet:female/ko-KR-Chirp3-HD-Vindemiatrix" - "wavenet:female/cmn-CN-Chirp3-HD-Vindemiatrix" - "wavenet:female/es-US-Chirp3-HD-Vindemiatrix" - "wavenet:female/th-TH-Chirp3-HD-Vindemiatrix" - "wavenet:female/vi-VN-Chirp3-HD-Vindemiatrix" - "wavenet:female/en-US-Chirp3-HD-Zephyr" - "wavenet:female/gu-IN-Chirp3-HD-Zephyr" - "wavenet:female/ar-XA-Chirp3-HD-Zephyr" - "wavenet:female/fr-FR-Chirp3-HD-Zephyr" - "wavenet:female/ja-JP-Chirp3-HD-Zephyr" - "wavenet:female/hi-IN-Chirp3-HD-Zephyr" - "wavenet:female/ko-KR-Chirp3-HD-Zephyr" - "wavenet:female/cmn-CN-Chirp3-HD-Zephyr" - "wavenet:female/ru-RU-Chirp3-HD-Zephyr" - "wavenet:female/es-US-Chirp3-HD-Zephyr" - "wavenet:female/th-TH-Chirp3-HD-Zephyr" - "wavenet:female/vi-VN-Chirp3-HD-Zephyr" title: "AgentVoiceVarName" description: "The variable name of an agent voice (used when processing messages)." AgentWaitSound: type: "string" enum: - "No Sound" - "Keyboard 1" - "Keyboard 2" - "Call Center" title: "AgentWaitSound" description: "Wait sounds supported by agents." AvailableTarget: properties: organization_id: type: "integer" title: "Organization Id" description: "Internal ID of the org with which the target is associated." examples: - 1 channel_id: type: "integer" title: "Channel Id" description: "Internal ID of the channel with which the target is associated." examples: - 1 channel_name: anyOf: - type: "string" - type: "null" title: "Channel Name" description: "Name of the channel with which the target is associated." examples: - "Twilio" target: type: "string" title: "Target" description: "Org-level target." examples: - "+19995551234" type: "object" required: - "organization_id" - "channel_id" - "channel_name" - "target" title: "AvailableTarget" description: "An available organization-level channel target (i.e., one for which a channel target has not\nbeen created in the current suborg)." AvailableTargetProperties: type: "string" enum: - "channel_id" - "channel_name" - "target" title: "AvailableTargetProperties" description: "Names of target fields supported for filtering/sorting on available targets list endpoint." BatchDetails: properties: batch_id: type: "string" title: "Batch Id" description: "Unique ID for conversation batch" examples: - "20260611.9" campaign_id: type: "integer" title: "Campaign Id" description: "Unique ID for campaign" examples: - 1 expires_on: anyOf: - type: "string" format: "date-time" - type: "null" title: "Expires On" description: "Timestamp of batch expiration" examples: - "2026-06-12T00:00:00Z" paused: anyOf: - type: "boolean" - type: "null" title: "Paused" description: "Whether the batch is on HOLD. When on HOLD, no outreach will be made." examples: - true - false status: $ref: "#/components/schemas/BatchStatus" description: "Status of batch" default: "PENDING" examples: - "PENDING" - "ACTIVE" - "PAUSED" - "FAILED" - "CANCELED" - "EXPIRED" upload_filename: anyOf: - type: "string" - type: "null" title: "Upload Filename" description: "Name of file used to create batch" examples: - "LATE_PAYMENTS_20250401.csv" dispatch_id: anyOf: - type: "string" - type: "null" title: "Dispatch Id" description: "A unique identifier for dipatched job" examples: - "5ac42327fbd7e03b441650b79ae91ae1" created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp of batch creation" examples: - "2026-06-11T00:00:00Z" deleted_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Deleted At" description: "Timestamp of batch deletion" examples: - "2026-06-11T00:00:00Z" deleted_reason: anyOf: - type: "string" - type: "null" title: "Deleted Reason" description: "Reason for batch deletion" examples: - "User request" last_updated_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Last Updated At" description: "Timestamp of last change to batch" examples: - "2026-06-11T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of user who last updated campaign" examples: - "user@email.com" error_message: anyOf: - type: "string" - type: "null" title: "Error Message" description: "Error message if batch upload failed" examples: - "Invalid file format" - "Missing required fields" status_counts: anyOf: - additionalProperties: type: "integer" type: "object" - type: "null" title: "Status Counts" description: "Counts of requests by status" examples: - CANCELED: 7 CONNECTED: 100 DUPLICATE: 5 FAILED: 10 INITIATED: 20 PENDING: 10 detailed_status_counts: anyOf: - additionalProperties: $ref: "#/components/schemas/RequestStatusBreakdown" type: "object" - type: "null" title: "Detailed Status Counts" description: "Per request_status: total count and optional counts by channel_manager_status" examples: - CONNECTED: counts: COMPLETED: 95 NO-ANSWER: 5 total_count: 100 PENDING: counts: PENDING: 8 SENT: 2 total_count: 10 QUEUED: total_count: 200 type: "object" required: - "batch_id" - "campaign_id" - "last_updated_by" title: "BatchDetails" BatchProperties: type: "string" enum: - "batch_id" - "campaign_id" - "status" - "expires_on" - "last_updated_at" title: "BatchProperties" BatchStatus: type: "string" enum: - "PENDING" - "ACTIVE" - "PAUSED" - "FAILED" - "CANCELED" - "EXPIRED" title: "BatchStatus" description: "Status of a communication batch." Body_directory_member_bulk_load: properties: file: type: "string" format: "binary" title: "File" type: "object" required: - "file" title: "Body_directory_member_bulk_load" Body_insights_folder_upload_file: properties: file: type: "string" format: "binary" title: "File" type: "object" title: "Body_insights_folder_upload_file" Body_organizations_create: properties: logo: type: "string" format: "binary" title: "Logo" description: "The organization logo image file to upload. Must be a PNG file and 120x120 pixels." display_name: type: "string" title: "Display Name" description: "The human-readable display name of the organization" examples: - "My Great Org" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the organization" examples: - "An organization that does great things with agentic AI" domains: anyOf: - type: "string" - type: "null" title: "Domains" description: "Comma-delimited list of domains that users at the organization may have in their email addresses" examples: - "mygreatorg.com,mygreatorg.org" saml_provider_id: anyOf: - type: "string" - type: "null" title: "Saml Provider Id" description: "SAML provider ID for user authentication" examples: - "saml.syllablesso" type: "object" required: - "logo" - "display_name" title: "Body_organizations_create" Body_organizations_delete: properties: delete_comments: anyOf: - type: "string" - type: "null" title: "Delete Comments" description: "Comments explaining the deletion" examples: - "Deleted the organization because it was no longer needed" type: "object" title: "Body_organizations_delete" Body_organizations_update: properties: logo: anyOf: - type: "string" format: "binary" - type: "null" title: "Logo" description: "The organization logo image file to upload. Must be a PNG file and 120x120 pixels. If not provided, the logo will not be updated." display_name: type: "string" title: "Display Name" description: "The human-readable display name of the organization" examples: - "My Great Org" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the organization" examples: - "An organization that does great things with agentic AI" domains: anyOf: - type: "string" - type: "null" title: "Domains" description: "Comma-delimited list of domains that users at the organization may have in their email addresses" examples: - "mygreatorg.com,mygreatorg.org" saml_provider_id: anyOf: - type: "string" - type: "null" title: "Saml Provider Id" description: "SAML provider ID for user authentication" examples: - "saml.syllablesso" update_comments: anyOf: - type: "string" - type: "null" title: "Update Comments" description: "Comments about the update" examples: - "Updated the organization to add a new domain" type: "object" required: - "display_name" title: "Body_organizations_update" Body_outbound_batch_delete: properties: delete_reason: type: "string" title: "Delete Reason" type: "object" required: - "delete_reason" title: "Body_outbound_batch_delete" Body_outbound_batch_upload: properties: file: type: "string" format: "binary" title: "File" type: "object" title: "Body_outbound_batch_upload" 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" BridgePhraseMessages: properties: messages: items: type: "string" type: "array" title: "Messages" description: "Unified ordered bridge phrases. If empty, legacy fields are used." randomize_messages: type: "boolean" title: "Randomize Messages" description: "When true, unified messages are played in randomized no-repeat cycles. Ignored when unified messages are disabled." default: false first_slow_messages: items: type: "string" type: "array" title: "First Slow Messages" description: "Messages to say when the agent is first delayed." very_slow_messages: items: type: "string" type: "array" title: "Very Slow Messages" description: "Messages to say when the agent is significantly delayed." tool_responses: items: type: "string" type: "array" title: "Tool Responses" description: "Messages to say when a tool call is in progress." type: "object" title: "BridgePhraseMessages" description: "Bridge phrase message lists for a single language." BridgePhrasesConfig: properties: messages: items: type: "string" type: "array" title: "Messages" description: "Unified ordered bridge phrases. If empty, legacy fields are used." randomize_messages: type: "boolean" title: "Randomize Messages" description: "When true, unified messages are played in randomized no-repeat cycles. Ignored when unified messages are disabled." default: false first_slow_messages: items: type: "string" type: "array" title: "First Slow Messages" description: "Messages to say when the agent is first delayed." very_slow_messages: items: type: "string" type: "array" title: "Very Slow Messages" description: "Messages to say when the agent is significantly delayed." tool_responses: items: type: "string" type: "array" title: "Tool Responses" description: "Messages to say when a tool call is in progress." localized: additionalProperties: $ref: "#/components/schemas/BridgePhraseMessages" type: "object" title: "Localized" description: "Per-language overrides keyed by BCP-47 tag (e.g. \"es-US\")." smart_turn_timeout_seconds: anyOf: - type: "number" maximum: 30 minimum: 0.25 - type: "null" title: "Smart Turn Timeout Seconds" description: "Seconds of caller silence before injecting the first bridge phrase. Subsequent sleep intervals are 2x, 3x, 4x this base. When unset, the service-wide default applies." type: "object" title: "BridgePhrasesConfig" description: "Configuration for conversational bridge phrases.\n\nTop-level fields are the default (English) phrases.\nThe `localized` dict provides per-language overrides keyed by BCP-47 language tag." CallAction: properties: if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" action: type: "string" const: "call" title: "Action" default: "call" name: type: "string" title: "Name" description: "The name of the tool to call." arguments: anyOf: - additionalProperties: $ref: "#/components/schemas/JsonValue" type: "object" - type: "null" title: "Arguments" description: "Optional arguments to pass to the tool (supports template strings)" type: "object" required: - "name" title: "CallAction" CampaignProperties: type: "string" enum: - "id" - "campaign_name" - "campaign_variables" - "daily_start_time" - "daily_end_time" - "source" - "mode" - "caller_id" - "updated_at" - "label" - "labels" - "voicemail_detection" title: "CampaignProperties" CaseExpression: properties: case: items: $ref: "#/components/schemas/ConditionalValue" type: "array" title: "Case" description: "Ordered conditional branches (reserved for future runtime support)." type: "object" required: - "case" title: "CaseExpression" description: "Conditional branch expression.\n\nNote: CaseExpression is currently reserved and not yet executed at runtime." CelExpression: properties: expression: type: "string" title: "Expression" description: "CEL expression string." examples: - "inputs.can_sign_consent == true" type: type: "string" const: "cel" title: "Type" description: "CEL expression language selector. Use with object form {\"type\":\"cel\",\"expression\":\"...\"}." default: "cel" type: "object" required: - "expression" title: "CelExpression" description: "Google CEL expression object.\n\nUse this object form when you want CEL syntax:\n{\"type\": \"cel\", \"expression\": \"inputs.count + 1\"}\nSee https://github.com/google/cel-spec/blob/master/doc/langdef.md" Channel: properties: name: type: "string" title: "Name" description: "The channel name" examples: - "syllable-webchat" channel_service: $ref: "#/components/schemas/ChannelServices" description: "The service that facilitates communication on the channel" examples: - "webchat" supported_modes: anyOf: - type: "string" - type: "null" title: "Supported Modes" description: "The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it." examples: - "chat,voice" is_system_channel: type: "boolean" title: "Is System Channel" description: "Whether the channel is a built-in system channel (i.e., is not customizable)" default: true examples: - false id: type: "integer" title: "Id" description: "The channel ID" config: anyOf: - $ref: "#/components/schemas/ChannelConfigView" - type: "null" description: "Configuration for the channel" examples: - telephony: interruptibility: "dtmf_only" overall_input_timeout: 20.0 passive_input_start: 0.5 passive_speech_input_enabled: true pre_input_timeout: 1.2 type: "object" required: - "name" - "channel_service" - "id" title: "Channel" ChannelConfigView: properties: telephony: anyOf: - $ref: "#/components/schemas/TelephonyConfigurations" - type: "null" description: "Telephony configurations to be applied to targets belonging to the channel. Only applies to voice supported channels." examples: - interruptibility: "dtmf_only" overall_input_timeout: 20.0 passive_input_start: 0.5 passive_speech_input_enabled: true pre_input_timeout: 1.2 email: anyOf: - $ref: "#/components/schemas/EmailConfigurations" - type: "null" description: "Email configurations for email channels. Only applies to email channels." examples: - sending_domain: "mail.example.com" credentials: anyOf: - additionalProperties: type: "string" type: "object" - type: "null" title: "Credentials" description: "Exposed credentials for the channel - currently just account_sid_last_four for Twilio channels" examples: - account_sid_last_four: "1234" type: "object" title: "ChannelConfigView" ChannelManagerStatus: type: "string" enum: - "PENDING" - "DUPLICATE" - "INVALID" - "FAILED" - "FILTERED_LINE_TYPE" - "PROCESSED" - "DROPPED" - "DEFERRED" - "BOUNCED" - "DELIVERED" - "OPENED" - "CLICKED" - "SPAM_REPORT" - "UNSUBSCRIBED" - "PRIOR_UNSUBSCRIBED" - "PRIOR_SPAM_REPORT" - "PRIOR_DROPPED" - "PRIOR_BOUNCED" - "SENT" - "ACCEPTED" - "QUEUED" - "SENDING" - "UNDELIVERED" - "DELIVERY_UNKNOWN" - "DELIVERY_FAILED" - "IN-PROGRESS" - "BUSY" - "CANCELED" - "COMPLETED" - "NO-ANSWER" - "MACHINE" - "HUMAN" - "UNKNOWN" title: "ChannelManagerStatus" description: "Status of an outbound communication request (voice, SMS, or email)." ChannelProperties: type: "string" enum: - "id" - "name" - "name_exact" - "channel_service" - "supported_modes" - "config" title: "ChannelProperties" description: "Names of channel fields supported for filtering/sorting on list endpoint." ChannelServices: type: "string" enum: - "sip" - "twilio" - "email" - "webchat" - "africastalking" - "whatsapp" title: "ChannelServices" description: "The communication service for a channel." ChannelTargetCreateRequest: properties: agent_id: type: "integer" title: "Agent Id" description: "The internal ID of the agent associated with the channel target" examples: - 1 channel_id: type: "integer" title: "Channel Id" description: "The internal ID of the channel associated with the channel target" examples: - 1 target: type: "string" title: "Target" description: "The name of the channel target. Must correspond to an organization-level target (available targets can be fetched from `/channels/available-targets`)." examples: - "+19995551234" target_mode: $ref: "#/components/schemas/TargetModes" description: "The mode of the channel target (must match one of the supported modes of the associated channel)" examples: - "voice" fallback_target: anyOf: - type: "string" - type: "null" title: "Fallback Target" description: "The fallback for the channel target (currently only supported for \"voice\" mode)" examples: - "+19995551235" is_test: type: "boolean" title: "Is Test" description: "Whether the channel target is intended for testing. If true, any sessions created through this target will be labeled as a test session (i.e., will not be included in dashboard data and can easily be filtered out in the Sessions screen in the SyllableConsole)." default: false examples: - true type: "object" required: - "agent_id" - "channel_id" - "target" - "target_mode" title: "ChannelTargetCreateRequest" description: "Request model to create a channel target." ChannelTargetOrderProperties: type: "string" enum: - "id" - "channel_id" - "channel_name" - "agent_id" - "target" - "target_mode" - "fallback_target" - "is_test" - "updated_at" - "a2p_verified" title: "ChannelTargetOrderProperties" description: "Subset of [[ChannelTargetProperties]] that is valid as ``order_by``. Filter-only fields are\nexcluded so the generated OpenAPI client does not surface them as sortable." ChannelTargetProperties: type: "string" enum: - "id" - "channel_id" - "channel_name" - "agent_id" - "target" - "target_mode" - "target_mode_list" - "fallback_target" - "is_test" - "updated_at" - "a2p_verified" title: "ChannelTargetProperties" description: "Names of channel target fields supported for filtering on the full channel targets list\nendpoint. Superset of [[ChannelTargetOrderProperties]] — includes filter-only fields like\n``target_mode_list`` that are not valid as ``order_by``." ChannelTargetResponse: properties: agent_id: type: "integer" title: "Agent Id" description: "The internal ID of the agent associated with the channel target" examples: - 1 channel_id: type: "integer" title: "Channel Id" description: "The internal ID of the channel associated with the channel target" examples: - 1 target: type: "string" title: "Target" description: "The name of the channel target. Must correspond to an organization-level target (available targets can be fetched from `/channels/available-targets`)." examples: - "+19995551234" target_mode: $ref: "#/components/schemas/TargetModes" description: "The mode of the channel target (must match one of the supported modes of the associated channel)" examples: - "voice" fallback_target: anyOf: - type: "string" - type: "null" title: "Fallback Target" description: "The fallback for the channel target (currently only supported for \"voice\" mode)" examples: - "+19995551235" is_test: type: "boolean" title: "Is Test" description: "Whether the channel target is intended for testing. If true, any sessions created through this target will be labeled as a test session (i.e., will not be included in dashboard data and can easily be filtered out in the Sessions screen in the SyllableConsole)." default: false examples: - true id: type: "integer" title: "Id" description: "The internal ID of the channel target" examples: - 1 channel_name: type: "string" title: "Channel Name" description: "The name of the channel associated with the channel target" examples: - "+19995551234" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of the most recent update to the channel target" examples: - "2024-01-01T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of the user who last updated the channel target" examples: - "user@email.com" agent: anyOf: - $ref: "#/components/schemas/AgentResponse" - type: "null" description: "Definition of the agent with which the channel target is associated." examples: [] a2p_verified: anyOf: - type: "boolean" - type: "null" title: "A2P Verified" description: "Twilio US A2P messaging-path configuration snapshot from the last explicit verify; null if never checked." type: "object" required: - "agent_id" - "channel_id" - "target" - "target_mode" - "id" - "channel_name" - "updated_at" - "last_updated_by" title: "ChannelTargetResponse" description: "Response model for channel target operations.\nA channel target links a channel to an agent, allowing users to communicate with the agent\nthrough that channel. For more information, see\n[Console docs](https://docs.syllable.ai/Resources/Channels)." ChannelTargetUpdateRequest: properties: agent_id: type: "integer" title: "Agent Id" description: "The internal ID of the agent associated with the channel target" examples: - 1 channel_id: type: "integer" title: "Channel Id" description: "The internal ID of the channel associated with the channel target" examples: - 1 target: type: "string" title: "Target" description: "The name of the channel target. Must correspond to an organization-level target (available targets can be fetched from `/channels/available-targets`)." examples: - "+19995551234" target_mode: $ref: "#/components/schemas/TargetModes" description: "The mode of the channel target (must match one of the supported modes of the associated channel)" examples: - "voice" fallback_target: anyOf: - type: "string" - type: "null" title: "Fallback Target" description: "The fallback for the channel target (currently only supported for \"voice\" mode)" examples: - "+19995551235" is_test: type: "boolean" title: "Is Test" description: "Whether the channel target is intended for testing. If true, any sessions created through this target will be labeled as a test session (i.e., will not be included in dashboard data and can easily be filtered out in the Sessions screen in the SyllableConsole)." default: false examples: - true id: type: "integer" title: "Id" description: "The internal ID of the channel target" examples: - 1 type: "object" required: - "agent_id" - "channel_id" - "target" - "target_mode" - "id" title: "ChannelTargetUpdateRequest" description: "Request model to update a channel target." CommunicationBatch: properties: batch_id: type: "string" title: "Batch Id" description: "Unique ID for conversation batch" examples: - "20260611.9" campaign_id: type: "integer" title: "Campaign Id" description: "Unique ID for campaign" examples: - 1 expires_on: anyOf: - type: "string" format: "date-time" - type: "null" title: "Expires On" description: "Timestamp of batch expiration" examples: - "2026-06-12T00:00:00Z" paused: anyOf: - type: "boolean" - type: "null" title: "Paused" description: "Whether the batch is on HOLD. When on HOLD, no outreach will be made." examples: - true - false status: $ref: "#/components/schemas/BatchStatus" description: "Status of batch" default: "PENDING" examples: - "PENDING" - "ACTIVE" - "PAUSED" - "FAILED" - "CANCELED" - "EXPIRED" upload_filename: anyOf: - type: "string" - type: "null" title: "Upload Filename" description: "Name of file used to create batch" examples: - "LATE_PAYMENTS_20250401.csv" dispatch_id: anyOf: - type: "string" - type: "null" title: "Dispatch Id" description: "A unique identifier for dipatched job" examples: - "5ac42327fbd7e03b441650b79ae91ae1" created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp of batch creation" examples: - "2026-06-11T00:00:00Z" deleted_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Deleted At" description: "Timestamp of batch deletion" examples: - "2026-06-11T00:00:00Z" deleted_reason: anyOf: - type: "string" - type: "null" title: "Deleted Reason" description: "Reason for batch deletion" examples: - "User request" last_updated_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Last Updated At" description: "Timestamp of last change to batch" examples: - "2026-06-11T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of user who last updated campaign" examples: - "user@email.com" error_message: anyOf: - type: "string" - type: "null" title: "Error Message" description: "Error message if batch upload failed" examples: - "Invalid file format" - "Missing required fields" type: "object" required: - "batch_id" - "campaign_id" - "last_updated_by" title: "CommunicationBatch" CommunicationBatchInput: properties: batch_id: type: "string" title: "Batch Id" description: "Unique ID for conversation batch" examples: - "20260611.9" campaign_id: type: "integer" title: "Campaign Id" description: "Unique ID for campaign" examples: - 1 expires_on: anyOf: - type: "string" format: "date-time" - type: "null" title: "Expires On" description: "Timestamp of batch expiration" examples: - "2026-06-12T00:00:00Z" paused: anyOf: - type: "boolean" - type: "null" title: "Paused" description: "Whether the batch is on HOLD. When on HOLD, no outreach will be made." examples: - true - false type: "object" required: - "batch_id" - "campaign_id" title: "CommunicationBatchInput" CommunicationBatchUpdate: properties: paused: anyOf: - type: "boolean" - type: "null" title: "Paused" description: "Whether the batch is on HOLD. When on HOLD, no outreach will be made." examples: - true - false expires_on: anyOf: - type: "string" format: "date-time" - type: "null" title: "Expires On" description: "Timestamp of batch expiration" examples: - "2027-01-01T06:00:00Z" type: "object" title: "CommunicationBatchUpdate" CommunicationRequest: properties: reference_id: type: "string" title: "Reference Id" description: "ID for target outreach (unique within batch)" examples: - "12345" target: type: "string" title: "Target" description: "Target phone number" examples: - "512-555-1234" - "+15125551234" request_variables: additionalProperties: type: "string" type: "object" title: "Request Variables" description: "Variables for request" type: "object" required: - "reference_id" - "target" - "request_variables" title: "CommunicationRequest" CommunicationRequestResult: properties: reference_id: type: "string" title: "Reference Id" description: "ID for target outreach (unique within batch)" examples: - "12345" target: type: "string" title: "Target" description: "Target phone number" examples: - "512-555-1234" - "+15125551234" request_variables: additionalProperties: type: "string" type: "object" title: "Request Variables" description: "Variables for request" channel_manager_sid: anyOf: - type: "string" - type: "null" title: "Channel Manager Sid" description: "Channel manager SID" examples: - "LMc4b16a9df2ce33d84b3d30581fe6598c" created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp of request creation" examples: - "2026-06-10T00:00:00Z" sent_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Sent At" description: "Timestamp at which request was sent" examples: - "2026-06-11T00:00:00Z" attempt_count: type: "integer" title: "Attempt Count" description: "Number of attempts for request" default: 0 examples: - 0 session_id: anyOf: - type: "integer" - type: "null" title: "Session Id" description: "Unique ID for call session" examples: - 1 conversation_id: anyOf: - type: "integer" - type: "null" title: "Conversation Id" description: "Unique ID for conversation" examples: - 1 request_status: $ref: "#/components/schemas/RequestStatus" description: "Status of request" default: "PENDING" examples: - "PENDING" - "DUPLICATE" - "INITIATED" - "CONNECTED" - "COMPLETED" - "FAILED" - "CANCELED" - "INVALID" - "SKIPPED" channel_manager_status: anyOf: - type: "string" - type: "null" title: "Channel Manager Status" description: "Status of request in channel manager (see ChannelManagerStatus)" examples: - "COMPLETED" - "FAILED" - "NO-ANSWER" - "BUSY" insights_status: anyOf: - type: "string" - type: "null" title: "Insights Status" description: "Status of session in insight workflow" examples: - "PENDING" - "PROCESSING" - "COMPLETED" - "FAILED" insights: anyOf: - additionalProperties: anyOf: - type: "string" - type: "integer" - type: "number" type: "object" - type: "null" title: "Insights" description: "Insights from call" examples: - rating: "Good" summary: "The customer service agent successfully assisted the caller with their inquiry and the call ended positively." line_type: anyOf: - type: "string" - type: "null" title: "Line Type" description: "Line type of the target number from Twilio Lookup (e.g. 'mobile', 'landline', 'voip'); resolved at ingestion." examples: - "mobile" - "landline" - "voip" type: "object" required: - "reference_id" - "target" - "request_variables" title: "CommunicationRequestResult" ConditionalText: properties: if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" text: type: "string" title: "Text" description: "Text to apply if the condition is true." type: "object" required: - "text" title: "ConditionalText" ConditionalValue: properties: value: anyOf: - $ref: "#/components/schemas/JsonValue" - type: "null" description: "Initial value of the variable." valueFrom: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "Valuefrom" description: "Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Mutually exclusive with value." examples: - "inputs.provided_dob == patient_dob" - expression: "inputs.provided_dob == patient_dob" type: "jmespath" - expression: "inputs.count + 1" type: "cel" if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" type: "object" title: "ConditionalValue" Context: properties: task: anyOf: - oneOf: - $ref: "#/components/schemas/ExpressionTask" - $ref: "#/components/schemas/LoadToolFromFileTask" - $ref: "#/components/schemas/EventTask" - $ref: "#/components/schemas/StepsTask" discriminator: propertyName: "type" mapping: event: "#/components/schemas/EventTask" expression: "#/components/schemas/ExpressionTask" import: "#/components/schemas/LoadToolFromFileTask" steps: "#/components/schemas/StepsTask" - items: oneOf: - $ref: "#/components/schemas/ExpressionTask" - $ref: "#/components/schemas/LoadToolFromFileTask" - $ref: "#/components/schemas/EventTask" - $ref: "#/components/schemas/StepsTask" discriminator: propertyName: "type" mapping: event: "#/components/schemas/EventTask" expression: "#/components/schemas/ExpressionTask" import: "#/components/schemas/LoadToolFromFileTask" steps: "#/components/schemas/StepsTask" type: "array" - type: "null" title: "Task" description: "Task implementation details" type: "object" title: "Context" ContextTaskMetadata: properties: priority: anyOf: - type: "integer" - type: "null" title: "Priority" type: "object" title: "ContextTaskMetadata" ContextToolInfo: properties: name: anyOf: - type: "string" - type: "null" title: "Name" description: "The name of the generated tool." description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the tool." type: "object" title: "ContextToolInfo" Conversation: properties: timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Timestamp of the conversation" conversation_id: type: "string" title: "Conversation Id" description: "ID of the conversation" agent_id: anyOf: - type: "string" - type: "null" title: "Agent Id" description: "ID of the agent with which the conversation occurred" agent_name: anyOf: - type: "string" - type: "null" title: "Agent Name" description: "Name of the agent with which the conversation occurred" agent_type: anyOf: - type: "string" - type: "null" title: "Agent Type" description: "Value of the \"type\" field of the agent with which the conversation occurred" prompt_id: anyOf: - type: "string" - type: "null" title: "Prompt Id" description: "ID of the prompt used in the conversation" prompt_name: anyOf: - type: "string" - type: "null" title: "Prompt Name" description: "Name of the prompt used in the conversation" prompt_version: anyOf: - type: "string" - type: "null" title: "Prompt Version" description: "Version of the prompt used in the conversation" llm_provider: anyOf: - type: "string" - type: "null" title: "Llm Provider" description: "Provider for the LLM used in the conversation (see PromptResponse.llm_config.provider)" llm_model: anyOf: - type: "string" - type: "null" title: "Llm Model" description: "Model for the LLM used in the conversation (see PromptResponse.llm_config.model)" llm_version: anyOf: - type: "string" - type: "null" title: "Llm Version" description: "Version for the LLM used in the conversation (see PromptResponse.llm_config.version)" llm_temperature: anyOf: - type: "number" - type: "null" title: "Llm Temperature" description: "Temperature for the LLM used in the conversation (see PromptResponse.llm_config.temperature)" llm_seed: anyOf: - type: "integer" - type: "null" title: "Llm Seed" description: "Seed for the LLM used in the conversation (see PromptResponse.llm_config.seed)." is_legacy: anyOf: - type: "boolean" - type: "null" title: "Is Legacy" description: "Whether the conversation occurred on the legacy Syllable system" type: "object" required: - "timestamp" - "conversation_id" title: "Conversation" description: "A conversation is a record of messages between a user and an agent, and is composed of one or\nmore sessions." ConversationProperties: type: "string" enum: - "timestamp" - "agent_type" - "agent_id" - "agent_name" - "prompt_id" - "prompt_name" - "llm_provider" - "llm_model" - "llm_version" - "is_legacy" title: "ConversationProperties" CreateTakeoutResponse: properties: job_id: type: "string" title: "Job Id" created_at: type: "string" format: "date-time" title: "Created At" type: "object" required: - "job_id" - "created_at" title: "CreateTakeoutResponse" CustomMessageCreateRequest: properties: name: type: "string" title: "Name" description: "The name of the custom message" examples: - "Customer service greeting" type: $ref: "#/components/schemas/CustomMessageType" description: "Type of the custom message: greeting (voice) or email_template." default: "greeting" examples: - "greeting" preamble: anyOf: - type: "string" - type: "null" title: "Preamble" description: "An optional preamble that will be delivered before the main message, regardless of whether the current time and date match a rule or the system uses the default message. Cannot contain the \"{{ language.mode }}\" tag. In the case of a voice conversation, the user will not be able to interrupt the preamble. Can be used for e.g. legal disclaimers that the user must always see/hear." examples: - "If this is an emergency, please hang up and call 911." text: type: "string" title: "Text" description: "The default message that the agent will deliver if no rules are set or no rules match the current timestamp. For email_template, this is the body." examples: - "Hello and thank you for calling customer service. How can I help you today?" subject: anyOf: - type: "string" - type: "null" title: "Subject" description: "Email subject. Required for email_template (in type_config); ignored otherwise." examples: - "Your appointment reminder" label: anyOf: - type: "string" - type: "null" title: "Label" description: "The label of the custom message" examples: - "Customer service" repeat_after_language_change: anyOf: - type: "boolean" - type: "null" title: "Repeat After Language Change" description: "If true, if the caller changes language using the language menu in the custom message, the message will be repeated in the new language (not including the language menu). If omitted or null on create, false is stored. If omitted or null on update, existing value will not be changed." rules: items: $ref: "#/components/schemas/CustomMessageRule" type: "array" title: "Rules" description: "Rules for time-specific message variants" default: [] examples: - - date: "2025-01-01" description: "Closed on New Year's Day" invert: false text: "Hello, thank you for calling. Sorry, we're closed today." time_range_end: "17:00" time_range_start: "09:00" - days_of_week: - "sa" - "su" description: "Closed on weekends" invert: false text: "Hello, thank you for calling. Sorry, we're closed on weekends." time_range_end: "17:00" time_range_start: "09:00" type: "object" required: - "name" - "text" title: "CustomMessageCreateRequest" description: "Request model to create a custom message." CustomMessageProperties: type: "string" enum: - "id" - "name" - "name_exact" - "text" - "label" - "type" - "updated_at" - "agent_id" title: "CustomMessageProperties" CustomMessageResponse: properties: name: type: "string" title: "Name" description: "The name of the custom message" examples: - "Customer service greeting" type: $ref: "#/components/schemas/CustomMessageType" description: "Type of the custom message: greeting (voice) or email_template." default: "greeting" examples: - "greeting" preamble: anyOf: - type: "string" - type: "null" title: "Preamble" description: "An optional preamble that will be delivered before the main message, regardless of whether the current time and date match a rule or the system uses the default message. Cannot contain the \"{{ language.mode }}\" tag. In the case of a voice conversation, the user will not be able to interrupt the preamble. Can be used for e.g. legal disclaimers that the user must always see/hear." examples: - "If this is an emergency, please hang up and call 911." text: type: "string" title: "Text" description: "The default message that the agent will deliver if no rules are set or no rules match the current timestamp. For email_template, this is the body." examples: - "Hello and thank you for calling customer service. How can I help you today?" subject: anyOf: - type: "string" - type: "null" title: "Subject" description: "Email subject. Required for email_template (in type_config); ignored otherwise." examples: - "Your appointment reminder" label: anyOf: - type: "string" - type: "null" title: "Label" description: "The label of the custom message" examples: - "Customer service" repeat_after_language_change: type: "boolean" title: "Repeat After Language Change" description: "If true, if the caller changes language using the language menu in the custom message, the message will be repeated in the new language (not including the language menu)." rules: items: $ref: "#/components/schemas/CustomMessageRule" type: "array" title: "Rules" description: "Rules for time-specific message variants" default: [] examples: - - date: "2025-01-01" description: "Closed on New Year's Day" invert: false text: "Hello, thank you for calling. Sorry, we're closed today." time_range_end: "17:00" time_range_start: "09:00" - days_of_week: - "sa" - "su" description: "Closed on weekends" invert: false text: "Hello, thank you for calling. Sorry, we're closed on weekends." time_range_end: "17:00" time_range_start: "09:00" id: type: "integer" title: "Id" description: "The ID of the custom message" examples: - 1 updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of the most recent update to the custom message" examples: - "2024-01-01T00:00:00Z" agent_count: anyOf: - type: "integer" - type: "null" title: "Agent Count" description: "The number of agents using the custom message" examples: - 1 last_updated_by: type: "string" title: "Last Updated By" description: "The email address of the user who most recently updated the custom message" examples: - "user@email.com" type: "object" required: - "name" - "text" - "repeat_after_language_change" - "id" - "updated_at" - "last_updated_by" title: "CustomMessageResponse" description: "Response model for custom message operations.\nA custom message is a pre-configured message delivered by an agent (e.g. as a greeting at the\nbeginning of a conversation, or as an email template with subject and body). Multiple agents can\nuse the same custom message. Greeting-type messages may have rules for time-based variants; email\ntemplates have a subject and body only. For more information, see [Console docs](https://docs.syllable.ai/Resources/Messages)." CustomMessageRule: properties: description: type: "string" title: "Description" description: "The description of the rule" examples: - "Closed on New Year's Day" time_range_start: anyOf: - type: "string" pattern: "^([01]\\d|2[0-3]):[0-5]\\d$" - type: "null" title: "Time Range Start" description: "The start of the time range for the rule in 24-hour format hh:mm (should be null for \"all day\" cases)" examples: - "09:00" time_range_end: anyOf: - type: "string" pattern: "^([01]\\d|2[0-3]):[0-5]\\d$" - type: "null" title: "Time Range End" description: "The end of the time range for the rule in 24-hour format hh:mm (should be null for \"all day\" cases)" examples: - "17:00" date: anyOf: - type: "string" pattern: "\\b(19|20)\\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\\b" - type: "null" title: "Date" description: "The date for the rule in YYYY-MM-DD format" examples: - "2025-01-01" days_of_week: anyOf: - items: $ref: "#/components/schemas/DayOfWeek" type: "array" - type: "null" title: "Days Of Week" description: "The days of the week for the rule" examples: - - "mo" - "tu" - "we" - "th" - "fr" invert: type: "boolean" title: "Invert" description: "Whether the rule logic should be inverted (i.e. \"not\")" examples: - false text: type: "string" title: "Text" description: "Message text associated with the rule" examples: - "Hello, thank you for calling. Sorry, we're closed today." type: "object" required: - "description" - "invert" - "text" title: "CustomMessageRule" description: "A rule used to determine whether a custom message should present a variant message based on\nthe current timestamp." CustomMessageType: type: "string" enum: - "greeting" - "email_template" title: "CustomMessageType" description: "Type of custom message. Greeting is for voice; email_template is for email (subject + body)." CustomMessageUpdateRequest: properties: name: type: "string" title: "Name" description: "The name of the custom message" examples: - "Customer service greeting" type: $ref: "#/components/schemas/CustomMessageType" description: "Type of the custom message: greeting (voice) or email_template." default: "greeting" examples: - "greeting" preamble: anyOf: - type: "string" - type: "null" title: "Preamble" description: "An optional preamble that will be delivered before the main message, regardless of whether the current time and date match a rule or the system uses the default message. Cannot contain the \"{{ language.mode }}\" tag. In the case of a voice conversation, the user will not be able to interrupt the preamble. Can be used for e.g. legal disclaimers that the user must always see/hear." examples: - "If this is an emergency, please hang up and call 911." text: type: "string" title: "Text" description: "The default message that the agent will deliver if no rules are set or no rules match the current timestamp. For email_template, this is the body." examples: - "Hello and thank you for calling customer service. How can I help you today?" subject: anyOf: - type: "string" - type: "null" title: "Subject" description: "Email subject. Required for email_template (in type_config); ignored otherwise." examples: - "Your appointment reminder" label: anyOf: - type: "string" - type: "null" title: "Label" description: "The label of the custom message" examples: - "Customer service" repeat_after_language_change: anyOf: - type: "boolean" - type: "null" title: "Repeat After Language Change" description: "If true, if the caller changes language using the language menu in the custom message, the message will be repeated in the new language (not including the language menu). If omitted or null on create, false is stored. If omitted or null on update, existing value will not be changed." rules: items: $ref: "#/components/schemas/CustomMessageRule" type: "array" title: "Rules" description: "Rules for time-specific message variants" default: [] examples: - - date: "2025-01-01" description: "Closed on New Year's Day" invert: false text: "Hello, thank you for calling. Sorry, we're closed today." time_range_end: "17:00" time_range_start: "09:00" - days_of_week: - "sa" - "su" description: "Closed on weekends" invert: false text: "Hello, thank you for calling. Sorry, we're closed on weekends." time_range_end: "17:00" time_range_start: "09:00" id: type: "integer" title: "Id" description: "The ID of the custom message" examples: - 1 type: "object" required: - "name" - "text" - "id" title: "CustomMessageUpdateRequest" description: "Request model to update an existing custom message." DaoToolResponse: properties: name: type: "string" title: "Name" description: "The name of the tool" examples: - "Weather Fetcher" definition: $ref: "#/components/schemas/ToolDefinition" description: "The definition of the tool" examples: - endpoint: argument_location: "query" method: "get" url: "https://api.open-meteo.com/v1/forecast" static_parameters: - default: "fahrenheit" description: "Whether the temperature information should be fetched in Celsius or Fahrenheit" name: "temperature_unit" required: false type: "string" tool: function: description: "Get the weather for a city" name: "get_weather" parameters: properties: latitude: description: "Latitude of the city" type: "number" longitude: description: "Longitude of the city" type: "number" current: default: "temperature_2m,relative_humidity_2m,precipitation,rain,showers" description: "Information to retrieve from the open-meteo API, comma-separated" type: "string" required: - "latitude" - "longitude" - "current" type: "object" type: "function" type: "endpoint" service_id: type: "integer" title: "Service Id" description: "Internal ID of the service to which the tool belongs" examples: - 1 id: type: "integer" title: "Id" description: "The internal ID of the tool" examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the tool." examples: - "Updated to use new API endpoint" service_name: anyOf: - type: "string" - type: "null" title: "Service Name" description: "The name of the service to which the tool belongs" prompts_info: anyOf: - items: $ref: "#/components/schemas/ToolPromptInfo" type: "array" - type: "null" title: "Prompts Info" description: "IDs and names of the prompts linked to the tool" agents_info: anyOf: - items: $ref: "#/components/schemas/ToolAgentInfo" type: "array" - type: "null" title: "Agents Info" description: "IDs and names of the agents linked to the tool via a prompt" last_updated: type: "string" format: "date-time" title: "Last Updated" description: "The timestamp of the most recent update to the tool" last_updated_by: type: "string" title: "Last Updated By" description: "The email of the user who last updated the tool" examples: - "user@email.com" version_number: type: "integer" title: "Version Number" description: "Highest tools_history snapshot version for this tool; the tools row defaults to 1." examples: - 1 type: "object" required: - "name" - "definition" - "service_id" - "id" - "last_updated" - "last_updated_by" - "version_number" title: "DaoToolResponse" DaoUtm: properties: utm_source: anyOf: - type: "string" maxLength: 256 - type: "null" title: "Utm Source" utm_medium: anyOf: - type: "string" maxLength: 256 - type: "null" title: "Utm Medium" utm_campaign: anyOf: - type: "string" maxLength: 256 - type: "null" title: "Utm Campaign" utm_term: anyOf: - type: "string" maxLength: 256 - type: "null" title: "Utm Term" utm_content: anyOf: - type: "string" maxLength: 256 - type: "null" title: "Utm Content" type: "object" title: "DaoUtm" Dashboard: properties: embedded_id: type: "string" title: "Embedded Id" description: "Superset embedded ID of the dashboard" guest_token: type: "string" title: "Guest Token" description: "Superset guest token of the dashboard" name: type: "string" title: "Name" description: "Name of the dashboard" superset_url: type: "string" title: "Superset Url" description: "Superset URL of the dashboard" type: "object" required: - "embedded_id" - "guest_token" - "name" - "superset_url" title: "Dashboard" description: "Deprecated. Please update to use DashboardTokenResponse.\nBasic information about a dashboard." DashboardProperties: type: "string" enum: - "id" - "name" - "display_name" - "rank" - "label" title: "DashboardProperties" description: "Names of dashboard fields supported for filtering/sorting on list endpoint." DashboardResponse: properties: name: type: "string" title: "Name" description: "Name of the dashboard" examples: - "session_summary" display_name: type: "string" title: "Display Name" description: "Display name of the dashboard" examples: - "Session Summary" rank: type: "integer" title: "Rank" description: "Dashboard importance (0 is the highest)" examples: - 0 label: type: "string" title: "Label" description: "Dashboard label. Typically \"report\" or \"dashboard\"" examples: - "dashboard" type: "object" required: - "name" - "display_name" - "rank" - "label" title: "DashboardResponse" description: "Basic information about a dashboard with a description." DashboardTokenResponse: properties: embedded_id: type: "string" title: "Embedded Id" description: "Superset embedded ID of the dashboard" examples: - "976ef486-d1ea-49c7-ba81-18e955d80286" guest_token: type: "string" title: "Guest Token" description: "Superset guest token of the dashboard" examples: - "some-guest-token" name: type: "string" title: "Name" description: "Name of the dashboard" examples: - "session_summary" display_name: type: "string" title: "Display Name" description: "Display name of the dashboard" examples: - "Session Summary" superset_url: type: "string" title: "Superset Url" description: "Base Superset URL of the dashboard" examples: - "https://somesuperseturl.com" rank: type: "integer" title: "Rank" description: "Dashboard importance (0 is the highest)" examples: - 0 label: type: "string" title: "Label" description: "Dashboard label. Typically \"report\" or \"dashboard\"" examples: - "dashboard" type: "object" required: - "embedded_id" - "guest_token" - "name" - "display_name" - "superset_url" - "rank" - "label" title: "DashboardTokenResponse" description: "Basic information about a dashboard." DataSourceCreateRequest: properties: name: type: "string" title: "Name" description: "The data source name. Must be unique within suborg. Cannot contain whitespace." examples: - "Rain" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the data source." examples: - "Information about rain." labels: items: type: "string" type: "array" title: "Labels" description: "Searchable labels for the data source. Can be included in agent.prompt_tool_defaults for a given tool to give the agent access to data sources with those labels when calling that tool." default: [] examples: - - "Weather Info" chunk: type: "boolean" title: "Chunk" description: "Whether the content should be split into smaller chunks. (This feature is coming in the future - currently this value will always be treated as False.)" examples: - false chunk_delimiter: anyOf: - type: "string" - type: "null" title: "Chunk Delimiter" description: "String that should be treated as delimiter between intended chunks. (This feature is coming in the future - currently this value will always be treated as None.)" examples: - "" text: type: "string" title: "Text" description: "Information that the data source will provide to the agent accessing it. It is recommended to include a sentence at the beginning providing context to the LLM for the information in the data source." examples: - "The following are names and addresses of pizza shops.\n\nCool Pizza, 123 Main St.\n\nReally Good Pizza, 456 Water St.\n\nThe Best Pizza, 789 Circle Dr." type: "object" required: - "name" - "chunk" - "text" title: "DataSourceCreateRequest" description: "Request model to create a data source." DataSourceDetailResponse: properties: name: type: "string" title: "Name" description: "The data source name. Must be unique within suborg. Cannot contain whitespace." examples: - "Rain" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the data source." examples: - "Information about rain." labels: items: type: "string" type: "array" title: "Labels" description: "Searchable labels for the data source. Can be included in agent.prompt_tool_defaults for a given tool to give the agent access to data sources with those labels when calling that tool." default: [] examples: - - "Weather Info" chunk: type: "boolean" title: "Chunk" description: "Whether the content should be split into smaller chunks. (This feature is coming in the future - currently this value will always be treated as False.)" examples: - false chunk_delimiter: anyOf: - type: "string" - type: "null" title: "Chunk Delimiter" description: "String that should be treated as delimiter between intended chunks. (This feature is coming in the future - currently this value will always be treated as None.)" examples: - "" id: type: "integer" title: "Id" description: "The data source ID." examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "The comments for the most recent edit to the data source" examples: - "Added new info" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of most recent update" last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "Email of the user who last updated the data source" examples: - "user@email.com" text: type: "string" title: "Text" description: "Information that the data source will provide to the agent accessing it." type: "object" required: - "name" - "chunk" - "id" - "updated_at" - "last_updated_by" - "text" title: "DataSourceDetailResponse" description: "Metadata about a data source, along with the text. A data source is a blob of text that\ncan be made available to an agent's general info tools to provide more context to the agent when\ngenerating its responses. For more information, see\n[Console docs](https://docs.syllable.ai/Resources/DataSources)." DataSourceMetadataResponse: properties: name: type: "string" title: "Name" description: "The data source name. Must be unique within suborg. Cannot contain whitespace." examples: - "Rain" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the data source." examples: - "Information about rain." labels: items: type: "string" type: "array" title: "Labels" description: "Searchable labels for the data source. Can be included in agent.prompt_tool_defaults for a given tool to give the agent access to data sources with those labels when calling that tool." default: [] examples: - - "Weather Info" chunk: type: "boolean" title: "Chunk" description: "Whether the content should be split into smaller chunks. (This feature is coming in the future - currently this value will always be treated as False.)" examples: - false chunk_delimiter: anyOf: - type: "string" - type: "null" title: "Chunk Delimiter" description: "String that should be treated as delimiter between intended chunks. (This feature is coming in the future - currently this value will always be treated as None.)" examples: - "" id: type: "integer" title: "Id" description: "The data source ID." examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "The comments for the most recent edit to the data source" examples: - "Added new info" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of most recent update" last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "Email of the user who last updated the data source" examples: - "user@email.com" type: "object" required: - "name" - "chunk" - "id" - "updated_at" - "last_updated_by" title: "DataSourceMetadataResponse" description: "Metadata about a data source, not including the text. A data source is a blob of text that\ncan be made available to an agent's general info tools to provide more context to the agent when\ngenerating its responses. For more information, see\n[Console docs](https://docs.syllable.ai/Resources/DataSources)." DataSourceProperties: type: "string" enum: - "name" - "description" - "labels" - "chunk" - "chunk_delimiter" - "updated_at" - "last_updated_by" title: "DataSourceProperties" description: "Names of data source fields supported for filtering/sorting on list endpoint." DataSourceUpdateRequest: properties: name: type: "string" title: "Name" description: "The data source name. Must be unique within suborg. Cannot contain whitespace." examples: - "Rain" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the data source." examples: - "Information about rain." labels: items: type: "string" type: "array" title: "Labels" description: "Searchable labels for the data source. Can be included in agent.prompt_tool_defaults for a given tool to give the agent access to data sources with those labels when calling that tool." default: [] examples: - - "Weather Info" chunk: type: "boolean" title: "Chunk" description: "Whether the content should be split into smaller chunks. (This feature is coming in the future - currently this value will always be treated as False.)" examples: - false chunk_delimiter: anyOf: - type: "string" - type: "null" title: "Chunk Delimiter" description: "String that should be treated as delimiter between intended chunks. (This feature is coming in the future - currently this value will always be treated as None.)" examples: - "" id: type: "integer" title: "Id" description: "The data source ID." examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "The comments for the most recent edit to the data source" examples: - "Added new info" text: type: "string" title: "Text" description: "Information that the data source will provide to the agent accessing it. It is recommended to include a sentence at the beginning providing context to the LLM for the information in the data source." examples: - "The following are names and addresses of pizza shops.\n\nCool Pizza, 123 Main St.\n\nReally Good Pizza, 456 Water St.\n\nThe Best Pizza, 789 Circle Dr." type: "object" required: - "name" - "chunk" - "id" - "text" title: "DataSourceUpdateRequest" description: "Request model to update an existing data source." DayOfWeek: type: "string" enum: - "mo" - "tu" - "we" - "th" - "fr" - "sa" - "su" title: "DayOfWeek" description: "Available options for day of the week for use in message rules." DaysOfWeek: type: "string" enum: - "mon" - "tue" - "wed" - "thu" - "fri" - "sat" - "sun" title: "DaysOfWeek" description: "Enum representing days of the week." DialogMessage: properties: text: type: "string" title: "Text" description: "Dialog message text" examples: - "Tell me about Syllable.ai!" type: "object" required: - "text" title: "DialogMessage" DialogRole: type: "string" enum: - "agent" - "user" title: "DialogRole" description: "Role of dialog" DialogToolCall: properties: tool_call_id: type: "string" title: "Tool Call Id" description: "Tool call ID" examples: - "call_arbitrary_id" tool_name: type: "string" title: "Tool Name" description: "Tool name" examples: - "general_information_web" tool_arguments: title: "Tool Arguments" description: "Tool arguments" examples: - question: "Tell me about Syllable.ai!" tool_result: anyOf: - {} - type: "null" title: "Tool Result" description: "Tool result data (only included if tool has propagate_tool_result=true)" examples: - answer: "Syllable is a platform for building and managing AI voice agents..." timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Tool call timestamp" examples: - "2024-06-19T00:00:00" type: "object" required: - "tool_call_id" - "tool_name" - "tool_arguments" - "tool_result" - "timestamp" title: "DialogToolCall" 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." DirectoryExtension: properties: name: type: "string" title: "Name" description: "Directory extension name" examples: - "work" numbers: anyOf: - items: $ref: "#/components/schemas/DirectoryExtensionNumber" type: "array" - type: "null" title: "Numbers" description: "Directory extension numbers." type: "object" required: - "name" title: "DirectoryExtension" DirectoryExtensionNumber: properties: number: type: "string" title: "Number" description: "Phone number" examples: - "+1234567890" rules: anyOf: - items: additionalProperties: type: "string" type: "object" type: "array" - type: "null" title: "Rules" description: "Directory extension number rules. To include a language rule, use key \"language\" with a language code value." examples: - - language: "en" type: "object" required: - "number" title: "DirectoryExtensionNumber" DirectoryMember: properties: name: type: "string" title: "Name" description: "Name of the directory member" examples: - "Jane Doe" type: type: "string" title: "Type" description: "Type of the directory member" examples: - "Operator" extensions: anyOf: - items: $ref: "#/components/schemas/DirectoryExtension" type: "array" - type: "null" title: "Extensions" description: "List of extensions for the directory member" examples: - - name: "work" numbers: - number: "+1234567890" rules: - language: "en" contact_tags: anyOf: - additionalProperties: items: type: "string" type: "array" type: "object" - type: "null" title: "Contact Tags" description: "Tags for the directory member" examples: - tag1: - "value1" tag2: - "value2" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "The comments for the most recent edit to the directory member" examples: - "Updated to add new extension" id: type: "integer" title: "Id" description: "Internal ID of the directory member" examples: - 1 created_at: type: "string" format: "date-time" title: "Created At" description: "When the contact was created" examples: - "2024-01-01T00:00:00Z" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of most recent update" examples: - "2024-01-01T00:00:00Z" deleted_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Deleted At" description: "When the contact was deleted, if deleted" examples: - null last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "Email of the user who last updated the directory member" examples: - "user@email.com" created_by: anyOf: - type: "string" - type: "null" title: "Created By" description: "Email of the user who created the directory member" examples: - "user@email.com" type: "object" required: - "name" - "type" - "id" - "created_at" - "updated_at" title: "DirectoryMember" description: "Model for a directory member (i.e. a contact)." DirectoryMemberCreate: properties: name: type: "string" title: "Name" description: "Name of the directory member" examples: - "Jane Doe" type: type: "string" title: "Type" description: "Type of the directory member" examples: - "Operator" extensions: anyOf: - items: $ref: "#/components/schemas/DirectoryExtension" type: "array" - type: "null" title: "Extensions" description: "List of extensions for the directory member" examples: - - name: "work" numbers: - number: "+1234567890" rules: - language: "en" contact_tags: anyOf: - additionalProperties: items: type: "string" type: "array" type: "object" - type: "null" title: "Contact Tags" description: "Tags for the directory member" examples: - tag1: - "value1" tag2: - "value2" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "The comments for the most recent edit to the directory member" examples: - "Updated to add new extension" type: "object" required: - "name" - "type" title: "DirectoryMemberCreate" description: "Request model to create a directory member." DirectoryMemberHistoryResponse: properties: directory_member_id: type: "integer" title: "Directory Member Id" description: "ID of the directory member" examples: - 1 version: type: "integer" title: "Version" description: "1-based ordinal in the history list (1 = oldest)" examples: - 1 timestamp: type: "string" format: "date-time" title: "Timestamp" description: "When this version was recorded" examples: - "2024-01-01T12:00:00Z" name: type: "string" title: "Name" description: "Name at this version" examples: - "Jane Doe" type: type: "string" title: "Type" description: "Type at this version" examples: - "Department" extensions: items: $ref: "#/components/schemas/DirectoryExtension" type: "array" title: "Extensions" description: "Extensions at this version" examples: - [] contact_tags: additionalProperties: items: type: "string" type: "array" type: "object" title: "Contact Tags" description: "Contact tags at this version" examples: - tag1: - "value1" tag2: - "value2" user_email: type: "string" title: "User Email" description: "User who made the change" examples: - "user@email.com" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "Optional comment for this version" examples: - "Updated phone number" operation: anyOf: - type: "string" - type: "null" title: "Operation" description: "What produced this row: create, update, delete, restore, bulk_load. Null for rows created before this field existed." examples: - "update" type: "object" required: - "directory_member_id" - "version" - "timestamp" - "name" - "type" - "user_email" title: "DirectoryMemberHistoryResponse" description: "API response for one version in a directory member's history (GET /{member_id}/history)." DirectoryMemberProperties: type: "string" enum: - "id" - "name" - "name_exact" - "type" - "extensions" - "contact_tags" - "created_at" - "updated_at" - "deleted_at" - "created_by" title: "DirectoryMemberProperties" DirectoryMemberRestore: properties: comments: type: "string" title: "Comments" description: "Comment stored in version history for this restore" default: "Restored" examples: - "Restored" type: "object" title: "DirectoryMemberRestore" description: "Request model to restore directory member." DirectoryMemberTestResponse: properties: extension: anyOf: - type: "string" - type: "null" title: "Extension" description: "Extension to which the user will be transferred if they call at the provided timestamp in the given language, or a status message if no rules match" status: anyOf: - type: "string" - type: "null" title: "Status" description: "Status message if no rules match" type: "object" title: "DirectoryMemberTestResponse" DirectoryMemberUpdate: properties: name: type: "string" title: "Name" description: "Name of the directory member" examples: - "Jane Doe" type: type: "string" title: "Type" description: "Type of the directory member" examples: - "Operator" extensions: anyOf: - items: $ref: "#/components/schemas/DirectoryExtension" type: "array" - type: "null" title: "Extensions" description: "List of extensions for the directory member" examples: - - name: "work" numbers: - number: "+1234567890" rules: - language: "en" contact_tags: anyOf: - additionalProperties: items: type: "string" type: "array" type: "object" - type: "null" title: "Contact Tags" description: "Tags for the directory member" examples: - tag1: - "value1" tag2: - "value2" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "The comments for the most recent edit to the directory member" examples: - "Updated to add new extension" id: type: "integer" title: "Id" description: "Internal ID of the directory member" examples: - 1 type: "object" required: - "name" - "type" - "id" title: "DirectoryMemberUpdate" description: "Request model to update a directory member." DirectoryResponseFormat: type: "string" enum: - "normalized" - "raw" title: "DirectoryResponseFormat" description: "Response shape selector for directory member APIs." EmailConfigurations: properties: sending_domain: type: "string" title: "Sending Domain" description: "The domain to use for sending emails. Must be authenticated in SendGrid." examples: - "mail.example.com" type: "object" required: - "sending_domain" title: "EmailConfigurations" description: "Email channel configurations." Event: properties: timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Timestamp at which the event occurred" session_id: anyOf: - type: "string" - type: "null" title: "Session Id" description: "ID of the session in which the event occurred" conversation_id: anyOf: - type: "string" - type: "null" title: "Conversation Id" description: "ID of the conversation associated with the session in which the event occurred" source: anyOf: - type: "string" - type: "null" title: "Source" description: "Source of the event (either a tool call or an LLM prompt)" examples: - "tool-call" source_id: anyOf: - type: "string" - type: "null" title: "Source Id" description: "ID of the source of the event (either a tool ID or a prompt ID)" category: anyOf: - type: "string" - type: "null" title: "Category" description: "Broad categorization of the event" examples: - "automation" type: anyOf: - type: "string" - type: "null" title: "Type" description: "More specific class of the event" examples: - "phone-transfer" user_id: anyOf: - type: "string" - type: "null" title: "User Id" description: "ID of the user interacting with the system when the event occurred (e.g., their phone number)" examples: - "+18042221111" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Human-readable description of the event" examples: - "Transfer to phone number +18042221111" attributes: anyOf: - type: "object" - type: "null" title: "Attributes" description: "Arbitrary additional metadata for the event" type: "object" required: - "timestamp" title: "Event" description: "An event represents a specific occurrence during a session." EventProperties: type: "string" enum: - "timestamp" - "session_id" - "conversation_id" - "source" - "source_id" - "category" - "type" - "user_id" - "description" - "attributes" title: "EventProperties" EventTask: properties: id: anyOf: - type: "string" - type: "null" title: "Id" description: "A unique identifier for the task." config: anyOf: - additionalProperties: $ref: "#/components/schemas/JsonValue" type: "object" - type: "null" title: "Config" variables: anyOf: - items: $ref: "#/components/schemas/Variable" type: "array" - type: "null" title: "Variables" metadata: anyOf: - $ref: "#/components/schemas/ContextTaskMetadata" - type: "null" tool: anyOf: - $ref: "#/components/schemas/ContextToolInfo" - type: "null" type: type: "string" const: "event" title: "Type" default: "event" version: type: "string" const: "v1alpha" title: "Version" default: "v1alpha" on: $ref: "#/components/schemas/EventTaskEvents" description: "Actions to execute when the configured events occur." type: "object" title: "EventTask" EventTaskEvents: properties: start: anyOf: - items: oneOf: - $ref: "#/components/schemas/SetValueAction" - $ref: "#/components/schemas/IncrementAction" - $ref: "#/components/schemas/CallAction" - $ref: "#/components/schemas/SayAction" discriminator: propertyName: "action" mapping: call: "#/components/schemas/CallAction" inc: "#/components/schemas/IncrementAction" say: "#/components/schemas/SayAction" set: "#/components/schemas/SetValueAction" type: "array" - type: "null" title: "Start" description: "Actions to execute on the first input from the user." type: "object" title: "EventTaskEvents" ExpressionTask: properties: id: anyOf: - type: "string" - type: "null" title: "Id" description: "A unique identifier for the task." config: anyOf: - additionalProperties: $ref: "#/components/schemas/JsonValue" type: "object" - type: "null" title: "Config" variables: anyOf: - items: $ref: "#/components/schemas/Variable" type: "array" - type: "null" title: "Variables" metadata: anyOf: - $ref: "#/components/schemas/ContextTaskMetadata" - type: "null" tool: anyOf: - $ref: "#/components/schemas/ContextToolInfo" - type: "null" type: type: "string" const: "expression" title: "Type" default: "expression" version: type: "string" const: "v1alpha" title: "Version" default: "v1alpha" inputs: items: $ref: "#/components/schemas/InputParameter" type: "array" title: "Inputs" expression: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "Expression" description: "Expression for task output/logic. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" output: anyOf: - $ref: "#/components/schemas/JsonValue" - type: "null" on: $ref: "#/components/schemas/ExpressionTaskEvents" description: "Actions to execute when the configured events occur." type: "object" title: "ExpressionTask" ExpressionTaskEvents: properties: start: anyOf: - items: oneOf: - $ref: "#/components/schemas/SetValueAction" - $ref: "#/components/schemas/IncrementAction" - $ref: "#/components/schemas/CallAction" - $ref: "#/components/schemas/SayAction" discriminator: propertyName: "action" mapping: call: "#/components/schemas/CallAction" inc: "#/components/schemas/IncrementAction" say: "#/components/schemas/SayAction" set: "#/components/schemas/SetValueAction" type: "array" - type: "null" title: "Start" description: "Actions to execute on the first input from the user." submit: anyOf: - items: oneOf: - $ref: "#/components/schemas/SetValueAction" - $ref: "#/components/schemas/IncrementAction" - $ref: "#/components/schemas/SaveAction" - $ref: "#/components/schemas/CallAction" - $ref: "#/components/schemas/SayAction" discriminator: propertyName: "action" mapping: call: "#/components/schemas/CallAction" inc: "#/components/schemas/IncrementAction" save: "#/components/schemas/SaveAction" say: "#/components/schemas/SayAction" set: "#/components/schemas/SetValueAction" type: "array" - type: "null" title: "Submit" description: "Actions to execute when the tool/step is submitted by the LLM." type: "object" title: "ExpressionTaskEvents" description: "Actions to perform when events occur (start, submit)." FolderDetails: properties: name: type: "string" title: "Name" description: "Human-readable name of insight folder" examples: - "customer-complaints" label: anyOf: - type: "string" - type: "null" title: "Label" description: "optional label assigned to insight folder" examples: - "support" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Text description of insight upload folder" examples: - "Call recordings related to customer complaints" id: type: "integer" title: "Id" description: "System-assign folder ID" examples: - 182764 created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp at which insight upload folder was created" examples: - "2026-06-10T00:00:00Z" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp at which insight upload folder was last updated" examples: - "2026-06-11T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of user who last updated upload folder" examples: - "user@email.com" folder_stats: additionalProperties: anyOf: - type: "string" - type: "integer" - type: "number" type: "object" title: "Folder Stats" description: "Meta-data of insight upload files associated with the folder" examples: - count: 10 total_duration: "10:00:00" total_size: "213MB" type: "object" required: - "name" - "id" - "last_updated_by" - "folder_stats" title: "FolderDetails" description: "Response model for an insight upload folder details." GetValueAction: properties: value: anyOf: - $ref: "#/components/schemas/JsonValue" - type: "null" description: "Initial value of the variable." valueFrom: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "Valuefrom" description: "Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Mutually exclusive with value." examples: - "inputs.provided_dob == patient_dob" - expression: "inputs.provided_dob == patient_dob" type: "jmespath" - expression: "inputs.count + 1" type: "cel" if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" action: type: "string" enum: - "get" - "load" title: "Action" description: "Populate default input values." default: "get" inputs: anyOf: - items: type: "string" type: "array" - type: "null" title: "Inputs" description: "Input field names to populate; None populates all step inputs." overwrite: type: "boolean" title: "Overwrite" description: "If False (default), only populate empty inputs. If True, always overwrite." default: false type: "object" title: "GetValueAction" HTTPValidationError: properties: detail: items: $ref: "#/components/schemas/ValidationError" type: "array" title: "Detail" type: "object" title: "HTTPValidationError" IncidentCreateRequest: properties: description: type: "string" title: "Description" description: "Description of the service incident" examples: - "Service outage in region X" start_datetime: type: "string" format: "date-time" title: "Start Datetime" description: "Start time of the incident" examples: - "2023-10-01T08:00:00Z" resolution_datetime: type: "string" format: "date-time" title: "Resolution Datetime" description: "Resolution time of the incident" examples: - "2023-10-01T12:00:00Z" impact_category: type: "string" title: "Impact Category" description: "Category of the impact" examples: - "High" sessions_impacted: type: "integer" title: "Sessions Impacted" description: "Number of sessions impacted" examples: - 1500 markdown: type: "string" title: "Markdown" description: "Detailed markdown description of the incident" examples: - "**Incident Details**" organization_id: anyOf: - type: "integer" - type: "null" title: "Organization Id" description: "The ID of the organization" examples: - 123 sub_organization_id: anyOf: - type: "integer" - type: "null" title: "Sub Organization Id" description: "The ID of the sub-organization" examples: - 456 sub_organization: anyOf: - type: "string" - type: "null" title: "Sub Organization" description: "The name of the sub-organization (DEPRECATED)" deprecated: true examples: - "SubOrg A" type: "object" required: - "description" - "start_datetime" - "resolution_datetime" - "impact_category" - "sessions_impacted" - "markdown" title: "IncidentCreateRequest" description: "Request model to create a service incident." IncidentOrganizationResponse: properties: id: type: "integer" title: "Id" name: type: "string" title: "Name" display_name: type: "string" title: "Display Name" type: "object" required: - "id" - "name" - "display_name" title: "IncidentOrganizationResponse" IncidentProperties: type: "string" enum: - "id" - "description" - "impact_category" - "sessions_impacted" - "markdown" - "created_at" - "updated_at" - "organization_id" - "sub_organization_id" - "start_datetime" - "end_datetime" - "resolution_datetime" title: "IncidentProperties" description: "Names of agent fields supported for filtering/sorting on list endpoint." IncidentResponse: properties: description: type: "string" title: "Description" description: "Description of the service incident" examples: - "Service outage in region X" start_datetime: type: "string" format: "date-time" title: "Start Datetime" description: "Start time of the incident" examples: - "2023-10-01T08:00:00Z" resolution_datetime: type: "string" format: "date-time" title: "Resolution Datetime" description: "Resolution time of the incident" examples: - "2023-10-01T12:00:00Z" impact_category: type: "string" title: "Impact Category" description: "Category of the impact" examples: - "High" sessions_impacted: type: "integer" title: "Sessions Impacted" description: "Number of sessions impacted" examples: - 1500 markdown: type: "string" title: "Markdown" description: "Detailed markdown description of the incident" examples: - "**Incident Details**" organization_id: anyOf: - type: "integer" - type: "null" title: "Organization Id" description: "The ID of the organization" examples: - 123 sub_organization_id: anyOf: - type: "integer" - type: "null" title: "Sub Organization Id" description: "The ID of the sub-organization" examples: - 456 sub_organization: anyOf: - type: "string" - type: "null" title: "Sub Organization" description: "The name of the sub-organization (DEPRECATED)" deprecated: true examples: - "SubOrg A" id: type: "integer" title: "Id" description: "The ID of the incident to update" examples: - 1 created_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Created At" description: "Creation time of the incident" examples: - "2023-10-01T08:00:00Z" updated_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Updated At" description: "Last update time of the incident" examples: - "2023-10-01T08:00:00Z" last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "The email of the user who last updated the incident" examples: - "user@mail.com" type: "object" required: - "description" - "start_datetime" - "resolution_datetime" - "impact_category" - "sessions_impacted" - "markdown" - "id" - "last_updated_by" title: "IncidentResponse" description: "Response model for service incident operations." IncidentUpdateRequest: properties: description: type: "string" title: "Description" description: "Description of the service incident" examples: - "Service outage in region X" start_datetime: type: "string" format: "date-time" title: "Start Datetime" description: "Start time of the incident" examples: - "2023-10-01T08:00:00Z" resolution_datetime: type: "string" format: "date-time" title: "Resolution Datetime" description: "Resolution time of the incident" examples: - "2023-10-01T12:00:00Z" impact_category: type: "string" title: "Impact Category" description: "Category of the impact" examples: - "High" sessions_impacted: type: "integer" title: "Sessions Impacted" description: "Number of sessions impacted" examples: - 1500 markdown: type: "string" title: "Markdown" description: "Detailed markdown description of the incident" examples: - "**Incident Details**" organization_id: anyOf: - type: "integer" - type: "null" title: "Organization Id" description: "The ID of the organization" examples: - 123 sub_organization_id: anyOf: - type: "integer" - type: "null" title: "Sub Organization Id" description: "The ID of the sub-organization" examples: - 456 sub_organization: anyOf: - type: "string" - type: "null" title: "Sub Organization" description: "The name of the sub-organization (DEPRECATED)" deprecated: true examples: - "SubOrg A" id: type: "integer" title: "Id" description: "The ID of the incident to update" examples: - 1 type: "object" required: - "description" - "start_datetime" - "resolution_datetime" - "impact_category" - "sessions_impacted" - "markdown" - "id" title: "IncidentUpdateRequest" description: "Request model to update an existing service incident." IncrementAction: properties: if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" action: type: "string" const: "inc" title: "Action" default: "inc" name: type: "string" title: "Name" description: "Numeric destination path to increment." by: type: "integer" title: "By" description: "Increment amount (defaults to 1)." default: 1 type: "object" required: - "name" title: "IncrementAction" InputParameter: properties: name: type: "string" title: "Name" description: "The name of the property." type: anyOf: - type: "string" enum: - "string" - "number" - "integer" - "boolean" - "object" - "array" - "null" - type: "null" title: "Type" description: anyOf: - type: "string" - type: "null" title: "Description" title: anyOf: - type: "string" - type: "null" title: "Title" format: anyOf: - type: "string" - type: "null" title: "Format" pattern: anyOf: - type: "string" - type: "null" title: "Pattern" enum: anyOf: - items: type: "string" type: "array" - type: "null" title: "Enum" examples: anyOf: - items: $ref: "#/components/schemas/JsonValue" type: "array" - type: "null" title: "Examples" required: type: "boolean" title: "Required" default: true type: "object" required: - "name" title: "InputParameter" InsightToolDefinition: properties: id: type: "integer" title: "Id" description: "Unique ID for insight tool definition" examples: - 1 name: type: "string" title: "Name" description: "Human-readable name of insight tool definition" examples: - "llm_tool" type: type: "string" title: "Type" description: "Type of insight tool definition" description: type: "string" title: "Description" description: "Text description of insight tool definition" examples: - "An LLM tool evaluates a transcript with a given prompt" tool_parameters: title: "Tool Parameters" description: "Parameters for tools that use this definition and their associated types" examples: - prompt: "string" tool_result_set: title: "Tool Result Set" description: "Result key/types for insight tool definition" examples: - summary: "string" type: "object" required: - "id" - "name" - "type" - "description" - "tool_parameters" - "tool_result_set" title: "InsightToolDefinition" description: "Model for an insight tool definition. This is a template that can be used by multiple insight\ntool configurations, each providing their own parameter values." InsightToolInput: properties: name: type: "string" title: "Name" description: "Human readable name of insight tool" examples: - "summary-tool" description: type: "string" title: "Description" description: "Text description of insight tool configuration" examples: - "This tool uses GPT4.1 to generate a summary of the call" version: type: "integer" title: "Version" description: "Version number of insight tool configuration" examples: - 1 tool_arguments: title: "Tool Arguments" description: "Arguments for calling the insight tool" examples: - prompt: "Provide a concise, accurate summary of the conversation's key points, focusing on the user's goal and how the agent responded" insight_tool_definition_id: type: "integer" title: "Insight Tool Definition Id" description: "Internal ID for the definition used by the insight tool configuration" examples: - 1 type: "object" required: - "name" - "description" - "version" - "tool_arguments" - "insight_tool_definition_id" title: "InsightToolInput" description: "Request model to create/update an insight tool configuration." InsightToolOutput: properties: name: type: "string" title: "Name" description: "Human readable name of insight tool" examples: - "summary-tool" description: type: "string" title: "Description" description: "Text description of insight tool configuration" examples: - "This tool uses GPT4.1 to generate a summary of the call" version: type: "integer" title: "Version" description: "Version of insight tool" examples: - 1 tool_arguments: title: "Tool Arguments" description: "Arguments for calling the insight tool" examples: - prompt: "Provide a concise, accurate summary of the conversation's key points, focusing on the user's goal and how the agent responded" insight_tool_definition_id: type: "integer" title: "Insight Tool Definition Id" description: "Unique ID for insight tool definition used by this tool configuration" examples: - 1 id: type: "integer" title: "Id" description: "Unique ID for insight tool" examples: - 1 insight_tool_definition: anyOf: - $ref: "#/components/schemas/InsightToolDefinition" - type: "null" description: "Insight Tool Definition" created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp of at which insight tool configuration was created" examples: - "2026-06-10T00:00:00Z" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp at which insight tool configuration was last updated" examples: - "2026-06-11T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of user who last updated insight tool configuration" examples: - "user@email.com" type: "object" required: - "name" - "description" - "version" - "tool_arguments" - "insight_tool_definition_id" - "id" - "last_updated_by" title: "InsightToolOutput" description: "Response model for an insight tool configuration." InsightToolProperties: type: "string" enum: - "id" - "name" - "name_exact" - "description" - "tool_arguments" - "insight_tool_definition_id" - "updated_at" title: "InsightToolProperties" InsightToolTestInput: properties: tool_name: type: "string" title: "Tool Name" description: "Human readable name of insight tool configuration" examples: - "summary-tool" session_id: anyOf: - type: "integer" - type: "null" title: "Session Id" description: "The session ID of the session against which to run the tool" examples: - "283467" upload_file_id: anyOf: - type: "integer" - type: "null" title: "Upload File Id" description: "The file ID of the uploaded file against which to run the tool" examples: - "283467" type: "object" required: - "tool_name" title: "InsightToolTestInput" description: "Request model to test an insight tool." InsightWorkflowActivate: properties: is_acknowledged: type: "boolean" title: "Is Acknowledged" description: "Flag to indicate if the user has acknowledged the estimate" examples: - true estimate: $ref: "#/components/schemas/InsightWorkflowEstimate" description: "Estimate of the number of calls that will be processed by the workflow" type: "object" required: - "is_acknowledged" - "estimate" title: "InsightWorkflowActivate" description: "Request model to activate an insight workflow." InsightWorkflowCondition: properties: min_duration: anyOf: - type: "integer" - type: "null" title: "Min Duration" description: "Minimum duration of the calls in seconds" examples: - 120 max_duration: anyOf: - type: "integer" - type: "null" title: "Max Duration" description: "Maximum duration of the calls in seconds" examples: - 600 sample_rate: anyOf: - type: "integer" - type: "number" - type: "null" title: "Sample Rate" description: "Sample rate as a percentage of calls" examples: - 0.1 - 10 agent_list: anyOf: - items: type: "integer" type: "array" - items: type: "string" type: "array" - type: "null" title: "Agent List" description: "List of agents" examples: - - 866324 - 826325 - - "Agnes.Wangeci" - "Dorice.Otaaba" prompt_list: anyOf: - items: type: "string" type: "array" - type: "null" title: "Prompt List" description: "List of prompts" examples: - - "123324" folder_list: anyOf: - items: type: "integer" type: "array" - type: "null" title: "Folder List" description: "List of folder IDs" examples: - - 16754 - 67535 sheet_info: anyOf: - additionalProperties: type: "string" type: "object" - type: "null" title: "Sheet Info" description: "Information about the sheet to be used for the workflow" examples: - sheet_id: "1AGOCYz05AZYYOMzow2EYlgdDXSXaWIhyA3-zCxBm4go" sheet_name: "Q1 Sales Data" type: "object" title: "InsightWorkflowCondition" description: "Model for the conditions that trigger an insight workflow." InsightWorkflowEstimate: properties: backfill_count: type: "integer" title: "Backfill Count" description: "Number of extant calls that will be processed by the workflow" examples: - 100 backfill_duration: type: "number" title: "Backfill Duration" description: "Estimated duration of the calls that will be processed by the workflow" examples: - 1000.0 estimated_daily_count: type: "integer" title: "Estimated Daily Count" description: "Estimated number of calls that will be processed by the workflow daily" examples: - 10 estimated_daily_duration: type: "number" title: "Estimated Daily Duration" description: "Estimated duration of the calls that will be processed by the workflow daily" examples: - "3674.11" estimated_daily_cost: type: "number" title: "Estimated Daily Cost" description: "Estimated cost of the calls that will be processed by the workflow daily" examples: - "45.25" estimated_backfill_cost: type: "number" title: "Estimated Backfill Cost" description: "Estimated cost of the backfill of the calls that will be processed by the workflow" examples: - "4561.00" type: "object" required: - "backfill_count" - "backfill_duration" - "estimated_daily_count" - "estimated_daily_duration" - "estimated_daily_cost" - "estimated_backfill_cost" title: "InsightWorkflowEstimate" description: "Response model for an insight workflow." InsightWorkflowInput: properties: name: type: "string" title: "Name" description: "Human-readable name of insight workflow" examples: - "summary-workflow" source: type: "string" title: "Source" description: "Source of the workflow" examples: - "agent" - "transfer" - "upload" - "sheet" - "manual" description: type: "string" title: "Description" description: "Text description of workflow" examples: - "Default workflow - generates a summary of the call" insight_tool_ids: items: type: "integer" type: "array" title: "Insight Tool Ids" description: "Ordered list of IDs of tool configurations to be executed in the workflow" examples: - - 1 conditions: $ref: "#/components/schemas/InsightWorkflowCondition" description: "Conditions (filters) on which a workflow should be triggered." start_datetime: anyOf: - type: "string" format: "date-time" - type: "null" title: "Start Datetime" description: "Target session timestamp the workflow (backfill) should start. An empty value indicates start on activation - live sessions only" examples: - "2026-06-10T00:00:00Z" end_datetime: anyOf: - type: "string" format: "date-time" - type: "null" title: "End Datetime" description: "Target session timestamp the workflow (backfill) should end. An empty value indicates no end, i.e., include live sessions until deactivation" examples: - "2026-06-11T00:00:00Z" type: "object" required: - "name" - "source" - "description" - "insight_tool_ids" - "conditions" title: "InsightWorkflowInput" description: "Request model to create/update an insight workflow." InsightWorkflowOutput: properties: name: type: "string" title: "Name" description: "Human-readable name of insight workflow" examples: - "summary-workflow" source: type: "string" title: "Source" description: "Source of the workflow" examples: - "agent" - "transfer" - "upload" - "sheet" - "manual" description: type: "string" title: "Description" description: "Text description of workflow" examples: - "Default workflow - generates a summary of the call" insight_tool_ids: items: type: "integer" type: "array" title: "Insight Tool Ids" description: "Ordered list of IDs of tool configurations to be executed in the workflow" examples: - - 1 conditions: $ref: "#/components/schemas/InsightWorkflowCondition" description: "Conditions (filters) on which a workflow should be triggered." start_datetime: anyOf: - type: "string" format: "date-time" - type: "null" title: "Start Datetime" description: "Target session timestamp the workflow (backfill) should start. An empty value indicates start on activation - live sessions only" examples: - "2026-06-10T00:00:00Z" end_datetime: anyOf: - type: "string" format: "date-time" - type: "null" title: "End Datetime" description: "Target session timestamp the workflow (backfill) should end. An empty value indicates no end, i.e., include live sessions until deactivation" examples: - "2026-06-11T00:00:00Z" id: type: "integer" title: "Id" description: "Internal ID of the insight workflow" examples: - 1 insight_tools: items: $ref: "#/components/schemas/InsightToolOutput" type: "array" title: "Insight Tools" description: "List of insight tool configurations used in the workflow" status: type: "string" title: "Status" description: "Status of the insight workflow" examples: - "ACTIVE" - "INACTIVE" estimate: $ref: "#/components/schemas/InsightWorkflowEstimate" description: "Estimate of the number of calls that will be processed by the workflow and their cost" queue_count: anyOf: - type: "integer" - type: "null" title: "Queue Count" description: "Number of calls in the workflow queue (pending or processing)" examples: - 10 failed_count: anyOf: - type: "integer" - type: "null" title: "Failed Count" description: "Number of workflow executions currently in FAILED status" examples: - 2 created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp at which the insight workflow was created" examples: - "2026-06-10T00:00:00Z" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of most recent update to the insight workflow" examples: - "2026-06-11T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of user who last updated Insight Workflow" examples: - "user@email.com" type: "object" required: - "name" - "source" - "description" - "insight_tool_ids" - "conditions" - "id" - "insight_tools" - "status" - "estimate" - "last_updated_by" title: "InsightWorkflowOutput" description: "Response model for an insight workflow." InsightWorkflowProperties: type: "string" enum: - "id" - "name" - "name_exact" - "description" - "status" - "conditions" - "insight_tool_ids" - "updated_at" title: "InsightWorkflowProperties" InsightsFolder: properties: name: type: "string" title: "Name" description: "Human-readable name of insight folder" examples: - "customer-complaints" label: anyOf: - type: "string" - type: "null" title: "Label" description: "optional label assigned to insight folder" examples: - "support" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Text description of insight upload folder" examples: - "Call recordings related to customer complaints" id: type: "integer" title: "Id" description: "System-assign folder ID" examples: - 182764 created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp at which insight upload folder was created" examples: - "2026-06-10T00:00:00Z" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp at which insight upload folder was last updated" examples: - "2026-06-11T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of user who last updated upload folder" examples: - "user@email.com" type: "object" required: - "name" - "id" - "last_updated_by" title: "InsightsFolder" description: "Response model for an insight upload folder." InsightsFolderFileMove: properties: destination_folder_id: type: "integer" title: "Destination Folder Id" description: "System-assign folder ID" examples: - 182764 file_id_list: items: type: "integer" type: "array" title: "File Id List" description: "List of system-assigned IDs for the files to be moved" examples: - "[12334,23445,34556]" type: "object" required: - "destination_folder_id" - "file_id_list" title: "InsightsFolderFileMove" description: "Request model to move files between insight upload folders." InsightsFolderInput: properties: name: type: "string" title: "Name" description: "Human-readable name of insight folder" examples: - "customer-complaints" label: anyOf: - type: "string" - type: "null" title: "Label" description: "optional label assigned to insight folder" examples: - "support" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Text description of insight upload folder" examples: - "Call recordings related to customer complaints" type: "object" required: - "name" title: "InsightsFolderInput" description: "Request model to create/update an insight upload folder." InsightsFolderProperties: type: "string" enum: - "id" - "name" - "name_exact" - "label" - "updated_at" title: "InsightsFolderProperties" InsightsOutput: properties: id: type: "integer" title: "Id" description: "Unique ID of the insight" examples: - 1 session_id: anyOf: - type: "integer" - type: "null" title: "Session Id" description: "Unique ID for the session" examples: - 12341 upload_file_id: anyOf: - type: "integer" - type: "null" title: "Upload File Id" description: "Unique ID for uploaded file" examples: - 12535 insight_tool_id: type: "integer" title: "Insight Tool Id" description: "Unique ID for insight tool configuration" examples: - 34531 insight_tool_version: type: "integer" title: "Insight Tool Version" description: "Version of insight tool configuration" examples: - 1 workflow_id: anyOf: - type: "integer" - type: "null" title: "Workflow Id" description: "Insight workflow that produced this row, if applicable" examples: - 42 insight_key: type: "string" title: "Insight Key" description: "Key for insight tool result" examples: - "summary" string_value: anyOf: - type: "string" - type: "null" title: "String Value" description: "String value of insight tool result" examples: - "This is a summary of the call" numeric_value: anyOf: - type: "number" - type: "null" title: "Numeric Value" description: "Numeric value of insight tool result" examples: - 1.0 json_value: additionalProperties: anyOf: - type: "string" - type: "integer" - type: "number" type: "object" title: "Json Value" description: "JSON value of insight tool result" examples: - content: " was there anything else that I can assist you with other than this" role: "assistant" start_time: 289 created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp at which insight tool result was created" examples: - "2026-06-10T00:00:00Z" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp at which insight tool result was last updated" examples: - "2026-06-11T00:00:00Z" upload_file_metadata: title: "Upload File Metadata" description: "Metadata associated with the uploaded file" examples: - duration: "00:10:00" size: "10MB" type: "object" required: - "id" - "insight_tool_id" - "insight_tool_version" - "insight_key" - "json_value" title: "InsightsOutput" description: "Response model for an insight tool." InsightsProperties: type: "string" enum: - "id" - "session_id" - "upload_file_id" - "workflow_id" - "upload_folder_id" - "insight_key" - "insight_tool_id" title: "InsightsProperties" InsightsUploadFile: properties: id: type: "integer" title: "Id" description: "System-assigned ID for the upload file" examples: - 182764 folder_id: type: "integer" title: "Folder Id" description: "System-assigned ID for the folder to which the file belongs" examples: - 182764 filename: type: "string" title: "Filename" description: "Name of the uploaded file" examples: - "customer-complaints.wav" object_key: type: "string" title: "Object Key" description: "Object-store key of the uploaded file" examples: - "UPLOAD_CALL_ID/recording/2025/04/22/15/00/ce7d212e-80b0-4f0b-9e01-74322f146611.mp3" call_id: anyOf: - type: "string" - type: "null" title: "Call Id" description: "Unique identifier for the call associated with the uploaded file" examples: - "12345" agent_number: anyOf: - type: "string" - type: "null" title: "Agent Number" description: "Agent number associated with the uploaded file" examples: - "1234567890" customer_number: anyOf: - type: "string" - type: "null" title: "Customer Number" description: "Customer number associated with the uploaded file" examples: - "0987654321" duration: anyOf: - type: "number" - type: "null" title: "Duration" description: "Length in seconds of the uploaded recording" examples: - 305.5 start_time: anyOf: - type: "string" format: "date-time" - type: "null" title: "Start Time" description: "Start time of the uploaded file" examples: - "2026-06-10T00:00:00Z" end_time: anyOf: - type: "string" format: "date-time" - type: "null" title: "End Time" description: "End time of the uploaded file" examples: - "2026-06-11T00:00:00Z" error_message: anyOf: - type: "string" - type: "null" title: "Error Message" description: "Error message associated with the uploaded file" examples: - "File not found" metadata: anyOf: - additionalProperties: anyOf: - type: "string" - type: "integer" - type: "number" type: "object" - type: "null" title: "Metadata" description: "Meta-data associated with the uploaded file" examples: - duration: "00:10:00" size: "10MB" created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp at which insight upload file was created" examples: - "2026-06-10T00:00:00Z" type: "object" required: - "id" - "folder_id" - "filename" - "object_key" title: "InsightsUploadFile" description: "Response model for an insight upload file." InsightsUploadFileProperties: type: "string" enum: - "filename" - "filename_exact" - "call_id" - "agent_number" - "customer_number" - "duration" - "start_time" - "end_time" - "created_at" title: "InsightsUploadFileProperties" InsightsWorkflowQueueSession: properties: workflow_name: type: "string" title: "Workflow Name" description: "Unique name for workflow" examples: - "summary-workflow" session_id_list: anyOf: - items: type: "integer" type: "array" - type: "null" title: "Session Id List" description: "List of session identifiers" examples: - "[12334,23445,34556]" file_id_list: anyOf: - items: type: "integer" type: "array" - type: "null" title: "File Id List" description: "List of file IDs to be processed. This is only applicable for upload folders" examples: - "[1234,1678,2224]" type: "object" required: - "workflow_name" title: "InsightsWorkflowQueueSession" description: "Session identifier for workflow queue." InspectLatencyResponse: properties: session_id: type: "string" title: "Session Id" timeline: items: $ref: "#/components/schemas/LatencyEntry" type: "array" title: "Timeline" summary: items: $ref: "#/components/schemas/SummaryEntry" type: "array" title: "Summary" type: "object" required: - "session_id" - "timeline" title: "InspectLatencyResponse" description: "This is a report of the time spent in each operation during this session. It contains a timeline,\nwhich lists the operations in the order they were executed, and a summary, which aggregates the\noperations by category and sub-category." InternalTool: properties: type: type: "string" const: "function" title: "Type" description: "Always `function`." default: "function" examples: - "function" function: $ref: "#/components/schemas/ToolFunction" description: "The tool function definition, including the JSON Schema of its parameters." examples: [] type: "object" required: - "function" title: "InternalTool" description: "A tool definition to be used by the OpenAI API." JMESPathExpression: properties: expression: type: "string" title: "Expression" description: "JMESPath expression string." examples: - "inputs.can_sign_consent == `true`" type: type: "string" enum: - "jp" - "jmespath" title: "Type" description: "JMESPath expression language selector. Use with object form {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}." default: "jp" type: "object" required: - "expression" title: "JMESPathExpression" description: "JMESPath expression object.\n\nUse this object form to explicitly mark JMESPath syntax:\n{\"type\": \"jp\", \"expression\": \"inputs.can_sign_consent == `true`\"}\nSee https://jmespath.org/specification.html#grammar" JsonValue: {} LanguageCode: type: "string" enum: - "yue-HK" - "en-US" - "ko-KR" - "zh-CN" - "fa-IR" - "es-US" - "th-TH" - "vi-VN" - "bs-BA" - "sw-KE" - "ru-RU" - "hi-IN" - "gu-IN" - "ar-XA" - "fr-FR" - "ja-JP" - "ne-NP" title: "LanguageCode" description: "BCP 47 codes of languages that Syllable supports." LanguageConfig: properties: language_code: $ref: "#/components/schemas/LanguageCode" description: "BCP 47 code of the language" examples: - "en-US" voice_provider: $ref: "#/components/schemas/TtsProvider" description: "TTS provider of the voice to use for the language" examples: - "OpenAI" voice_display_name: $ref: "#/components/schemas/AgentVoiceDisplayName" description: "Display name of the voice to use for the language" examples: - "Alloy" voice_speed: anyOf: - type: "number" - type: "null" title: "Voice Speed" description: "Speed of the voice in the range of 0.25 to 4.0 (OpenAI and Google) or 0.7 to 1.2 (ElevenLabs). Standard speed is 1.0." examples: - 1.0 voice_pitch: anyOf: - type: "number" - type: "null" title: "Voice Pitch" description: "Pitch of the voice in the range of -20.0 to 20.0. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. 0 means use the original pitch. Only supported for Google configs." examples: - 0.0 dtmf_code: type: "integer" title: "Dtmf Code" description: "DTMF code that should be used for the language in the menu generated from the language group." examples: - 1 type: "object" required: - "language_code" - "voice_provider" - "voice_display_name" - "dtmf_code" title: "LanguageConfig" description: "Voice and DTMF configurations for a language in a language group. List of available voices\nand their supported languages can be fetched from `GET /agents/voices/available/`." LanguageGroupAgentInfo: properties: id: type: "integer" title: "Id" description: "The ID of the agent" examples: - 1 name: type: "string" title: "Name" description: "The name of the agent" examples: - "Test Agent" type: "object" required: - "id" - "name" title: "LanguageGroupAgentInfo" description: "Information about an agent linked to a language group." LanguageGroupCreateRequest: properties: name: type: "string" title: "Name" description: "The name of the language group." examples: - "Call Center 1 Languages" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the language group." examples: - "Languages spoken by operators at Call Center 1" language_configs: items: $ref: "#/components/schemas/LanguageConfig" type: "array" title: "Language Configs" description: "Voice and DTMF configurations for each language in the group." examples: - - dtmf_code: 1 language_code: "en-US" voice_display_name: "Alloy" voice_provider: "OpenAI" - dtmf_code: 2 language_code: "es-US" voice_display_name: "es-US-Neural2-B" voice_provider: "Google" skip_current_language_in_message: type: "boolean" title: "Skip Current Language In Message" description: "Whether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu." examples: - true type: "object" required: - "name" - "language_configs" - "skip_current_language_in_message" title: "LanguageGroupCreateRequest" description: "Request model to create a voice group." LanguageGroupProperties: type: "string" enum: - "name" - "description" - "skip_current_language_in_message" - "updated_at" - "last_updated_by" title: "LanguageGroupProperties" description: "Deprecated enum mirroring `VoiceGroupProperties` values." LanguageGroupResponse: properties: name: type: "string" title: "Name" description: "The name of the language group." examples: - "Call Center 1 Languages" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the language group." examples: - "Languages spoken by operators at Call Center 1" language_configs: items: $ref: "#/components/schemas/LanguageConfig" type: "array" title: "Language Configs" description: "Voice and DTMF configurations for each language in the group." examples: - - dtmf_code: 1 language_code: "en-US" voice_display_name: "Alloy" voice_provider: "OpenAI" - dtmf_code: 2 language_code: "es-US" voice_display_name: "es-US-Neural2-B" voice_provider: "Google" skip_current_language_in_message: type: "boolean" title: "Skip Current Language In Message" description: "Whether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu." examples: - true id: type: "integer" title: "Id" description: "The ID of the language group to update." examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "Comments for the most recent edit to the language group." examples: - "Added Spanish support." agents_info: anyOf: - items: $ref: "#/components/schemas/LanguageGroupAgentInfo" type: "array" - type: "null" title: "Agents Info" description: "IDs and names of the agents linked to the language group" examples: - - id: 1 name: "Test Agent" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of the last update to the language group." examples: - "2024-01-01T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of the user who last updated the language group." examples: - "user@mail.com" type: "object" required: - "name" - "language_configs" - "skip_current_language_in_message" - "id" - "updated_at" - "last_updated_by" title: "LanguageGroupResponse" description: "Response model for voice group operations.\nA voice group is a collection of language, voice, and DTMF configuration that can be\nlinked to an agent to define the languages and voices it supports. For more information, see\n[Console docs](https://docs.syllable.ai/Resources/VoiceGroups)." LanguageGroupUpdateRequest: properties: name: type: "string" title: "Name" description: "The name of the language group." examples: - "Call Center 1 Languages" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the language group." examples: - "Languages spoken by operators at Call Center 1" language_configs: items: $ref: "#/components/schemas/LanguageConfig" type: "array" title: "Language Configs" description: "Voice and DTMF configurations for each language in the group." examples: - - dtmf_code: 1 language_code: "en-US" voice_display_name: "Alloy" voice_provider: "OpenAI" - dtmf_code: 2 language_code: "es-US" voice_display_name: "es-US-Neural2-B" voice_provider: "Google" skip_current_language_in_message: type: "boolean" title: "Skip Current Language In Message" description: "Whether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu." examples: - true id: type: "integer" title: "Id" description: "The ID of the language group to update." examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "Comments for the most recent edit to the language group." examples: - "Added Spanish support." type: "object" required: - "name" - "language_configs" - "skip_current_language_in_message" - "id" title: "LanguageGroupUpdateRequest" description: "Request model to update an existing voice group." LanguageSampleCreateRequest: properties: language_code: $ref: "#/components/schemas/LanguageCode" description: "BCP 47 code of the language" examples: - "en-US" voice_provider: $ref: "#/components/schemas/TtsProvider" description: "TTS provider of the voice to use for the language" examples: - "OpenAI" voice_display_name: $ref: "#/components/schemas/AgentVoiceDisplayName" description: "Display name of the voice to use for the language" examples: - "Alloy" voice_speed: anyOf: - type: "number" - type: "null" title: "Voice Speed" description: "Speed of the voice in the range of 0.25 to 4.0 (OpenAI and Google) or 0.7 to 1.2 (ElevenLabs). Standard speed is 1.0." examples: - 1.0 voice_pitch: anyOf: - type: "number" - type: "null" title: "Voice Pitch" description: "Pitch of the voice in the range of -20.0 to 20.0. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. 0 means use the original pitch. Only supported for Google configs." examples: - 0.0 text: type: "string" title: "Text" description: "Text to generate for this voice." default: "" apply_pronunciation_overrides: type: "boolean" title: "Apply Pronunciation Overrides" description: "Apply TTS pronunciation fixes." default: false type: "object" required: - "language_code" - "voice_provider" - "voice_display_name" title: "LanguageSampleCreateRequest" description: "Request model to generate a sample audio file for a given voice and language." LatencyCategory: type: "string" enum: - "tts" - "stt" - "llm" - "tool" - "http" title: "LatencyCategory" LatencyEntry: properties: timestamp: type: "string" format: "date-time" title: "Timestamp" measurement_start: type: "string" format: "date-time" title: "Measurement Start" category: $ref: "#/components/schemas/LatencyCategory" label: type: "string" title: "Label" metadata: anyOf: - items: type: "string" type: "array" - type: "null" title: "Metadata" unit_type: $ref: "#/components/schemas/LatencyUnitType" value: type: "number" title: "Value" value_str: type: "string" title: "Value Str" time_delta: type: "string" title: "Time Delta" type: "object" required: - "timestamp" - "measurement_start" - "category" - "label" - "unit_type" - "value" - "value_str" - "time_delta" title: "LatencyEntry" description: "Data model for latency entries." LatencyUnitType: type: "string" enum: - "minutes" - "seconds" - "milliseconds" - "microseconds" - "nanoseconds" title: "LatencyUnitType" LineTypeBucket: type: "string" enum: - "mobile" - "landline" - "voip" title: "LineTypeBucket" description: "Friendly line-type buckets a campaign can be restricted to dial.\n\nThese map to raw Twilio Lookup v2 line types via\n``lib.twilio.line_type_lookup.LINE_TYPE_BUCKETS``." ListResponse_AgentResponse_: properties: items: items: $ref: "#/components/schemas/AgentResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[AgentResponse]" ListResponse_AvailableTarget_: properties: items: items: $ref: "#/components/schemas/AvailableTarget" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[AvailableTarget]" ListResponse_ChannelTargetResponse_: properties: items: items: $ref: "#/components/schemas/ChannelTargetResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[ChannelTargetResponse]" ListResponse_Channel_: properties: items: items: $ref: "#/components/schemas/Channel" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[Channel]" ListResponse_CommunicationBatch_: properties: items: items: $ref: "#/components/schemas/CommunicationBatch" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[CommunicationBatch]" ListResponse_Conversation_: properties: items: items: $ref: "#/components/schemas/Conversation" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[Conversation]" ListResponse_CustomMessageResponse_: properties: items: items: $ref: "#/components/schemas/CustomMessageResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[CustomMessageResponse]" ListResponse_DashboardResponse_: properties: items: items: $ref: "#/components/schemas/DashboardResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[DashboardResponse]" ListResponse_DataSourceMetadataResponse_: properties: items: items: $ref: "#/components/schemas/DataSourceMetadataResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[DataSourceMetadataResponse]" ListResponse_DirectoryMemberHistoryResponse_: properties: items: items: $ref: "#/components/schemas/DirectoryMemberHistoryResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[DirectoryMemberHistoryResponse]" ListResponse_DirectoryMember_: properties: items: items: $ref: "#/components/schemas/DirectoryMember" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[DirectoryMember]" ListResponse_Event_: properties: items: items: $ref: "#/components/schemas/Event" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[Event]" ListResponse_IncidentResponse_: properties: items: items: $ref: "#/components/schemas/IncidentResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[IncidentResponse]" ListResponse_InsightToolOutput_: properties: items: items: $ref: "#/components/schemas/InsightToolOutput" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[InsightToolOutput]" ListResponse_InsightWorkflowOutput_: properties: items: items: $ref: "#/components/schemas/InsightWorkflowOutput" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[InsightWorkflowOutput]" ListResponse_InsightsFolder_: properties: items: items: $ref: "#/components/schemas/InsightsFolder" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[InsightsFolder]" ListResponse_InsightsOutput_: properties: items: items: $ref: "#/components/schemas/InsightsOutput" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[InsightsOutput]" ListResponse_InsightsUploadFile_: properties: items: items: $ref: "#/components/schemas/InsightsUploadFile" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[InsightsUploadFile]" ListResponse_LanguageGroupResponse_: properties: items: items: $ref: "#/components/schemas/LanguageGroupResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[LanguageGroupResponse]" ListResponse_OutboundCampaign_: properties: items: items: $ref: "#/components/schemas/OutboundCampaign" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[OutboundCampaign]" ListResponse_PromptResponse_: properties: items: items: $ref: "#/components/schemas/PromptResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[PromptResponse]" ListResponse_RoleResponse_: properties: items: items: $ref: "#/components/schemas/RoleResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[RoleResponse]" ListResponse_ServiceResponse_: properties: items: items: $ref: "#/components/schemas/ServiceResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[ServiceResponse]" ListResponse_SessionLabel_: properties: items: items: $ref: "#/components/schemas/SessionLabel" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[SessionLabel]" ListResponse_Session_: properties: items: items: $ref: "#/components/schemas/Session" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[Session]" ListResponse_ToolHistoryResponse_: properties: items: items: $ref: "#/components/schemas/ToolHistoryResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[ToolHistoryResponse]" ListResponse_ToolResponse_: properties: items: items: $ref: "#/components/schemas/ToolResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[ToolResponse]" ListResponse_UserResponse_: properties: items: items: $ref: "#/components/schemas/UserResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[UserResponse]" ListResponse_VoiceGroupResponse_: properties: items: items: $ref: "#/components/schemas/VoiceGroupResponse" type: "array" title: "Items" description: "List of items returned from the query" examples: [] page: type: "integer" title: "Page" description: "The page number of the results (0-based)" examples: - 0 page_size: type: "integer" title: "Page Size" description: "The number of items returned per page" examples: - 25 total_pages: anyOf: - type: "integer" - type: "null" title: "Total Pages" description: "The total number of pages of results given the indicated page size" examples: - 4 total_count: anyOf: - type: "integer" - type: "null" title: "Total Count" description: "The total number of items returned from the query" examples: - 100 type: "object" required: - "items" - "page" - "page_size" title: "ListResponse[VoiceGroupResponse]" LoadToolFromFileTask: properties: id: anyOf: - type: "string" - type: "null" title: "Id" description: "A unique identifier for the task." config: anyOf: - additionalProperties: $ref: "#/components/schemas/JsonValue" type: "object" - type: "null" title: "Config" variables: anyOf: - items: $ref: "#/components/schemas/Variable" type: "array" - type: "null" title: "Variables" metadata: anyOf: - $ref: "#/components/schemas/ContextTaskMetadata" - type: "null" tool: anyOf: - $ref: "#/components/schemas/ContextToolInfo" - type: "null" type: type: "string" const: "import" title: "Type" default: "import" version: type: "string" const: "v1alpha" title: "Version" default: "v1alpha" file: anyOf: - type: "string" - items: type: "string" type: "array" title: "File" description: "The local path of the tool definition JSON file." type: "object" required: - "file" title: "LoadToolFromFileTask" description: "Bootstraps a tool from a file (for internal developer use only if ENV.local=True)." LoginType: type: "string" enum: - "google" - "username_and_password" title: "LoginType" description: "The type of login to use for the user." MatchType: type: "string" enum: - "exact" - "substring" title: "MatchType" description: "Matching strategy for override text." NextStep: properties: if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" id: type: "string" title: "Id" description: "The identifier of the next step." requires: anyOf: - items: type: "string" type: "array" - type: "null" title: "Requires" description: "List of input field names required for this transition. Validates that specified inputs are collected before allowing transition." type: "object" required: - "id" title: "NextStep" description: "Represents a conditional transition to the next step." OrderByDirection: type: "string" enum: - "asc" - "desc" title: "OrderByDirection" description: "The direction in which to order list results, either ascending or descending." OrganizationChannelConfig: properties: account_sid: anyOf: - type: "string" - type: "null" title: "Account Sid" description: "SID of the Twilio account" examples: - "AC123..." auth_token: anyOf: - type: "string" - type: "null" title: "Auth Token" description: "The Twilio auth token" examples: - "sometoken" provider_credentials: anyOf: - additionalProperties: type: "string" type: "object" - type: "null" title: "Provider Credentials" description: "Provider-specific credentials. Initially to be used for AfricasTalking creds.In a future this would be used for Twilio creds too (removing the account_sid and auth_token fields)." examples: - api_key: "atk123" username: "test_username" telephony: anyOf: - $ref: "#/components/schemas/TelephonyConfigurations" - type: "null" description: "Telephony configurations to be applied to the targets under the channel" examples: - interruptibility: "dtmf_only" overall_input_timeout: 20.0 passive_input_start: 0.5 passive_speech_input_enabled: true pre_input_timeout: 1.2 email: anyOf: - $ref: "#/components/schemas/EmailConfigurations" - type: "null" description: "Email configurations (required for email channels)" examples: - sending_domain: "mail.example.com" type: "object" title: "OrganizationChannelConfig" description: "Channel config information for creates / updates through the organizations API" OrganizationChannelCreateRequest: properties: name: type: "string" title: "Name" description: "The channel name" examples: - "twilio" channel_service: $ref: "#/components/schemas/ChannelServices" description: "The service that facilitates communication on the channel" examples: - "webchat" supported_modes: anyOf: - type: "string" - type: "null" title: "Supported Modes" description: "The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it." examples: - "chat,voice" is_system_channel: type: "boolean" title: "Is System Channel" description: "Whether the channel is a built-in system channel (i.e., is not customizable)" default: true examples: - false config: $ref: "#/components/schemas/OrganizationChannelConfig" description: "The configuration of the channel" examples: - account_sid: "AC123" auth_token: "sometoken" telephony: interruptibility: "dtmf_only" passive_input_start: 0.5 passive_speech_input_enabled: true pre_input_timeout: 3.0 - provider_credentials: api_key: "atk123" username: "test_username" telephony: interruptibility: "dtmf_only" passive_input_start: 0.5 passive_speech_input_enabled: true pre_input_timeout: 3.0 type: "object" required: - "name" - "channel_service" - "config" title: "OrganizationChannelCreateRequest" description: "Request model to create a channel through the organizations API" OrganizationChannelUpdateRequest: properties: name: type: "string" title: "Name" description: "The channel name" examples: - "twilio" channel_service: $ref: "#/components/schemas/ChannelServices" description: "The service that facilitates communication on the channel" examples: - "webchat" supported_modes: anyOf: - type: "string" - type: "null" title: "Supported Modes" description: "The comma-delimited list of supported modes for the channel, which defines the possible communication methods for channel targets linked to it." examples: - "chat,voice" is_system_channel: type: "boolean" title: "Is System Channel" description: "Whether the channel is a built-in system channel (i.e., is not customizable)" default: true examples: - false config: $ref: "#/components/schemas/OrganizationChannelConfig" description: "The configuration of the channel" examples: - account_sid: "AC123" auth_token: "sometoken" telephony: interruptibility: "dtmf_only" passive_input_start: 0.5 passive_speech_input_enabled: true pre_input_timeout: 3.0 - provider_credentials: api_key: "atk123" username: "test_username" telephony: interruptibility: "dtmf_only" passive_input_start: 0.5 passive_speech_input_enabled: true pre_input_timeout: 3.0 id: type: "integer" title: "Id" description: "The internal ID of the channel" examples: - 1 type: "object" required: - "name" - "channel_service" - "config" - "id" title: "OrganizationChannelUpdateRequest" description: "Request model to update a channel through the organizations API" OrganizationResponse: properties: display_name: type: "string" title: "Display Name" description: "The human-readable display name of the organization." examples: - "My Great Org" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the organization." examples: - "An organization that does great things with agentic AI." domains: anyOf: - type: "string" - type: "null" title: "Domains" description: "Comma-delimited list of domains that users at the organization may have in their email addresses." examples: - "mygreatorg.com,myothergreatorg.org" saml_provider_id: anyOf: - type: "string" - type: "null" title: "Saml Provider Id" description: "SAML provider ID for user authentication" examples: - "saml.syllablesso" id: type: "integer" title: "Id" description: "The internal ID of the organization." examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the organization." examples: - "Updated to add an additional domain" name: type: "string" title: "Name" description: "Unique, non-human-readable hash for the organization" slug: anyOf: - type: "string" - type: "null" title: "Slug" description: "The slug of the organization used for URLs in the Console UI. Null until slug backfill has been run." examples: - "my-great-org" last_updated: type: "string" format: "date-time" title: "Last Updated" description: "The timestamp of the most recent update to the organization" last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "The email of the user who most recently updated the organization" logo_url: anyOf: - type: "string" - type: "null" title: "Logo Url" description: "CDN URL. The org will always have a logo, but this value will be null on a response to an update where no logo was provided on the request" examples: - "https://image.png" type: "object" required: - "display_name" - "id" - "name" - "last_updated" title: "OrganizationResponse" OrganizationSipIpRange: properties: type: $ref: "#/components/schemas/OrganizationSipIpRangeType" description: "The SIP IP range type" examples: - "signaling" - "media" ip_range: anyOf: - type: "string" format: "ipv4network" - type: "string" format: "ipv6network" title: "Ip Range" description: "The SIP IP range in CIDR notation" examples: - "192.168.1.0/24" id: type: "integer" title: "Id" description: "The organization SIP IP range ID" organization_id: type: "integer" title: "Organization Id" description: "The Organization ID" verified: type: "boolean" title: "Verified" description: "Whether Syllable has verified this SIP IP range.Verification implies that the Syllable team has updated the firewall rules on the SBCs, confirmed traffic is correctly established from/to the customer network and calls to Syllable agents are working." created_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Created At" description: "The timestamp when the range was created" updated_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Updated At" description: "The timestamp when the range was last updated" deleted_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Deleted At" description: "The timestamp when the IP was deleted" type: "object" required: - "type" - "ip_range" - "id" - "organization_id" - "verified" title: "OrganizationSipIpRange" description: "SIP IP range object." OrganizationSipIpRangeCreate: properties: type: $ref: "#/components/schemas/OrganizationSipIpRangeType" description: "The SIP IP range type" examples: - "signaling" - "media" ip_range: anyOf: - type: "string" format: "ipv4network" - type: "string" format: "ipv6network" title: "Ip Range" description: "The SIP IP range in CIDR notation" examples: - "192.168.1.0/24" type: "object" required: - "type" - "ip_range" title: "OrganizationSipIpRangeCreate" description: "The request body for creating a new SIP IP range." OrganizationSipIpRangeType: type: "string" enum: - "signaling" - "media" title: "OrganizationSipIpRangeType" description: "The type of SIP IP range. Signaling IP ranges are used for SIP signaling traffic (e.g. SIP INVITE,\nSIP REFER, SIP OPTIONS, etc.), while media IP ranges are used for SIP media traffic\n(audio and video)." OrganizationSipIpRangeUpdate: properties: type: anyOf: - $ref: "#/components/schemas/OrganizationSipIpRangeType" - type: "null" description: "The SIP IP range type" examples: - "signaling" - "media" ip_range: anyOf: - type: "string" format: "ipv4network" - type: "string" format: "ipv6network" - type: "null" title: "Ip Range" description: "The SIP IP range in CIDR notation" examples: - "192.168.1.0/24" type: "object" title: "OrganizationSipIpRangeUpdate" description: "The request body for updating a SIP IP range." OutboundCampaign: properties: campaign_name: type: "string" title: "Campaign Name" description: "Human readable name of campaign" examples: - "Outbound Campaign 1" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of campaign" examples: - "This is a test campaign" mode: anyOf: - type: "string" - type: "null" title: "Mode" description: "Mode of the campaign (e.g. voice, sms, email)" examples: - "voice" - "sms" - "email" sms_session_ttl: anyOf: - type: "integer" - type: "null" title: "Sms Session Ttl" description: "Time to live for SMS session in minutes" examples: - 720 label: anyOf: - type: "string" - type: "null" title: "Label" description: "Label for campaign (DEPRECATED - use labels instead)" deprecated: true examples: - "test" - "demo" labels: anyOf: - items: type: "string" type: "array" - type: "null" title: "Labels" description: "Labels for campaign" examples: - - "test" - "demo" campaign_variables: additionalProperties: type: "string" type: "object" title: "Campaign Variables" description: "Variables for campaign" examples: - key: "value" key2: "value2" daily_start_time: anyOf: - type: "string" - type: "null" title: "Daily Start Time" description: "Start time of campaign each day" examples: - "09:00:00" daily_end_time: anyOf: - type: "string" - type: "null" title: "Daily End Time" description: "End time of campaign each day" examples: - "17:00:00" source: anyOf: - type: "string" - type: "null" title: "Source" description: "Source phone number, email, or SMS number" examples: - "+19032900844" - "account@email.com" caller_id: anyOf: - type: "string" - type: "null" title: "Caller Id" description: "Caller ID for call" examples: - 19995551234 hourly_rate: type: "integer" maximum: 3600 minimum: 1 title: "Hourly Rate" description: "Target number of outreach calls per hour" default: 1 examples: - 25 max_daily_calls: anyOf: - type: "integer" - type: "null" title: "Max Daily Calls" description: "Maximum number of outreach calls per day" examples: - 2500 retry_count: type: "integer" title: "Retry Count" description: "Number of retries per target" default: 0 examples: - 1 retry_interval: anyOf: - type: "string" - type: "null" title: "Retry Interval" description: "How long to wait before retrying" examples: - "30m" - "12h" - "7d" active_days: items: $ref: "#/components/schemas/DaysOfWeek" type: "array" title: "Active Days" description: "Days of the week when campaign is active" examples: - "[\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"]" voicemail_detection: anyOf: - additionalProperties: type: "number" type: "object" - type: "null" title: "Voicemail Detection" description: "Config for voicemail detection for voice campaigns. Set to None to disable." default: voicemail_detection_overall_timeout: 30.0 voicemail_detection_pre_speech_timeout: 3.5 voicemail_detection_post_speech_timeout: 1.75 examples: - voicemail_detection_overall_timeout: 30.0 voicemail_detection_post_speech_timeout: 1.75 voicemail_detection_pre_speech_timeout: 3.5 allowed_line_types: anyOf: - items: $ref: "#/components/schemas/LineTypeBucket" type: "array" - type: "null" title: "Allowed Line Types" description: "Line-type buckets this campaign is allowed to dial. Empty or omitted means no filter (all line types are dialed)." examples: - - "mobile" - "voip" include_unknown_line_types: type: "boolean" title: "Include Unknown Line Types" description: "When a line-type filter is active, whether to also dial numbers whose line type is unknown or could not be classified. Has no effect when allowed_line_types is empty." default: true examples: - true id: type: "integer" title: "Id" description: "Unique ID for campaign" examples: - 1 agent_id: anyOf: - type: "integer" - type: "null" title: "Agent Id" description: "ID of agent assigned to campaign" examples: - "agent_id" created_at: type: "string" format: "date-time" title: "Created At" description: "Timestamp of campaign creation" examples: - "2026-06-11T00:00:00Z" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of campaign update" examples: - "2026-06-11T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of user who last updated campaign" examples: - "user@email.com" webhooks: anyOf: - items: $ref: "#/components/schemas/OutboundCampaignWebhookResponse" type: "array" - type: "null" title: "Webhooks" description: "Webhooks for campaign (note: this is an in-development feature - webhooks will not yet trigger even if configured)" examples: - id: 1 request_method: "POST" trigger_statuses: - "COMPLETED" url: "https://example.com/hooks/syllable" type: "object" required: - "campaign_name" - "campaign_variables" - "caller_id" - "active_days" - "id" - "last_updated_by" title: "OutboundCampaign" OutboundCampaignInput: properties: campaign_name: type: "string" title: "Campaign Name" description: "Human readable name of campaign" examples: - "Outbound Campaign 1" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of campaign" examples: - "This is a test campaign" mode: anyOf: - type: "string" - type: "null" title: "Mode" description: "Mode of the campaign (e.g. voice, sms, email)" examples: - "voice" - "sms" - "email" sms_session_ttl: anyOf: - type: "integer" - type: "null" title: "Sms Session Ttl" description: "Time to live for SMS session in minutes" examples: - 720 label: anyOf: - type: "string" - type: "null" title: "Label" description: "Label for campaign (DEPRECATED - use labels instead)" deprecated: true examples: - "test" - "demo" labels: anyOf: - items: type: "string" type: "array" - type: "null" title: "Labels" description: "Labels for campaign" examples: - - "test" - "demo" campaign_variables: additionalProperties: type: "string" type: "object" title: "Campaign Variables" description: "Variables for campaign" examples: - key: "value" key2: "value2" daily_start_time: anyOf: - type: "string" - type: "null" title: "Daily Start Time" description: "Start time of campaign each day" examples: - "09:00:00" daily_end_time: anyOf: - type: "string" - type: "null" title: "Daily End Time" description: "End time of campaign each day" examples: - "17:00:00" source: anyOf: - type: "string" - type: "null" title: "Source" description: "Source phone number, email, or SMS number" examples: - "+19032900844" - "account@email.com" caller_id: anyOf: - type: "string" - type: "null" title: "Caller Id" description: "Caller ID for call" examples: - 19995551234 hourly_rate: type: "integer" maximum: 3600 minimum: 1 title: "Hourly Rate" description: "Target number of outreach calls per hour" default: 1 examples: - 25 max_daily_calls: anyOf: - type: "integer" - type: "null" title: "Max Daily Calls" description: "Maximum number of outreach calls per day" examples: - 2500 retry_count: type: "integer" title: "Retry Count" description: "Number of retries per target" default: 0 examples: - 1 retry_interval: anyOf: - type: "string" - type: "null" title: "Retry Interval" description: "How long to wait before retrying" examples: - "30m" - "12h" - "7d" active_days: items: $ref: "#/components/schemas/DaysOfWeek" type: "array" title: "Active Days" description: "Days of the week when campaign is active" examples: - "[\"mon\", \"tue\", \"wed\", \"thu\", \"fri\"]" voicemail_detection: anyOf: - additionalProperties: type: "number" type: "object" - type: "null" title: "Voicemail Detection" description: "Config for voicemail detection for voice campaigns. Set to None to disable." default: voicemail_detection_overall_timeout: 30.0 voicemail_detection_pre_speech_timeout: 3.5 voicemail_detection_post_speech_timeout: 1.75 examples: - voicemail_detection_overall_timeout: 30.0 voicemail_detection_post_speech_timeout: 1.75 voicemail_detection_pre_speech_timeout: 3.5 allowed_line_types: anyOf: - items: $ref: "#/components/schemas/LineTypeBucket" type: "array" - type: "null" title: "Allowed Line Types" description: "Line-type buckets this campaign is allowed to dial. Empty or omitted means no filter (all line types are dialed)." examples: - - "mobile" - "voip" include_unknown_line_types: type: "boolean" title: "Include Unknown Line Types" description: "When a line-type filter is active, whether to also dial numbers whose line type is unknown or could not be classified. Has no effect when allowed_line_types is empty." default: true examples: - true webhooks: items: $ref: "#/components/schemas/OutboundCampaignWebhookInput" type: "array" title: "Webhooks" description: "Webhooks for campaign (note: this is an in-development feature - webhooks will not yet trigger even if configured)" default: [] examples: - request_method: "POST" trigger_statuses: - "COMPLETED" url: "https://example.com/hooks/syllable" type: "object" required: - "campaign_name" - "campaign_variables" - "caller_id" - "active_days" title: "OutboundCampaignInput" OutboundCampaignWebhookInput: properties: trigger_statuses: items: $ref: "#/components/schemas/ChannelManagerStatus" type: "array" title: "Trigger Statuses" description: "Condition expression evaluated when the trigger fires" examples: - "campaign_id == 1 && channel_manager_status == 'COMPLETED'" url: type: "string" title: "Url" description: "HTTPS URL to which to send the webhook payload" examples: - "https://example.com/hooks/syllable" request_method: type: "string" title: "Request Method" description: "HTTP method for the outbound request (POST, PUT, or PATCH)" examples: - "POST" id: anyOf: - type: "integer" - type: "null" title: "Id" description: "Unique ID for webhook, if updating an existing webhook" examples: - 1 auth_values: anyOf: - additionalProperties: anyOf: - type: "string" - type: "null" type: "object" - type: "null" title: "Auth Values" description: "Optional dict of auth values. Currently, only the key \"hmac_secret\" is allowed; value must be standard Base64 (RFC 4648) decoding to 32–512 bytes of key material. On update, leave a value for a given key null and the stored value for that key is kept. (If a key is omitted entirely, any existing value for that key is removed.)" examples: - hmac_secret: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" type: "object" required: - "trigger_statuses" - "url" - "request_method" title: "OutboundCampaignWebhookInput" OutboundCampaignWebhookResponse: properties: trigger_statuses: items: $ref: "#/components/schemas/ChannelManagerStatus" type: "array" title: "Trigger Statuses" description: "Condition expression evaluated when the trigger fires" examples: - "campaign_id == 1 && channel_manager_status == 'COMPLETED'" url: type: "string" title: "Url" description: "HTTPS URL to which to send the webhook payload" examples: - "https://example.com/hooks/syllable" request_method: type: "string" title: "Request Method" description: "HTTP method for the outbound request (POST, PUT, or PATCH)" examples: - "POST" id: type: "integer" title: "Id" description: "Unique ID for webhook" examples: - 1 auth_value_keys: anyOf: - items: type: "string" type: "array" - type: "null" title: "Auth Value Keys" description: "Auth value keys (values omitted for security); only hmac_secret is currently supported" examples: - - "hmac_secret" type: "object" required: - "trigger_statuses" - "url" - "request_method" - "id" title: "OutboundCampaignWebhookResponse" PermissionGroupResponse: properties: name: type: "string" title: "Name" description: "Name of the permission group" examples: - "Agents" description: type: "string" title: "Description" description: "Description of the permission group" examples: - "View agents, create and edit agent configurations, and delete agents." permissions: items: $ref: "#/components/schemas/PermissionResponse" type: "array" title: "Permissions" description: "Permissions in the group" type: "object" required: - "name" - "description" - "permissions" title: "PermissionGroupResponse" description: "Information about a group of permissions related to the same feature." PermissionResponse: properties: name: type: "string" title: "Name" description: "Name of the permission" examples: - "agents_read" display_name: type: "string" title: "Display Name" description: "Display name of the permission" examples: - "View" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the permission" examples: - "Fetch agent information" type: "object" required: - "name" - "display_name" title: "PermissionResponse" description: "Information about a permission." PromptCreateRequest: properties: name: type: "string" title: "Name" description: "The prompt name" examples: - "Weather Agent Prompt" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the prompt" examples: - "Prompt for a weather agent." type: type: "string" title: "Type" description: "The type of the prompt" examples: - "prompt_v1" context: anyOf: - type: "string" - type: "null" title: "Context" description: "The prompt text that will be sent to the LLM at the beginning of the conversation" examples: - "You are a weather agent. Answer the user's questions about weather and nothing else." tools: items: type: "string" type: "array" title: "Tools" description: "Names of tools to which the prompt has access" default: [] examples: - [] llm_config: $ref: "#/components/schemas/PromptLlmConfig" description: "The configuration for the LLM that the prompt uses" examples: - model: "gpt-4o" provider: "openai" version: "2024-08-06" session_end_enabled: type: "boolean" title: "Session End Enabled" description: "Whether session end functionality is enabled for this prompt" default: false examples: - false session_end_tool_id: anyOf: - type: "integer" - type: "null" title: "Session End Tool Id" description: "ID of the optional session end tool associated with the prompt" examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "The comments for the most recent edit to the prompt" examples: - "Updated prompt text to include requirement to not answer questions that aren't about weather." include_default_tools: type: "boolean" title: "Include Default Tools" description: "Whether to include the default tools (`hangup`) in the list of tools for the prompt (also includes set_current_language if any of the agents assigned to the prompt have Dynamic Language Switching enabled). If you disable this during creation, you might want to disable it during updates as well; otherwise the default tools will be added when updating the prompt." default: true examples: - true type: "object" required: - "name" - "type" - "llm_config" title: "PromptCreateRequest" description: "Request model to create a prompt." PromptHistory: properties: timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Timestamp of the change resulting in this version" examples: - "2024-01-01T12:00:00Z" prompt_id: type: "string" title: "Prompt Id" description: "ID of the prompt" examples: - "1" version_number: type: "integer" title: "Version Number" description: "Version number of this version. Starts at 1 when prompt is created, and incremented on each change." examples: - 1 prompt_text: type: "string" title: "Prompt Text" description: "Text of the prompt at this version" examples: - "You are a weather agent. Answer the user's questions about weather and nothing else." prompt_description: anyOf: - type: "string" - type: "null" title: "Prompt Description" description: "Description of the prompt at this version" examples: - "Prompt for a weather agent." prompt_name: type: "string" title: "Prompt Name" description: "Name of the prompt at this version" examples: - "Weather Agent Prompt" llm_config: anyOf: - $ref: "#/components/schemas/PromptLlmConfig" - type: "null" description: "String representation of LLM config for the prompt at this version" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "Comments describing the change that resulted in this version" examples: - "Updated prompt text to include requirement to not answer questions that aren't about weather." user_email: type: "string" title: "User Email" description: "Email address of the user who made the change that resulted in this version" examples: - "user@email.com" linked_tools: items: $ref: "#/components/schemas/PromptHistoryLinkedTool" type: "array" title: "Linked Tools" description: "Tools that were linked to this version of the prompt" default: [] session_end_tool: anyOf: - $ref: "#/components/schemas/PromptHistoryLinkedTool" - type: "null" description: "Session end tool that was configured on this version of the prompt, if any" is_pre_enhancements: type: "boolean" title: "Is Pre Enhancements" description: "Whether this version of the prompt was created before history of tool-prompt linking was tracked" examples: - true type: "object" required: - "timestamp" - "prompt_id" - "version_number" - "prompt_text" - "prompt_name" - "user_email" - "is_pre_enhancements" title: "PromptHistory" description: "Record of a specific version of a prompt." PromptHistoryLinkedTool: properties: tool_id: type: "integer" title: "Tool Id" description: "ID of the tool" examples: - 1 current_tool_name: type: "string" title: "Current Tool Name" description: "Current name of the tool (may have been different at the time the given version of the prompt was created)" examples: - "hangup" out_of_date: type: "boolean" title: "Out Of Date" description: "Whether the tool has changed (not including being deleted) since the given version of the prompt was created" examples: - false deleted: type: "boolean" title: "Deleted" description: "Whether the tool has been deleted since the given version of the prompt was created" examples: - false type: "object" required: - "tool_id" - "current_tool_name" - "out_of_date" - "deleted" title: "PromptHistoryLinkedTool" description: "Record of a tool linked to a previous prompt version in the prompt history." PromptLlmConfig: properties: provider: $ref: "#/components/schemas/PromptLlmProvider" description: "Provider of the LLM model." default: "azure_openai" examples: - "anthropic" - "azure_openai" - "google" - "openai" model: type: "string" title: "Model" description: "Name of the model. Must match the deployment name in Azure AI Studio." default: "gpt-4o" examples: - "gpt-4o" version: anyOf: - type: "string" - type: "null" title: "Version" description: "Optional model version." examples: - "2024-05-13" api_version: anyOf: - type: "string" - type: "null" title: "Api Version" description: "Version of the provider's API." examples: - "2024-06-01" temperature: anyOf: - type: "number" - type: "null" title: "Temperature" description: "Temperature parameter for the model. Determines randomness of responses - higher is more random, lower is more focused. Must be between 0.0 and 2.0, inclusive." examples: - 1.0 seed: anyOf: - type: "integer" - type: "null" title: "Seed" description: "Controls the reproducibility of the job. The LLM will give the same or similar responses given the same inputs in multiple conversations with the same seed." examples: - 123 type: "object" title: "PromptLlmConfig" description: "LLM configuration for a prompt." PromptLlmProvider: type: "string" enum: - "anthropic" - "azure_openai" - "google" - "openai" title: "PromptLlmProvider" description: "LLM API provider." PromptProperties: type: "string" enum: - "id" - "name" - "name_exact" - "description" - "name_description" - "context" - "tools" - "llm_config" - "last_updated" - "last_updated_by" - "agent_count" - "session_end_enabled" title: "PromptProperties" description: "Names of prompt fields supported for filtering/sorting on list endpoint." PromptResponse: properties: name: type: "string" title: "Name" description: "The prompt name" examples: - "Weather Agent Prompt" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the prompt" examples: - "Prompt for a weather agent." type: type: "string" title: "Type" description: "The type of the prompt" examples: - "prompt_v1" context: anyOf: - type: "string" - type: "null" title: "Context" description: "The prompt text that will be sent to the LLM at the beginning of the conversation" examples: - "You are a weather agent. Answer the user's questions about weather and nothing else." tools: items: type: "string" type: "array" title: "Tools" description: "Names of the tools to which the prompt has access (DEPRECATED - use information from full tools field instead)" default: [] deprecated: true examples: - "hangup" - "summary" llm_config: $ref: "#/components/schemas/PromptLlmConfig" description: "The configuration for the LLM that the prompt uses" examples: - model: "gpt-4o" provider: "openai" version: "2024-08-06" session_end_enabled: type: "boolean" title: "Session End Enabled" description: "Whether session end functionality is enabled for this prompt" default: false examples: - false session_end_tool_id: anyOf: - type: "integer" - type: "null" title: "Session End Tool Id" description: "ID of the optional session end tool associated with the prompt" examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "The comments for the most recent edit to the prompt" examples: - "Updated prompt text to include requirement to not answer questions that aren't about weather." id: type: "integer" title: "Id" description: "The internal ID of the prompt" examples: - 1 last_updated: anyOf: - type: "string" - type: "null" title: "Last Updated" description: "The last updated date of the prompt" examples: - "2024-01-01T12:00:00Z" last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "Email address of the user who most recently updated the prompt" examples: - "user@email.com" session_end_tool: anyOf: - $ref: "#/components/schemas/DaoToolResponse" - type: "null" description: "The session end tool associated with the prompt" examples: [] agent_count: anyOf: - type: "integer" - type: "null" title: "Agent Count" description: "The number of agents using the prompt" examples: - 5 version_number: anyOf: - type: "integer" - type: "null" title: "Version Number" description: "The version number of the current version of the prompt" examples: - 1 tools_full: anyOf: - items: $ref: "#/components/schemas/ToolResponse" type: "array" - type: "null" title: "Tools Full" description: "Full definitions of tools to which the prompt has access" examples: [] type: "object" required: - "name" - "type" - "llm_config" - "id" - "last_updated" title: "PromptResponse" description: "Response model for prompt operations.\nA prompt defines the behavior of an agent by delivering instructions to the LLM about how the\nagent should behave. A prompt can be linked to one or more agents. A prompt can also be linked to\ntools to allow an agent using it to use those tools. For more information, see\n[Console docs](https://docs.syllable.ai/Resources/Prompts)." PromptUpdateRequest: properties: name: type: "string" title: "Name" description: "The prompt name" examples: - "Weather Agent Prompt" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the prompt" examples: - "Prompt for a weather agent." type: type: "string" title: "Type" description: "The type of the prompt" examples: - "prompt_v1" context: anyOf: - type: "string" - type: "null" title: "Context" description: "The prompt text that will be sent to the LLM at the beginning of the conversation" examples: - "You are a weather agent. Answer the user's questions about weather and nothing else." tools: items: type: "string" type: "array" title: "Tools" description: "Names of tools to which the prompt has access" default: [] examples: - [] llm_config: $ref: "#/components/schemas/PromptLlmConfig" description: "The configuration for the LLM that the prompt uses" examples: - model: "gpt-4o" provider: "openai" version: "2024-08-06" session_end_enabled: type: "boolean" title: "Session End Enabled" description: "Whether session end functionality is enabled for this prompt" default: false examples: - false session_end_tool_id: anyOf: - type: "integer" - type: "null" title: "Session End Tool Id" description: "ID of the optional session end tool associated with the prompt" examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "The comments for the most recent edit to the prompt" examples: - "Updated prompt text to include requirement to not answer questions that aren't about weather." id: type: "integer" title: "Id" description: "The internal ID of the prompt" examples: - 1 include_default_tools: type: "boolean" title: "Include Default Tools" description: "Whether to include the default tools (`hangup`) in the list of tools for the prompt (also includes set_current_language if any of the agents assigned to the prompt have Dynamic Language Switching enabled). If you remove one of the default tools from your prompt, you might want to disable this option so that the tool is not added again when updated." default: true examples: - true type: "object" required: - "name" - "type" - "llm_config" - "id" title: "PromptUpdateRequest" description: "Request model to update an existing prompt." 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." 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" 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." RequestStatus: type: "string" enum: - "PENDING" - "DUPLICATE" - "INITIATED" - "CONNECTED" - "COMPLETED" - "FAILED" - "CANCELED" - "INVALID" - "SKIPPED" title: "RequestStatus" description: "Status of a communication request." RequestStatusBreakdown: properties: total_count: type: "integer" title: "Total Count" description: "Total number of requests with this request_status" counts: anyOf: - additionalProperties: type: "integer" type: "object" - type: "null" title: "Counts" description: "Counts by channel_manager_status within this request_status; omitted if none" examples: - DELIVERED: 2 PENDING: 3 SENT: 5 type: "object" required: - "total_count" title: "RequestStatusBreakdown" description: "Per-request_status breakdown with total count and optional channel_manager_status counts." RoleCreateRequest: properties: name: type: "string" title: "Name" description: "The name of the role." examples: - "Prompt Engineer" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the role." examples: - "Role for users who can fetch and change prompts" permissions: items: type: "string" type: "array" title: "Permissions" description: "The permissions associated with the role. Available permissions can be found by calling `GET /permissions`." examples: - - "prompts_read" - "prompts_write" - "prompts_delete" type: "object" required: - "name" - "permissions" title: "RoleCreateRequest" description: "Request model to create a role." RoleProperties: type: "string" enum: - "name" - "description" - "updated_at" - "last_updated_by" title: "RoleProperties" description: "Names of role fields supported for filtering/sorting on list endpoint." RoleResponse: properties: name: type: "string" title: "Name" description: "The name of the role." examples: - "Prompt Engineer" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the role." examples: - "Role for users who can fetch and change prompts" permissions: items: type: "string" type: "array" title: "Permissions" description: "The permissions associated with the role. Available permissions can be found by calling `GET /permissions`." examples: - - "prompts_read" - "prompts_write" - "prompts_delete" id: type: "integer" title: "Id" description: "The internal ID of the role." examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the role." examples: - "Updated to add delete permission" is_system_role: type: "boolean" title: "Is System Role" description: "Whether this is a built-in system role that cannot be updated or deleted" examples: - false last_updated: type: "string" format: "date-time" title: "Last Updated" description: "The timestamp of the most recent update to the role" last_updated_by: type: "string" title: "Last Updated By" description: "The email of the user who last updated the role" examples: - "user@email.com" type: "object" required: - "name" - "permissions" - "id" - "is_system_role" - "last_updated" - "last_updated_by" title: "RoleResponse" description: "Information about a role." RoleUpdateRequest: properties: name: type: "string" title: "Name" description: "The name of the role." examples: - "Prompt Engineer" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the role." examples: - "Role for users who can fetch and change prompts" permissions: items: type: "string" type: "array" title: "Permissions" description: "The permissions associated with the role. Available permissions can be found by calling `GET /permissions`." examples: - - "prompts_read" - "prompts_write" - "prompts_delete" id: type: "integer" title: "Id" description: "The internal ID of the role." examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the role." examples: - "Updated to add delete permission" type: "object" required: - "name" - "permissions" - "id" title: "RoleUpdateRequest" description: "Request model to update an existing role." SaveAction: properties: if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" action: type: "string" const: "save" title: "Action" default: "save" name: anyOf: - type: "string" - type: "null" title: "Name" description: "Target name to save (defaults to global variable)." inputs: anyOf: - items: type: "string" type: "array" - type: "null" title: "Inputs" description: "Input field names to persist; None saves all collected inputs." type: "object" title: "SaveAction" SayAction: properties: if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" text: type: "string" title: "Text" description: "Text to apply if the condition is true." action: type: "string" const: "say" title: "Action" default: "say" role: type: "string" enum: - "user" - "assistant" title: "Role" description: "The role of the message." default: "assistant" type: "object" required: - "text" title: "SayAction" ServiceCreateRequest: properties: name: type: "string" title: "Name" description: "The name of the service" examples: - "Weather tools" description: type: "string" title: "Description" description: "The description of the service" examples: - "Service containing tools for fetching weather information" auth_type: anyOf: - $ref: "#/components/schemas/ToolAuthType" - type: "null" description: "The type of authentication to use for the service's tools" examples: - "basic" auth_values: anyOf: - {} - type: "null" title: "Auth Values" description: "The values to use for the authentication, as a dict. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, arbitrary header keys if auth type is custom_headers. or \"client_id\", \"client_secret\", and \"auth_url\" keys if auth type is oauth2. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)" examples: - password: "my-password" username: "my-username" type: "object" required: - "name" - "description" title: "ServiceCreateRequest" description: "Request model to create a service." ServiceProperties: type: "string" enum: - "id" - "name" - "description" - "last_updated" - "last_updated_by" title: "ServiceProperties" description: "Names of service fields supported for filtering/sorting on list endpoint." ServiceResponse: properties: id: type: "integer" title: "Id" description: "The internal ID of the service" examples: - 1 name: type: "string" title: "Name" description: "The name of the service" examples: - "Weather tools" description: type: "string" title: "Description" description: "The description of the service" examples: - "Service containing tools for fetching weather information" auth_type: anyOf: - $ref: "#/components/schemas/ToolAuthType" - type: "null" description: "The type of authentication to use for the service's tools" examples: - "basic" auth_value_keys: anyOf: - items: type: "string" type: "array" - type: "null" title: "Auth Value Keys" description: "Auth value keys (values omitted for security)" examples: - - "username" - "password" last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Free text providing comment about what was updated" examples: - "Updated description to correct typo" last_updated: type: "string" format: "date-time" title: "Last Updated" description: "The timestamp of the most recent update to the service" examples: - "2024-01-01T12:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "The email of the user who last updated the service" examples: - "user@email.com" tools: items: type: "string" type: "array" title: "Tools" description: "Names of tools that belong to the service" examples: - - "hangup" - "summary" type: "object" required: - "id" - "name" - "description" - "last_updated" - "last_updated_by" - "tools" title: "ServiceResponse" description: "Response model for service operations. A service is a collection of tools." ServiceUpdateRequest: properties: name: type: "string" title: "Name" description: "The name of the service" examples: - "Weather tools" description: type: "string" title: "Description" description: "The description of the service" examples: - "Service containing tools for fetching weather information" auth_type: anyOf: - $ref: "#/components/schemas/ToolAuthType" - type: "null" description: "The type of authentication to use for the service's tools" examples: - "basic" auth_values: anyOf: - {} - type: "null" title: "Auth Values" description: "The values to use for the authentication, as a dict. Should contain \"username\" and \"password\" keys if auth type is basic, \"token\" key if auth type is bearer, arbitrary header keys if auth type is custom_headers. or \"client_id\", \"client_secret\", and \"auth_url\" keys if auth type is oauth2. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)" examples: - password: "my-password" username: "my-username" id: type: "integer" title: "Id" description: "The internal ID of the service" examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Free text providing comment about what was updated" examples: - "Updated description to correct typo" type: "object" required: - "name" - "description" - "id" title: "ServiceUpdateRequest" description: "Request model to update an existing service." Session: properties: timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Timestamp of the session" session_id: anyOf: - type: "string" - type: "null" title: "Session Id" description: "Internal ID of the session, generated based on interaction details" conversation_id: anyOf: - type: "string" - type: "null" title: "Conversation Id" description: "ID of the conversation of which the session is a part" channel_manager_service: anyOf: - type: "string" - type: "null" title: "Channel Manager Service" description: "Name of the service used to facilitate the session" examples: - "hedy" - "console" channel_manager_type: anyOf: - type: "string" - type: "null" title: "Channel Manager Type" description: "Type of the service used to facilitate the session" examples: - "voice_sip_v1" - "voice_twilio_v1" - "web_chat_v1" channel_manager_sid: anyOf: - type: "string" - type: "null" title: "Channel Manager Sid" description: "Channel-manager-side ID of the session (different from session_id)" agent_id: anyOf: - type: "string" - type: "null" title: "Agent Id" description: "ID of the agent with which the session occurred" agent_name: anyOf: - type: "string" - type: "null" title: "Agent Name" description: "Name of the agent with which the session occurred" agent_type: anyOf: - type: "string" - type: "null" title: "Agent Type" description: "Type of the agent with which the session occurred" agent_timezone: anyOf: - type: "string" - type: "null" title: "Agent Timezone" description: "Timezone of the agent with which the session occurred" prompt_id: anyOf: - type: "string" - type: "null" title: "Prompt Id" description: "ID of the prompt used by the agent with which the session occurred" prompt_name: anyOf: - type: "string" - type: "null" title: "Prompt Name" description: "Name of the prompt used by the agent with which the session occurred" prompt_version: anyOf: - type: "string" - type: "null" title: "Prompt Version" description: "Legacy prompt version timestamp used by the agent with which the session occurred" prompt_version_number: anyOf: - type: "integer" - type: "null" title: "Prompt Version Number" description: "Prompt version number used by the agent with which the session occurred (new system)" duration: anyOf: - type: "number" - type: "null" title: "Duration" description: "Duration of the session in seconds" session_label_id: anyOf: - type: "string" - type: "null" title: "Session Label Id" description: "ID of the label (listing the quality of the session and any issues that occurred) associated with the session" source: anyOf: - type: "string" - type: "null" title: "Source" description: "Source of the session (e.g., for an inbound session, the user's phone number/username/email)" examples: - "+18042221111" - "user@email.com" target: anyOf: - type: "string" - type: "null" title: "Target" description: "The name of the channel target associated with the agent at the time of the session (see ChannelTargetResponse.target)" is_legacy: anyOf: - type: "boolean" - type: "null" title: "Is Legacy" description: "Whether the session occurred on the legacy Syllable system" is_test: anyOf: - type: "boolean" - type: "null" title: "Is Test" description: "Whether the session is a test session" is_outbound: anyOf: - type: "boolean" - type: "null" title: "Is Outbound" description: "Whether the session direction is outbound (true) or inbound (false)." user_terminated: anyOf: - type: "boolean" - type: "null" title: "User Terminated" description: "Whether the voice session was ended by the recipient (outbound) / caller (inbound). False if the user was transferred or there was an error. Unset if the session was not a voice session." transfer_voicemail_detected: anyOf: - type: "boolean" - type: "null" title: "Transfer Voicemail Detected" description: "Whether a voicemail was detected during the transfer leg of the session" type: "object" required: - "timestamp" title: "Session" description: "A session is a building block of a conversation." SessionAction: properties: timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Timestamp of the tool invocation" tool_name: anyOf: - type: "string" - type: "null" title: "Tool Name" description: "Name of the tool that was invoked" tool_request: anyOf: - type: "string" - type: "null" title: "Tool Request" description: "Request sent to the tool API, if applicable" tool_result: anyOf: - type: "string" - type: "null" title: "Tool Result" description: "Response received from the tool API, if applicable" tool_error: anyOf: - type: "string" - type: "null" title: "Tool Error" description: "Error received from the tool API, if applicable" type: "object" required: - "timestamp" title: "SessionAction" description: "Information about a given tool invocation as part of a session." SessionData: properties: session_id: type: "integer" title: "Session Id" description: "Session ID" examples: - "123" source: type: "string" title: "Source" description: "Session source" examples: - "+1234567890" target: type: "string" title: "Target" description: "Session target" examples: - "+1239876543" is_test: type: "boolean" title: "Is Test" description: "Is test session" examples: - false messages: items: $ref: "#/components/schemas/SessionMessage" type: "array" title: "Messages" description: "Session messages" type: "object" required: - "session_id" - "source" - "target" - "is_test" - "messages" title: "SessionData" SessionLabel: properties: session_id: type: "integer" title: "Session Id" description: "The internal ID of the session (see Session.session_id)" examples: - 1 type: type: "string" title: "Type" description: "The type of the label (either \"auto-rating\" or \"human-rating\")" examples: - "auto-rating" - "human-rating" code: type: "string" title: "Code" description: "A code describing the quality of the labeled session (either \"GOOD\", \"OK\", \"BAD\", or \"N/A\")" examples: - "GOOD" - "OK" - "BAD" - "N/A" user_email: type: "string" title: "User Email" description: "The email of the user who created the label" examples: - "user@email.com" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "Comment string describing additional details about the session" issue_categories: anyOf: - items: type: "string" type: "array" - type: "null" title: "Issue Categories" description: "Descriptions of issues occurring in the labeled call" default: [] examples: - - "Silent treatment" - - "Speech transcription (STT)" id: type: "integer" title: "Id" description: "The internal ID of the label" examples: - 1 timestamp: type: "string" title: "Timestamp" description: "The timestamp at which the label was created" examples: - "2024-01-01T12:00:00Z" type: "object" required: - "session_id" - "type" - "code" - "user_email" - "id" - "timestamp" title: "SessionLabel" description: "Response model for session label operations.\nA session label is associated with a given session and contains an evaluation of quality and\ndescriptions of issues the user encountered in that session or other details." SessionLabelCreate: properties: session_id: type: "integer" title: "Session Id" description: "The internal ID of the session (see Session.session_id)" examples: - 1 type: type: "string" title: "Type" description: "The type of the label (either \"auto-rating\" or \"human-rating\")" examples: - "auto-rating" - "human-rating" code: type: "string" title: "Code" description: "A code describing the quality of the labeled session (either \"GOOD\", \"OK\", \"BAD\", or \"N/A\")" examples: - "GOOD" - "OK" - "BAD" - "N/A" user_email: type: "string" title: "User Email" description: "The email of the user who created the label" examples: - "user@email.com" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "Comment string describing additional details about the session" issue_categories: anyOf: - items: type: "string" type: "array" - type: "null" title: "Issue Categories" description: "Descriptions of issues occurring in the labeled call" default: [] examples: - - "Silent treatment" - - "Speech transcription (STT)" type: "object" required: - "session_id" - "type" - "code" - "user_email" title: "SessionLabelCreate" SessionLabelProperties: type: "string" enum: - "timestamp" - "session_id" - "type" - "code" - "user_email" - "issue_categories" - "session_id_list" title: "SessionLabelProperties" SessionMessage: properties: role: $ref: "#/components/schemas/DialogRole" description: "Dialog role" examples: - "agent" - "user" dialog: $ref: "#/components/schemas/DialogMessage" description: "Dialog message" tool_calls: items: $ref: "#/components/schemas/DialogToolCall" type: "array" title: "Tool Calls" description: "Tool calls" timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Message timestamp" examples: - "2024-06-19T00:00:00" type: "object" required: - "role" - "dialog" - "tool_calls" - "timestamp" title: "SessionMessage" SessionProperties: type: "string" enum: - "timestamp" - "session_id" - "conversation_id" - "channel_manager_service" - "channel_manager_type" - "channel_manager_sid" - "agent_type" - "agent_id" - "agent_name" - "prompt_id" - "prompt_name" - "source" - "target" - "duration" - "is_outbound" - "is_legacy" - "is_test" title: "SessionProperties" description: "Names of session fields supported for filtering/sorting on list endpoint." SessionRecordingResponse: properties: session_id: anyOf: - type: "string" - type: "null" title: "Session Id" description: "The internal ID of the session" examples: - 1 recordings: anyOf: - items: type: "string" type: "array" - type: "null" title: "Recordings" description: "List of recording URLs" examples: - - "https://example.com/recording1.mp3" - "https://example.com/recording2.mp3" type: "object" title: "SessionRecordingResponse" description: "Recording URLs for a given session." SessionSummaryResponse: properties: summary: anyOf: - type: "string" - type: "null" title: "Summary" description: "The AI summary of the session" examples: - "The customer service agent successfully assisted the caller with their inquiry and the call ended positively." rating: anyOf: - type: "string" - type: "null" title: "Rating" description: "The AI rating of the session" examples: - "Good" type: "object" title: "SessionSummaryResponse" description: "AI summary information for a given session." SessionText: properties: timestamp: type: "string" format: "date-time" title: "Timestamp" description: "Timestamp of the message" lang: anyOf: - type: "string" - type: "null" title: "Lang" description: "ISO 639 code of the language used for the message (may appear as \"unset\" if was not conclusively determined)" examples: - "en-US" - "es-US" - "unset" source: anyOf: - type: "string" - type: "null" title: "Source" description: "Whether the user or agent sent the message" examples: - "user" - "agent" text: anyOf: - type: "string" - type: "null" title: "Text" description: "Content of the message" type: "object" required: - "timestamp" title: "SessionText" description: "Information about a given message from a user to an agent or vice-versa." SessionTranscriptionResponse: properties: session_id: type: "string" title: "Session Id" description: "Internal ID of the session" transcription: items: $ref: "#/components/schemas/SessionText" type: "array" title: "Transcription" description: "Transcriptions of all messages in the session" actions: items: $ref: "#/components/schemas/SessionAction" type: "array" title: "Actions" description: "Tool invocations that occurred during the session" type: "object" required: - "session_id" - "transcription" - "actions" title: "SessionTranscriptionResponse" description: "Text transcript of a given session. For more information, see\n[Console docs](https://docs.syllable.ai/workspaces/Sessions)." SetValueAction: properties: value: anyOf: - $ref: "#/components/schemas/JsonValue" - type: "null" description: "Initial value of the variable." valueFrom: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "Valuefrom" description: "Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Mutually exclusive with value." examples: - "inputs.provided_dob == patient_dob" - expression: "inputs.provided_dob == patient_dob" type: "jmespath" - expression: "inputs.count + 1" type: "cel" if: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "If" description: "Condition to decide whether this item executes. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Example JMESPath string: \"inputs.can_sign_consent == `true`\"." examples: - "inputs.can_sign_consent == `true`" - expression: "inputs.can_sign_consent == `true`" type: "jp" - expression: "inputs.can_sign_consent == true" type: "cel" action: type: "string" const: "set" title: "Action" default: "set" name: type: "string" title: "Name" description: "Destination path to mutate (e.g. output.foo)." type: "object" required: - "name" title: "SetValueAction" StaticToolParameter: properties: name: type: "string" title: "Name" description: "The name of the parameter - must be unique within the tool." examples: - "temperature_unit" description: anyOf: - type: "string" - type: "null" title: "Description" description: "The description of the parameter." examples: - "Whether the temperature information should be fetched in celsius or fahrenheit." required: type: "boolean" title: "Required" description: "Whether the parameter is required to have a value assigned." examples: - true type: $ref: "#/components/schemas/StaticToolParameterType" description: "The expected type for the parameter." examples: - "string" default: anyOf: - {} - type: "null" title: "Default" description: "The default value for the parameter. If `type` is string, must be a string. If `type` is int, must be an int. If `type` is boolean, must be a boolean. If `type` is data_source_list, must be a list of strings (data source names)." examples: - "fahrenheit" type: "object" required: - "name" - "required" - "type" title: "StaticToolParameter" description: "A parameter for the tool whose value should be set at config time." StaticToolParameterType: type: "string" enum: - "string" - "int" - "boolean" - "data_source_list" title: "StaticToolParameterType" description: "The expected type for a static tool parameter." Step: properties: id: type: "string" title: "Id" description: "The unique identifier of the step." goal: type: "string" title: "Goal" description: "The goal of the step." instructions: items: anyOf: - $ref: "#/components/schemas/ConditionalText" - type: "string" type: "array" title: "Instructions" description: "The instructions for the step." tools: $ref: "#/components/schemas/StepTools" description: "The tools configuration for the step." inputs: items: $ref: "#/components/schemas/InputParameter" type: "array" title: "Inputs" description: "The inputs for the step." on: $ref: "#/components/schemas/StepEventActions" description: "The events that trigger the actions to be executed." next: items: anyOf: - $ref: "#/components/schemas/NextStep" - type: "string" type: "array" title: "Next" description: "The next steps to execute." type: "object" required: - "id" - "goal" title: "Step" StepEventActions: properties: start: anyOf: - items: oneOf: - $ref: "#/components/schemas/SetValueAction" - $ref: "#/components/schemas/IncrementAction" - $ref: "#/components/schemas/CallAction" - $ref: "#/components/schemas/SayAction" discriminator: propertyName: "action" mapping: call: "#/components/schemas/CallAction" inc: "#/components/schemas/IncrementAction" say: "#/components/schemas/SayAction" set: "#/components/schemas/SetValueAction" type: "array" - type: "null" title: "Start" description: "Actions to execute on the first input from the user." enter: anyOf: - items: oneOf: - $ref: "#/components/schemas/GetValueAction" - $ref: "#/components/schemas/SetValueAction" - $ref: "#/components/schemas/IncrementAction" - $ref: "#/components/schemas/CallAction" - $ref: "#/components/schemas/SayAction" discriminator: propertyName: "action" mapping: call: "#/components/schemas/CallAction" get: "#/components/schemas/GetValueAction" inc: "#/components/schemas/IncrementAction" load: "#/components/schemas/GetValueAction" say: "#/components/schemas/SayAction" set: "#/components/schemas/SetValueAction" type: "array" - type: "null" title: "Enter" description: "Actions to execute when entering a step (before collecting inputs)." presubmit: anyOf: - items: oneOf: - $ref: "#/components/schemas/GetValueAction" - $ref: "#/components/schemas/SetValueAction" - $ref: "#/components/schemas/IncrementAction" - $ref: "#/components/schemas/SaveAction" discriminator: propertyName: "action" mapping: get: "#/components/schemas/GetValueAction" inc: "#/components/schemas/IncrementAction" load: "#/components/schemas/GetValueAction" save: "#/components/schemas/SaveAction" set: "#/components/schemas/SetValueAction" type: "array" - type: "null" title: "Presubmit" description: "Actions to execute before validation (data-mutation only: set, inc, save). Use this to set default values for required fields that would otherwise fail validation." submit: anyOf: - items: oneOf: - $ref: "#/components/schemas/SetValueAction" - $ref: "#/components/schemas/IncrementAction" - $ref: "#/components/schemas/SaveAction" - $ref: "#/components/schemas/CallAction" - $ref: "#/components/schemas/SayAction" discriminator: propertyName: "action" mapping: call: "#/components/schemas/CallAction" inc: "#/components/schemas/IncrementAction" save: "#/components/schemas/SaveAction" say: "#/components/schemas/SayAction" set: "#/components/schemas/SetValueAction" type: "array" - type: "null" title: "Submit" description: "Actions to execute when the tool/step is submitted by the LLM." type: "object" title: "StepEventActions" description: "Actions to perform when events occur (enter, presubmit, submit)." StepTools: properties: call: anyOf: - type: "boolean" - type: "null" title: "Call" description: "Whether to force immediate tool call without user interaction." allow: anyOf: - items: type: "string" type: "array" - type: "null" title: "Allow" description: "List of allowed tool names for this step." allowGoToStep: anyOf: - type: "boolean" - type: "null" title: "Allowgotostep" description: "Whether to expose the go_to_step escape hatch to the LLM. Defaults to disabled." type: "object" title: "StepTools" description: "Configuration for tools available in a step." StepsTask: properties: id: anyOf: - type: "string" - type: "null" title: "Id" description: "A unique identifier for the task." config: anyOf: - additionalProperties: $ref: "#/components/schemas/JsonValue" type: "object" - type: "null" title: "Config" variables: anyOf: - items: $ref: "#/components/schemas/Variable" type: "array" - type: "null" title: "Variables" metadata: anyOf: - $ref: "#/components/schemas/ContextTaskMetadata" - type: "null" tool: anyOf: - $ref: "#/components/schemas/ContextToolInfo" - type: "null" type: type: "string" const: "steps" title: "Type" default: "steps" version: type: "string" const: "v1alpha" title: "Version" default: "v1alpha" start: type: "string" enum: - "auto" - "manual" title: "Start" description: "Controls when the workflow activation lifecycle runs. `auto` activates at session start; `manual` activates on first invocation." default: "auto" steps: items: $ref: "#/components/schemas/Step" type: "array" title: "Steps" type: "object" title: "StepsTask" SummaryEntry: properties: category: $ref: "#/components/schemas/LatencyCategory" sub_category: anyOf: - type: "string" - type: "null" title: "Sub Category" event_count: type: "integer" title: "Event Count" sum_ms: type: "number" title: "Sum Ms" sum_str: type: "string" title: "Sum Str" average_ms: type: "number" title: "Average Ms" average_str: type: "string" title: "Average Str" type: "object" required: - "category" - "event_count" - "sum_ms" - "sum_str" - "average_ms" - "average_str" title: "SummaryEntry" description: "A summary entry is an aggregation of latency entries by category and sub-category.\nIt contains the total and average latency for each category." SupportedLlm: properties: provider: $ref: "#/components/schemas/PromptLlmProvider" description: "Provider of the LLM model." default: "azure_openai" examples: - "azure_openai" model: type: "string" title: "Model" description: "Name of the model. Must match the deployment name in Azure AI Studio." default: "gpt-4o" examples: - "gpt-4o" display_name: type: "string" title: "Display Name" description: "Display name of the model. This is used for display purposes in the Console UI." examples: - "GPT-4o" version: anyOf: - type: "string" - type: "null" title: "Version" description: "Model version." examples: - "2024-05-13" api_version: anyOf: - type: "string" - type: "null" title: "Api Version" description: "Version of the provider's API." examples: - "2024-06-01" deprecated: type: "boolean" title: "Deprecated" description: "Whether the LLM config is deprecated and should not be used." examples: - false type: "object" required: - "display_name" - "deprecated" title: "SupportedLlm" description: "LLM config option that can be used on a prompt." TakeoutRequestStatus: type: "string" enum: - "pending" - "in_progress" - "completed" - "failed" - "canceled" title: "TakeoutRequestStatus" description: "Status of a takeout request." TakeoutStatusResponse: properties: job_id: type: "string" title: "Job Id" status: $ref: "#/components/schemas/TakeoutRequestStatus" updated_at: type: "string" format: "date-time" title: "Updated At" file_names: anyOf: - items: type: "string" type: "array" - type: "null" title: "File Names" type: "object" required: - "job_id" - "status" - "updated_at" title: "TakeoutStatusResponse" TargetModes: type: "string" enum: - "voice" - "chat" - "sms" - "email" - "whatsapp" title: "TargetModes" description: "Available modes (communication methods) for channel targets." TelephonyConfigurations: properties: pre_input_timeout: anyOf: - type: "number" maximum: 10 minimum: 0 - type: "null" title: "Pre Input Timeout" description: "Pre input silence threshold" post_speech_input_timeout: anyOf: - type: "number" maximum: 10 minimum: 0 - type: "null" title: "Post Speech Input Timeout" description: "Post speech silence timeout to determine input as ended." post_dtmf_input_timeout: anyOf: - type: "number" maximum: 10 minimum: 0 - type: "null" title: "Post Dtmf Input Timeout" description: "Post dtmf silence timeout to determine input as ended." overall_input_timeout: anyOf: - type: "number" maximum: 300 minimum: 0 - type: "null" title: "Overall Input Timeout" description: "Total input timeout" output_padding: anyOf: - type: "number" maximum: 5 minimum: -5 - type: "null" title: "Output Padding" description: "Number of seconds to start listening to user input before assistant speech ends" interruptibility: anyOf: - type: "string" - type: "null" title: "Interruptibility" description: "Interruptibility setting for user input.Valid values: none, dtmf_only, speech_only, all" passive_speech_input_enabled: anyOf: - type: "boolean" - type: "null" title: "Passive Speech Input Enabled" description: "Whether passive speech input is enabled (input while assistant is speaking)" passive_input_start: anyOf: - type: "number" maximum: 5 minimum: 0 - type: "null" title: "Passive Input Start" description: "Waiting time to start passive input (in seconds) after start of assistant speech" async_enabled: anyOf: - type: "boolean" - type: "null" title: "Async Enabled" description: "Whether asynchronous mode is enabled for the conversation" transfer_leg_voicemail_detection_enabled: anyOf: - type: "boolean" - type: "null" title: "Transfer Leg Voicemail Detection Enabled" description: "Whether transfer leg voicemail detection is enabled" type: "object" title: "TelephonyConfigurations" TestMessage: properties: service_name: type: "string" title: "Service Name" description: "Name of the service producing the message" source: type: "string" title: "Source" description: "Name of the source of the message - identifies the user, like an email or username." examples: - "user@email.com" text: anyOf: - type: "string" - type: "null" title: "Text" description: "The text of the message" examples: - "Hello" test_id: type: "string" title: "Test Id" description: "Channel-manager-side ID of the session (see Session.channel_manager_sid)" agent_id: type: "string" title: "Agent Id" description: "ID of the agent with which the chat is taking place" org_name: anyOf: - type: "string" - type: "null" title: "Org Name" description: "Unused: Name of the organization associated with the agent" deprecated: true override_timestamp: anyOf: - type: "string" - type: "null" title: "Override Timestamp" description: "Override for the timestamp of the message" session_start: type: "boolean" title: "Session Start" description: "Whether this message is the start of a new session" default: false type: "object" required: - "service_name" - "source" - "test_id" - "agent_id" title: "TestMessage" description: "Message sent in a test chat with an agent." TestMessageResponse: properties: test_id: type: "string" title: "Test Id" description: "Channel-manager-side ID of the session (see Session.channel_manager_sid)" agent_id: type: "string" title: "Agent Id" description: "ID of the agent with which the chat is taking place" text: type: "string" title: "Text" description: "The text of the message that elicited the response" response: anyOf: - {} - type: "null" title: "Response" description: "The response from the agent" response_text: type: "string" title: "Response Text" description: "The text of the response" type: "object" required: - "test_id" - "agent_id" - "response" title: "TestMessageResponse" description: "Response from an agent in a test chat." ToolAgentInfo: properties: id: type: "integer" title: "Id" description: "The internal ID of the agent" examples: - 1 name: type: "string" title: "Name" description: "The name of the agent" examples: - "Test Agent" type: "object" required: - "id" - "name" title: "ToolAgentInfo" description: "Information about an agent linked to a tool via a prompt." ToolArgumentLocation: type: "string" enum: - "body" - "form" - "path" - "query" title: "ToolArgumentLocation" description: "The location of the argument in a tool HTTP request.\n'body' is used for JSON data in the POST request body.\n'form' is used for form data in the POST request body.\n'path' is used for URL path parameters.\n'query' is used for query parameters in the URL." ToolAuthType: type: "string" enum: - "basic" - "bearer" - "custom_headers" - "oauth2" title: "ToolAuthType" ToolCreateRequest: properties: name: type: "string" title: "Name" description: "The name of the tool" examples: - "Weather Fetcher" definition: $ref: "#/components/schemas/ToolDefinition" description: "The definition of the tool" examples: - endpoint: argument_location: "query" method: "get" url: "https://api.open-meteo.com/v1/forecast" static_parameters: - default: "fahrenheit" description: "Whether the temperature information should be fetched in Celsius or Fahrenheit" name: "temperature_unit" required: false type: "string" tool: function: description: "Get the weather for a city" name: "get_weather" parameters: properties: latitude: description: "Latitude of the city" type: "number" longitude: description: "Longitude of the city" type: "number" current: default: "temperature_2m,relative_humidity_2m,precipitation,rain,showers" description: "Information to retrieve from the open-meteo API, comma-separated" type: "string" required: - "latitude" - "longitude" - "current" type: "object" type: "function" type: "endpoint" service_id: type: "integer" title: "Service Id" description: "Internal ID of the service to which the tool belongs" examples: - 1 type: "object" required: - "name" - "definition" - "service_id" title: "ToolCreateRequest" description: "Request model to create a tool." ToolDefinition: properties: type: anyOf: - type: "string" enum: - "action" - "endpoint" - "context" - "log" - type: "null" title: "Type" description: "The action to take when the LLM calls the tool." examples: - "endpoint" tool: $ref: "#/components/schemas/InternalTool" description: "The tool definition to be used by the OpenAI API." examples: [] endpoint: anyOf: - $ref: "#/components/schemas/ToolHttpEndpoint" - type: "null" description: "The configuration for an HTTP API call." examples: [] context: anyOf: - $ref: "#/components/schemas/Context" - type: "null" description: "The configuration for a context tool." defaults: anyOf: - {} - additionalProperties: $ref: "#/components/schemas/ToolParameterDefault" type: "object" - type: "null" title: "Defaults" description: "The default values for the parameters of the function/tool call." examples: [] static_parameters: anyOf: - items: $ref: "#/components/schemas/StaticToolParameter" type: "array" - type: "null" title: "Static Parameters" description: "Parameters for the tool whose values should be set at config time (i.e., not provided by the LLM)." examples: - - default: "fahrenheit" description: "Whether the temperature information should be fetched in Celsius or Fahrenheit" name: "temperature_unit" required: false type: "string" result: anyOf: - {} - type: "null" title: "Result" description: "The optional result of the tool call." examples: [] options: anyOf: - $ref: "#/components/schemas/ToolOptions" - type: "null" description: "The options for the tool. Ie allows to propagate the tool result to the caller via propagate_tool_result flag." examples: [] type: "object" required: - "tool" title: "ToolDefinition" description: "A tool that can be called from an LLM during the conversation. See https://docs.syllable.ai/Resources/Tools." ToolDetailResponse: properties: name: type: "string" title: "Name" description: "The name of the tool" examples: - "Weather Fetcher" definition: $ref: "#/components/schemas/ToolDefinition" description: "The definition of the tool" examples: - endpoint: argument_location: "query" method: "get" url: "https://api.open-meteo.com/v1/forecast" static_parameters: - default: "fahrenheit" description: "Whether the temperature information should be fetched in Celsius or Fahrenheit" name: "temperature_unit" required: false type: "string" tool: function: description: "Get the weather for a city" name: "get_weather" parameters: properties: latitude: description: "Latitude of the city" type: "number" longitude: description: "Longitude of the city" type: "number" current: default: "temperature_2m,relative_humidity_2m,precipitation,rain,showers" description: "Information to retrieve from the open-meteo API, comma-separated" type: "string" required: - "latitude" - "longitude" - "current" type: "object" type: "function" type: "endpoint" service_id: type: "integer" title: "Service Id" description: "Internal ID of the service to which the tool belongs" examples: - 1 id: type: "integer" title: "Id" description: "The internal ID of the tool" examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the tool." examples: - "Updated to use new API endpoint" service_name: anyOf: - type: "string" - type: "null" title: "Service Name" description: "The name of the service to which the tool belongs" prompts_info: anyOf: - items: $ref: "#/components/schemas/ToolPromptInfo" type: "array" - type: "null" title: "Prompts Info" description: "IDs and names of the prompts linked to the tool" agents_info: anyOf: - items: $ref: "#/components/schemas/ToolAgentInfo" type: "array" - type: "null" title: "Agents Info" description: "IDs and names of the agents linked to the tool via a prompt" last_updated: type: "string" format: "date-time" title: "Last Updated" description: "The timestamp of the most recent update to the tool" last_updated_by: type: "string" title: "Last Updated By" description: "The email of the user who last updated the tool" examples: - "user@email.com" version_number: type: "integer" title: "Version Number" description: "Highest tools_history snapshot version for this tool; the tools row defaults to 1." examples: - 1 validation_issues: anyOf: - items: $ref: "#/components/schemas/ValidationIssue" type: "array" - type: "null" title: "Validation Issues" description: "Validation issues found in the tool definition. Warnings and infos are informational; errors block the save." fields: items: type: "string" type: "array" title: "Fields" description: "Fields that the tool accepts as input" type: "object" required: - "name" - "definition" - "service_id" - "id" - "last_updated" - "last_updated_by" - "version_number" - "fields" title: "ToolDetailResponse" description: "Response model for tool detail endpoint.\nA tool is a function that an agent can call to perform actions like accessing databases,\nmaking API calls, or processing data. For an agent to have access to a tool, the prompt\nassociated with that agent should be linked to the tool and include instructions to use it.\nFor more information, see [Console docs](https://docs.syllable.ai/Resources/Tools)." ToolFunction: properties: name: type: "string" title: "Name" description: "The name of the function/tool call." examples: - "get_weather" description: type: "string" title: "Description" description: "The description of the tool." examples: - "Get the weather for a city" parameters: title: "Parameters" description: "The JSON Schema of parameters of the function/tool call." examples: - {} type: "object" required: - "name" - "description" - "parameters" title: "ToolFunction" description: "A function available to an agent.\n\nSee:\n- https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/function-calling" ToolHistoryResponse: properties: tool_id: type: "integer" title: "Tool Id" description: "ID of the tool" examples: - 1 version_number: type: "integer" title: "Version Number" description: "Monotonic version for this tool (1 = oldest)" examples: - 1 created_at: type: "string" format: "date-time" title: "Created At" description: "When this version took effect." examples: - "2024-01-01T12:00:00Z" updated_by: type: "string" title: "Updated By" description: "User who made the change that produced this row" examples: - "user@email.com" comments: anyOf: - type: "string" - type: "null" title: "Comments" description: "Optional comment stored on the tool for this version" examples: - "Adjusted timeout" operation: type: "string" title: "Operation" description: "What produced this row: create, update, or delete" examples: - "update" deleted_reason: anyOf: - type: "string" - type: "null" title: "Deleted Reason" description: "When operation is delete, reason copied from the tool at delete time" examples: - "No longer used" service_id: type: "integer" title: "Service Id" description: "Internal ID of the service this tool belonged to at this version" examples: - 1 service_name: anyOf: - type: "string" - type: "null" title: "Service Name" description: "Service display name." examples: - "Weather API" name: type: "string" title: "Name" description: "Tool name at this version" examples: - "get_weather" description: type: "string" title: "Description" description: "Human-readable description of the tool at this version" examples: - "Fetch weather" type: type: "string" title: "Type" description: "Tool type at this version: 'action', 'endpoint', 'context', or 'log'" examples: - "endpoint" definition: $ref: "#/components/schemas/ToolDefinition" description: "Full tool definition for this version (same shape as ToolResponse.definition)." examples: - endpoint: argument_location: "query" method: "get" url: "https://api.open-meteo.com/v1/forecast" static_parameters: - default: "fahrenheit" description: "Whether the temperature information should be fetched in Celsius or Fahrenheit" name: "temperature_unit" required: false type: "string" tool: function: description: "Get the weather for a city" name: "get_weather" parameters: properties: latitude: description: "Latitude of the city" type: "number" longitude: description: "Longitude of the city" type: "number" current: default: "temperature_2m,relative_humidity_2m,precipitation,rain,showers" description: "Information to retrieve from the open-meteo API, comma-separated" type: "string" required: - "latitude" - "longitude" - "current" type: "object" type: "function" type: "endpoint" type: "object" required: - "tool_id" - "version_number" - "created_at" - "updated_by" - "operation" - "service_id" - "name" - "description" - "type" - "definition" title: "ToolHistoryResponse" description: "API response for one row in GET /tools/{tool_id}/history." ToolHttpEndpoint: properties: url: type: "string" title: "Url" description: "The endpoint URL of the external service to call." examples: - "https://api.example.com" method: $ref: "#/components/schemas/ToolHttpMethod" description: "The HTTP method to use for the service call." examples: - "get" argument_location: $ref: "#/components/schemas/ToolArgumentLocation" description: "How to pass the arguments to the request." examples: - "query" timeout: anyOf: - type: "number" maximum: 120 minimum: 1 - type: "null" title: "Timeout" description: "Timeout in seconds for the HTTP request. Default 20 seconds when not set." examples: - 45.0 type: "object" required: - "url" - "method" - "argument_location" title: "ToolHttpEndpoint" description: "The configuration for an HTTP API call by a tool." ToolHttpMethod: type: "string" enum: - "get" - "post" - "put" - "delete" title: "ToolHttpMethod" description: "The HTTP method to use for a tool HTTP request." ToolOptions: properties: propagate_tool_result: type: "boolean" title: "Propagate Tool Result" description: "Whether the tool call result should be propagated to the caller." default: false type: "object" title: "ToolOptions" description: "The options for a tool call." ToolParameterDefault: properties: transform: $ref: "#/components/schemas/ToolParameterTransform" description: "The transform to apply to the value before using it as the default." examples: [] type: "object" required: - "transform" title: "ToolParameterDefault" description: "The default value for a parameter of a tool call." ToolParameterTransform: properties: action: type: "string" enum: - "default" - "override" - "remove" title: "Action" description: "The action to perform on the tool parameter value: `default` means only set the value (using the `format` field) if the parameter doesn't exist or is empty, `override` means always set the value,\" and `remove` means \"remove the parameter value.\"" default: "default" examples: [] when: anyOf: - $ref: "#/components/schemas/ToolParameterTransformCondition" - type: "null" description: "Only apply the transform if the condition is met." examples: [] value: anyOf: - {} - type: "null" title: "Value" description: "The default value to use for the parameter." examples: [] format: anyOf: - type: "string" - type: "null" title: "Format" description: "The string value to use for the parameter. The value will be evaluated with the Python `str.format` method, for example, `Hello, {name}!`" examples: [] type: "object" title: "ToolParameterTransform" description: "A transform to be applied to the value of a tool parameter.\n\nEither `value` or `format` must be set:\n- `value` is any arbitrary value: string, list or dictionary.\n- `format` is a string composed of other parameters or context variables." ToolParameterTransformCondition: properties: key: type: "string" title: "Key" description: "The name of the parameter to check." examples: - "key" value: type: "string" title: "Value" description: "The value to check against the parameter." examples: - "value" operator: anyOf: - type: "string" const: "eq" - type: "null" title: "Operator" description: "The operator to use for the comparison. Currently only supports \"eq\"" default: "eq" examples: - "eq" type: "object" required: - "key" - "value" title: "ToolParameterTransformCondition" description: "A condition to be met for a transform to be applied to the value of a tool parameter." ToolPromptInfo: properties: id: type: "integer" title: "Id" description: "The ID of the prompt" examples: - 1 name: type: "string" title: "Name" description: "The name of the prompt" examples: - "Test Prompt" type: "object" required: - "id" - "name" title: "ToolPromptInfo" description: "Information about a prompt linked to a tool." ToolProperties: type: "string" enum: - "id" - "name" - "service_name" - "definition" - "service_id" - "last_updated" - "last_updated_by" title: "ToolProperties" description: "Names of tool fields supported for filtering/sorting on list endpoint." ToolResponse: properties: name: type: "string" title: "Name" description: "The name of the tool" examples: - "Weather Fetcher" definition: $ref: "#/components/schemas/ToolDefinition" description: "The definition of the tool" examples: - endpoint: argument_location: "query" method: "get" url: "https://api.open-meteo.com/v1/forecast" static_parameters: - default: "fahrenheit" description: "Whether the temperature information should be fetched in Celsius or Fahrenheit" name: "temperature_unit" required: false type: "string" tool: function: description: "Get the weather for a city" name: "get_weather" parameters: properties: latitude: description: "Latitude of the city" type: "number" longitude: description: "Longitude of the city" type: "number" current: default: "temperature_2m,relative_humidity_2m,precipitation,rain,showers" description: "Information to retrieve from the open-meteo API, comma-separated" type: "string" required: - "latitude" - "longitude" - "current" type: "object" type: "function" type: "endpoint" service_id: type: "integer" title: "Service Id" description: "Internal ID of the service to which the tool belongs" examples: - 1 id: type: "integer" title: "Id" description: "The internal ID of the tool" examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the tool." examples: - "Updated to use new API endpoint" service_name: anyOf: - type: "string" - type: "null" title: "Service Name" description: "The name of the service to which the tool belongs" prompts_info: anyOf: - items: $ref: "#/components/schemas/ToolPromptInfo" type: "array" - type: "null" title: "Prompts Info" description: "IDs and names of the prompts linked to the tool" agents_info: anyOf: - items: $ref: "#/components/schemas/ToolAgentInfo" type: "array" - type: "null" title: "Agents Info" description: "IDs and names of the agents linked to the tool via a prompt" last_updated: type: "string" format: "date-time" title: "Last Updated" description: "The timestamp of the most recent update to the tool" last_updated_by: type: "string" title: "Last Updated By" description: "The email of the user who last updated the tool" examples: - "user@email.com" version_number: type: "integer" title: "Version Number" description: "Highest tools_history snapshot version for this tool; the tools row defaults to 1." examples: - 1 validation_issues: anyOf: - items: $ref: "#/components/schemas/ValidationIssue" type: "array" - type: "null" title: "Validation Issues" description: "Validation issues found in the tool definition. Warnings and infos are informational; errors block the save." type: "object" required: - "name" - "definition" - "service_id" - "id" - "last_updated" - "last_updated_by" - "version_number" title: "ToolResponse" description: "Response model for tool operations.\nA tool is a function that an agent can call to perform actions like accessing databases,\nmaking API calls, or processing data. For an agent to have access to a tool, the prompt\nassociated with that agent should be linked to the tool and include instructions to use it.\nFor more information, see [Console docs](https://docs.syllable.ai/Resources/Tools)." ToolResultData: properties: tool_name: type: "string" title: "Tool Name" description: "Tool name" examples: - "general_information_web" tool_result: title: "Tool Result" description: "Tool result data" examples: - answer: "Syllable is a platform for building and managing AI voice agents..." type: "object" required: - "tool_name" - "tool_result" title: "ToolResultData" ToolUpdateRequest: properties: name: type: "string" title: "Name" description: "The name of the tool" examples: - "Weather Fetcher" definition: $ref: "#/components/schemas/ToolDefinition" description: "The definition of the tool" examples: - endpoint: argument_location: "query" method: "get" url: "https://api.open-meteo.com/v1/forecast" static_parameters: - default: "fahrenheit" description: "Whether the temperature information should be fetched in Celsius or Fahrenheit" name: "temperature_unit" required: false type: "string" tool: function: description: "Get the weather for a city" name: "get_weather" parameters: properties: latitude: description: "Latitude of the city" type: "number" longitude: description: "Longitude of the city" type: "number" current: default: "temperature_2m,relative_humidity_2m,precipitation,rain,showers" description: "Information to retrieve from the open-meteo API, comma-separated" type: "string" required: - "latitude" - "longitude" - "current" type: "object" type: "function" type: "endpoint" service_id: type: "integer" title: "Service Id" description: "Internal ID of the service to which the tool belongs" examples: - 1 id: type: "integer" title: "Id" description: "The internal ID of the tool" examples: - 1 last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the tool." examples: - "Updated to use new API endpoint" type: "object" required: - "name" - "definition" - "service_id" - "id" title: "ToolUpdateRequest" description: "Request model to update an existing tool." TtsProvider: type: "string" enum: - "OpenAI" - "ElevenLabs" - "Google" title: "TtsProvider" description: "TTS provider for an agent voice." TwilioChannelConfigCreate: properties: account_sid: type: "string" title: "Account Sid" description: "SID of the Twilio account" examples: - "AC123..." auth_token: type: "string" title: "Auth Token" description: "The Twilio auth token" examples: - "sometoken" type: "object" required: - "account_sid" - "auth_token" title: "TwilioChannelConfigCreate" description: "Twilio channel config information." TwilioChannelConfigUpdate: properties: account_sid: anyOf: - type: "string" - type: "null" title: "Account Sid" description: "SID of the Twilio account" examples: - "AC123..." auth_token: anyOf: - type: "string" - type: "null" title: "Auth Token" description: "The Twilio auth token" examples: - "sometoken" type: "object" title: "TwilioChannelConfigUpdate" description: "Twilio channel config information. If a field is passed as None, it will not be updated." TwilioChannelCreateRequest: properties: name: type: "string" title: "Name" description: "The channel name" examples: - "syllable-webchat" config: $ref: "#/components/schemas/TwilioChannelConfigCreate" description: "The configuration of the channel" type: "object" required: - "name" - "config" title: "TwilioChannelCreateRequest" description: "Request model for creating a Twilio channel." TwilioChannelUpdateRequest: properties: id: type: "integer" title: "Id" description: "The internal ID of the channel" examples: - 1 name: anyOf: - type: "string" - type: "null" title: "Name" description: "The name of the channel" examples: - "syllable-webchat" config: anyOf: - $ref: "#/components/schemas/TwilioChannelConfigUpdate" - type: "null" description: "The configuration of the channel" type: "object" required: - "id" title: "TwilioChannelUpdateRequest" description: "Request model for updating a Twilio channel." TwilioListNumbersResponse: properties: phone_numbers: items: $ref: "#/components/schemas/TwilioPhoneNumber" type: "array" title: "Phone Numbers" description: "List of phone numbers." examples: - - friendly_name: "Test number" phone_number: "+19876543210" sid: "PN123" trunk_sid: "TK123" type: "object" required: - "phone_numbers" title: "TwilioListNumbersResponse" description: "Response model for a list of Twilio phone numbers" TwilioNumberAddRequest: properties: friendly_name: type: "string" title: "Friendly Name" description: "Friendly name for the Twilio number" examples: - "Support Line" area_code: type: "string" title: "Area Code" description: "Area code for the Twilio number" examples: - "804" type: "object" required: - "friendly_name" - "area_code" title: "TwilioNumberAddRequest" description: "Request model for purchasing a Twilio number and associating it with a channel." TwilioNumberAddResponse: properties: phone_number: type: "string" title: "Phone Number" description: "The purchased Twilio phone number" examples: - "+18042221111" type: "object" required: - "phone_number" title: "TwilioNumberAddResponse" description: "Response model for purchasing a Twilio number and associating it with a channel." TwilioNumberUpdateRequest: properties: friendly_name: type: "string" title: "Friendly Name" description: "Friendly name for the Twilio number" examples: - "Support Line" phone_sid: type: "string" title: "Phone Sid" description: "Twilio number SID" examples: - "PN123" type: "object" required: - "friendly_name" - "phone_sid" title: "TwilioNumberUpdateRequest" description: "Request model for updating a Twilio number and associating it with a channel." TwilioNumberUpdateResponse: properties: phone_number: type: "string" title: "Phone Number" description: "The updated Twilio phone number" examples: - "+18042221111" type: "object" required: - "phone_number" title: "TwilioNumberUpdateResponse" description: "Response model for updating a Twilio number and associating it with a channel." TwilioPhoneNumber: properties: sid: type: "string" title: "Sid" description: "The unique identifier for the phone number." phone_number: type: "string" title: "Phone Number" description: "The phone number." friendly_name: type: "string" title: "Friendly Name" description: "A user-friendly name for the number." trunk_sid: type: "string" title: "Trunk Sid" description: "Associated trunk SID, if any." type: "object" required: - "sid" - "phone_number" - "friendly_name" - "trunk_sid" title: "TwilioPhoneNumber" UserActivityStatus: type: "string" enum: - "not_invited" - "invited" - "active" title: "UserActivityStatus" UserCreateRequest: properties: email: type: "string" title: "Email" description: "Email address of the user" examples: - "user@syllable.ai" first_name: anyOf: - type: "string" - type: "null" title: "First Name" description: "First name of the user" examples: - "Jane" last_name: anyOf: - type: "string" - type: "null" title: "Last Name" description: "Last name of the user" examples: - "Smith" role_id: type: "integer" title: "Role Id" description: "ID of the role assigned to the user" examples: - 1 utm: anyOf: - $ref: "#/components/schemas/DaoUtm" - type: "null" description: "Optional UTM campaign attribution to record in user_metadata." login_type: anyOf: - $ref: "#/components/schemas/LoginType" - type: "null" description: "The type of login to use for the user. If not provided, defaults to google for @gmail.com email addresses, and username and password otherwise." examples: - "username_and_password" skip_auth: type: "boolean" title: "Skip Auth" description: "Whether to skip authentication for the user." default: false type: "object" required: - "email" - "role_id" title: "UserCreateRequest" description: "Request model to create a user." UserDeleteRequest: properties: email: type: "string" title: "Email" description: "The email address of the user to delete" examples: - "user@syllable.ai" reason: type: "string" title: "Reason" description: "The reason for deleting the user" examples: - "User left the organization" type: "object" required: - "email" - "reason" title: "UserDeleteRequest" description: "Request model to delete a user." UserProperties: type: "string" enum: - "email" - "first_name" - "last_name" - "role_id" - "role_name" - "email_first_name_last_name" - "activity_status" - "last_updated" title: "UserProperties" description: "Names of user fields supported for filtering/sorting on list endpoint." UserResponse: properties: email: type: "string" title: "Email" description: "Email address of the user" examples: - "user@syllable.ai" first_name: anyOf: - type: "string" - type: "null" title: "First Name" description: "First name of the user" examples: - "Jane" last_name: anyOf: - type: "string" - type: "null" title: "Last Name" description: "Last name of the user" examples: - "Smith" role_id: type: "integer" title: "Role Id" description: "ID of the role assigned to the user" examples: - 1 utm: anyOf: - $ref: "#/components/schemas/DaoUtm" - type: "null" description: "Optional UTM campaign attribution to record in user_metadata." last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the user." examples: - "Updated to change which role was assigned" id: type: "integer" title: "Id" description: "Internal ID of the user" examples: - 1 role_name: type: "string" title: "Role Name" description: "Name of the role assigned to the user" examples: - "Admin" email_sent: type: "boolean" title: "Email Sent" description: "Whether the welcome email has been sent to the user" examples: - true activity_status: $ref: "#/components/schemas/UserActivityStatus" description: "The activity status of the user" examples: - "invited" last_updated: type: "string" format: "date-time" title: "Last Updated" description: "The timestamp of the most recent update to the user" last_updated_by: anyOf: - type: "string" - type: "null" title: "Last Updated By" description: "The email address of the user who last updated the user" examples: - "admin@email.com" last_session_at: anyOf: - type: "string" format: "date-time" - type: "null" title: "Last Session At" description: "The timestamp of the user's last session" examples: - "2025-01-01T12:00:00Z" type: "object" required: - "email" - "role_id" - "id" - "role_name" - "email_sent" - "activity_status" - "last_updated" title: "UserResponse" description: "Information about a user." UserUpdateRequest: properties: email: type: "string" title: "Email" description: "Email address of the user" examples: - "user@syllable.ai" first_name: anyOf: - type: "string" - type: "null" title: "First Name" description: "First name of the user" examples: - "Jane" last_name: anyOf: - type: "string" - type: "null" title: "Last Name" description: "Last name of the user" examples: - "Smith" role_id: type: "integer" title: "Role Id" description: "ID of the role assigned to the user" examples: - 1 utm: anyOf: - $ref: "#/components/schemas/DaoUtm" - type: "null" description: "Optional UTM campaign attribution to record in user_metadata." last_updated_comments: anyOf: - type: "string" - type: "null" title: "Last Updated Comments" description: "Comments for the most recent edit to the user." examples: - "Updated to change which role was assigned" type: "object" required: - "email" - "role_id" title: "UserUpdateRequest" description: "Request model to update an existing user." 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" ValidationIssue: properties: id: type: "string" title: "Id" description: "Stable machine-readable identifier (kebab-case)" severity: type: "string" enum: - "info" - "warning" - "error" title: "Severity" default: "error" message: type: "string" title: "Message" description: "Human-readable description" path: anyOf: - type: "string" - type: "null" title: "Path" description: "JSONPath-style location (e.g. $.context.task.steps[2])" value: anyOf: - type: "string" - type: "null" title: "Value" description: "The offending value, when it adds clarity" type: "object" required: - "id" - "message" title: "ValidationIssue" description: "A single validation finding with severity, location, and description." Variable: properties: value: anyOf: - $ref: "#/components/schemas/JsonValue" - type: "null" description: "Initial value of the variable." valueFrom: anyOf: - oneOf: - $ref: "#/components/schemas/CelExpression" - $ref: "#/components/schemas/JMESPathExpression" discriminator: propertyName: "type" mapping: cel: "#/components/schemas/CelExpression" jmespath: "#/components/schemas/JMESPathExpression" jp: "#/components/schemas/JMESPathExpression" - $ref: "#/components/schemas/CaseExpression" - type: "string" - type: "null" title: "Valuefrom" description: "Expression that computes the value. Supported expression forms: (1) JMESPath string (default for plain strings), (2) typed JMESPath object {\"type\":\"jp\"|\"jmespath\",\"expression\":\"...\"}, or (3) typed CEL object {\"type\":\"cel\",\"expression\":\"...\"}. Mutually exclusive with value." examples: - "inputs.provided_dob == patient_dob" - expression: "inputs.provided_dob == patient_dob" type: "jmespath" - expression: "inputs.count + 1" type: "cel" name: type: "string" title: "Name" description: "The name of the property." type: anyOf: - type: "string" enum: - "string" - "number" - "integer" - "boolean" - "object" - "array" - "null" - type: "null" title: "Type" description: anyOf: - type: "string" - type: "null" title: "Description" title: anyOf: - type: "string" - type: "null" title: "Title" format: anyOf: - type: "string" - type: "null" title: "Format" pattern: anyOf: - type: "string" - type: "null" title: "Pattern" enum: anyOf: - items: type: "string" type: "array" - type: "null" title: "Enum" examples: anyOf: - items: $ref: "#/components/schemas/JsonValue" type: "array" - type: "null" title: "Examples" type: "object" required: - "name" title: "Variable" 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." VoiceGroupCreateRequest: properties: name: type: "string" title: "Name" description: "The name of the language group." examples: - "Call Center 1 Languages" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the language group." examples: - "Languages spoken by operators at Call Center 1" language_configs: items: $ref: "#/components/schemas/LanguageConfig" type: "array" title: "Language Configs" description: "Voice and DTMF configurations for each language in the group." examples: - - dtmf_code: 1 language_code: "en-US" voice_display_name: "Alloy" voice_provider: "OpenAI" - dtmf_code: 2 language_code: "es-US" voice_display_name: "es-US-Neural2-B" voice_provider: "Google" skip_current_language_in_message: type: "boolean" title: "Skip Current Language In Message" description: "Whether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu." examples: - true type: "object" required: - "name" - "language_configs" - "skip_current_language_in_message" title: "VoiceGroupCreateRequest" description: "Request model to create a voice group." VoiceGroupProperties: type: "string" enum: - "name" - "description" - "skip_current_language_in_message" - "updated_at" - "last_updated_by" title: "VoiceGroupProperties" description: "Names of voice group fields supported for filtering/sorting on list endpoint." VoiceGroupResponse: properties: name: type: "string" title: "Name" description: "The name of the language group." examples: - "Call Center 1 Languages" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the language group." examples: - "Languages spoken by operators at Call Center 1" language_configs: items: $ref: "#/components/schemas/LanguageConfig" type: "array" title: "Language Configs" description: "Voice and DTMF configurations for each language in the group." examples: - - dtmf_code: 1 language_code: "en-US" voice_display_name: "Alloy" voice_provider: "OpenAI" - dtmf_code: 2 language_code: "es-US" voice_display_name: "es-US-Neural2-B" voice_provider: "Google" skip_current_language_in_message: type: "boolean" title: "Skip Current Language In Message" description: "Whether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu." examples: - true id: type: "integer" title: "Id" description: "The ID of the language group to update." examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "Comments for the most recent edit to the language group." examples: - "Added Spanish support." agents_info: anyOf: - items: $ref: "#/components/schemas/LanguageGroupAgentInfo" type: "array" - type: "null" title: "Agents Info" description: "IDs and names of the agents linked to the language group" examples: - - id: 1 name: "Test Agent" updated_at: type: "string" format: "date-time" title: "Updated At" description: "Timestamp of the last update to the language group." examples: - "2024-01-01T00:00:00Z" last_updated_by: type: "string" title: "Last Updated By" description: "Email of the user who last updated the language group." examples: - "user@mail.com" type: "object" required: - "name" - "language_configs" - "skip_current_language_in_message" - "id" - "updated_at" - "last_updated_by" title: "VoiceGroupResponse" description: "Response model for voice group operations.\nA voice group is a collection of language, voice, and DTMF configuration that can be\nlinked to an agent to define the languages and voices it supports. For more information, see\n[Console docs](https://docs.syllable.ai/Resources/VoiceGroups)." VoiceGroupUpdateRequest: properties: name: type: "string" title: "Name" description: "The name of the language group." examples: - "Call Center 1 Languages" description: anyOf: - type: "string" - type: "null" title: "Description" description: "Description of the language group." examples: - "Languages spoken by operators at Call Center 1" language_configs: items: $ref: "#/components/schemas/LanguageConfig" type: "array" title: "Language Configs" description: "Voice and DTMF configurations for each language in the group." examples: - - dtmf_code: 1 language_code: "en-US" voice_display_name: "Alloy" voice_provider: "OpenAI" - dtmf_code: 2 language_code: "es-US" voice_display_name: "es-US-Neural2-B" voice_provider: "Google" skip_current_language_in_message: type: "boolean" title: "Skip Current Language In Message" description: "Whether a custom message using the language group to generate a language DTMF menu should skip the agent's current language in the menu." examples: - true id: type: "integer" title: "Id" description: "The ID of the language group to update." examples: - 1 edit_comments: anyOf: - type: "string" - type: "null" title: "Edit Comments" description: "Comments for the most recent edit to the language group." examples: - "Added Spanish support." type: "object" required: - "name" - "language_configs" - "skip_current_language_in_message" - "id" title: "VoiceGroupUpdateRequest" description: "Request model to update an existing voice group." VoiceSampleCreateRequest: properties: language_code: $ref: "#/components/schemas/LanguageCode" description: "BCP 47 code of the language" examples: - "en-US" voice_provider: $ref: "#/components/schemas/TtsProvider" description: "TTS provider of the voice to use for the language" examples: - "OpenAI" voice_display_name: $ref: "#/components/schemas/AgentVoiceDisplayName" description: "Display name of the voice to use for the language" examples: - "Alloy" voice_speed: anyOf: - type: "number" - type: "null" title: "Voice Speed" description: "Speed of the voice in the range of 0.25 to 4.0 (OpenAI and Google) or 0.7 to 1.2 (ElevenLabs). Standard speed is 1.0." examples: - 1.0 voice_pitch: anyOf: - type: "number" - type: "null" title: "Voice Pitch" description: "Pitch of the voice in the range of -20.0 to 20.0. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch. 0 means use the original pitch. Only supported for Google configs." examples: - 0.0 text: type: "string" title: "Text" description: "Text to generate for this voice." default: "" apply_pronunciation_overrides: type: "boolean" title: "Apply Pronunciation Overrides" description: "Apply TTS pronunciation fixes." default: false type: "object" required: - "language_code" - "voice_provider" - "voice_display_name" title: "VoiceSampleCreateRequest" description: "Request model to generate a sample audio file for a given voice and language." securitySchemes: APIKeyHeader: type: "apiKey" in: "header" name: "Syllable-API-Key" tags: - name: "agents" description: "Operations related to agent configuration. When a user interacts with the Syllable system, they do so by communicating with an agent. An agent is linked to a prompt, a custom message, and one or more channel targets to define its behavior and capabilities. For more information, see [Console docs](https://docs.syllable.ai/workspaces/Agents)." - name: "agents.test" description: "Operations for testing agents with live text. These endpoints allow sending messages to an agent and receiving its responses." - name: "channels" description: "Operations related to channel configuration. A channel is an organization-level point of communication, like a phone number or a web chat. A channel can be associated with an agent by creating a channel target linking them." - name: "channels.twilio" description: "Operations related to Twilio channel configuration." - name: "channels.twilio.numbers" description: "Operations related to setting up phone numbers in Twilio for use in channels." - name: "channels.targets" description: "Operations related to channel target configuration. A channel target links a channel to an agent, allowing users to communicate with the agent through that channel. For more information, see [Console docs](https://docs.syllable.ai/Resources/Channels)." - name: "conversations" description: "Operations related to conversations. A conversation is a record of messages between a user and an agent, and is composed of one or more sessions." - name: "custom_messages" description: "Operations related to custom message configuration. A custom message is a pre-configured message delivered by an agent as a greeting at the beginning of a conversation. Multiple agents can use the same custom mesasage. A custom message has one or more rules defined, which allow for different messages to be dynamically selected and delivered at runtime based on the current time and either date or day of the week. For more information, see [Console docs](https://docs.syllable.ai/Resources/Messages)." - name: "dashboards" description: "Operations related to dashboards. Currently the API/SDK only supports fetching basic information about dashboards." - name: "data_sources" description: "Operations related to data sources. A data source is a blob of text that can be made available to an agent's general info tools to provide more context to the agent when generating its responses. For more information, see [Console docs](https://docs.syllable.ai/Resources/DataSources)." - name: "directory" description: "Operations related to directory" - name: "events" description: "Operations related to events. An event represents a specific occurrence during a session. Currently the API/SDK only supports fetching logged events." - name: "incidents" description: "Operations related to incidents." - name: "insights" description: "Operations related to insights results. An insight is a tool that processes conversation data to extract information and generate reports." - name: "insights.folders" description: "Operations related to insights upload folders. An insight folder is used to upload call recordings for insight workflow analysis." - name: "insights.tools" description: "Operations related to insights tool configurationss. An insight is a tool that processes conversation data to extract information and generate reports." - name: "insights.workflows" description: "Operations related to insights workflows. An workflow is series of tool invocations that processes conversation data to extract information and generate reports." - name: "language_groups" description: "Operations related to language groups. A language group is a collection of language, voice, and DTMF configuration that can be linked to an agent to define the languages and voices it supports. For more information, see [Console docs](https://docs.syllable.ai/Resources/LanguageGroups)." - name: "organizations" description: "Operations related to organizations." - name: "outbound.campaigns" description: "Operations related to outbound message campaigns" - name: "outbound.batches" description: "Operations related to outbound campaign batches" - name: "permissions" description: "Operations related to permissions. A permission is a specific capability or access level granted to a user within the Syllable system. Permissions are used to control access to various features and functionalities." - name: "prompts" description: "Operations related to prompts. A prompt defines the behavior of an agent by delivering instructions to the LLM about how the agent should behave. A prompt can be linked to one or more agents. A prompt can also be linked to tools to allow an agent using the prompt to use them. For more information, see [Console docs](https://docs.syllable.ai/Resources/Prompts)." - name: "roles" description: "Operations related to roles. A role is a collection of permissions that can be assigned to users to control their access to various features within the Syllable system." - name: "services" description: "Operations related to service configuration. A service is a collection of tools. You can specify an authentication method and values on a service, and any linked tools will use that auth information to generate headers for HTTP calls." - name: "sessions" description: "Operations related to sessions. A session is a building block of a conversation. For more information, see [Console docs](https://docs.syllable.ai/workspaces/Sessions)." - name: "session_labels" description: "Operations related to labeling sessions with evaluations of quality and descriptions of issues the user encountered or other details. For more information, see [Console docs](https://docs.syllable.ai/workspaces/Sessions)." - name: "tools" description: "Operations related to tool configuration. A tool is a function that an agent can call to perform actions like accessing databases, making API calls, or processing data. For an agent to have access to a tool, the prompt associated with that agent should be linked to the tool and include instructions to use it. For more information, see [Console docs](https://docs.syllable.ai/Resources/Tools)." 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"