openapi: 3.2.0
info:
title: SyllableSDK Agents API
description: "\n# Syllable Platform SDK\n\nSyllable SDK gives you the power of awesome AI agentry. \U0001F680\n\n## Overview\n\nThe Syllable SDK provides a comprehensive set of tools and APIs to integrate powerful AI\ncapabilities into your communication applications. Whether you're building phone agents, chatbots,\nvirtual assistants, or any other AI-driven solutions, Syllable SDK has got you covered.\n\n## Features\n\n- **Agent Configuration**: Create and manage agents that can interact with users across various \nchannels.\n- **Channel Management**: Configure channels like SMS, web chat, and more to connect agents with \nusers.\n- **Custom Messages**: Set up custom messages that agents can deliver as greetings or responses.\n- **Conversations**: Track and manage conversations between users and agents, including session \nmanagement.\n- **Tools and Workflows**: Leverage tools and workflows to enhance agent capabilities, such as data \nprocessing and API calls.\n- **Data Sources**: Integrate data sources to provide agents with additional context and \ninformation.\n- **Insights and Analytics**: Analyze conversations and sessions to gain insights into user \ninteractions.\n- **Permissions and Security**: Manage permissions to control access to various features and \nfunctionalities.\n- **Language Support**: Define language groups to enable multilingual support for agents.\n- **Outbound Campaigns**: Create and manage outbound communication campaigns to reach users \neffectively.\n- **Session Labels**: Label sessions with evaluations of quality and descriptions of issues \nencountered.\n- **Incident Management**: Track and manage incidents related to agent interactions.\n"
version: 0.0.3
servers:
- url: https://api.syllable.cloud
description: API server
tags:
- name: 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).
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: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK, models\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.agents.list(page=0, limit=25, search_fields=[\n models.AgentProperties.NAME,\n ], search_field_values=[\n \"Some Object Name\",\n ], start_datetime=\"2023-01-01T00:00:00Z\", end_datetime=\"2024-01-01T00:00:00Z\")\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.agents.list({\n page: 0,\n searchFields: [\n \"name\",\n ],\n searchFieldValues: [\n \"Some Object Name\",\n ],\n startDatetime: \"2023-01-01T00:00:00Z\",\n endDatetime: \"2024-01-01T00:00:00Z\",\n });\n\n console.log(result);\n}\n\nrun();"
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: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK, models\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.agents.create(request={\n \"name\": \"Weather agent\",\n \"description\": \"Agent for answering questions about weather.\",\n \"labels\": [\n \"Information\",\n \"Weather\",\n ],\n \"type\": \"ca_v1\",\n \"prompt_id\": 1,\n \"prompt_version_number\": 3,\n \"custom_message_id\": 1,\n \"language_group_id\": 1,\n \"bridge_phrases_id\": 1,\n \"timezone\": \"America/New_York\",\n \"prompt_tool_defaults\": [\n {\n \"tool_name\": \"get_weather\",\n \"default_values\": [\n {\n \"field_name\": \"temperature_unit\",\n \"default_value\": \"fahrenheit\",\n },\n ],\n },\n ],\n \"variables\": {\n \"vars.location_name\": \"Main Street Pizza\",\n },\n \"tool_headers\": {\n \"some-header\": \"some-value\",\n },\n \"stt_provider\": models.AgentSttProvider.GOOGLE_STT_V2_CHIRP_2_,\n \"wait_sound\": models.AgentWaitSound.NO_SOUND,\n })\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.agents.create({\n name: \"Weather agent\",\n description: \"Agent for answering questions about weather.\",\n labels: [\n \"Information\",\n \"Weather\",\n ],\n type: \"ca_v1\",\n promptId: 1,\n promptVersionNumber: 3,\n customMessageId: 1,\n languageGroupId: 1,\n bridgePhrasesId: 1,\n timezone: \"America/New_York\",\n promptToolDefaults: [\n {\n toolName: \"get_weather\",\n defaultValues: [\n {\n fieldName: \"temperature_unit\",\n defaultValue: \"fahrenheit\",\n },\n ],\n },\n ],\n variables: {\n \"vars.location_name\": \"Main Street Pizza\",\n },\n toolHeaders: {\n \"some-header\": \"some-value\",\n },\n sttProvider: \"Google STT V2 (Chirp 2)\",\n waitSound: \"No Sound\",\n });\n\n console.log(result);\n}\n\nrun();"
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: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK, models\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.agents.update(request={\n \"name\": \"Weather agent\",\n \"description\": \"Agent for answering questions about weather.\",\n \"labels\": [\n \"Information\",\n \"Weather\",\n ],\n \"type\": \"ca_v1\",\n \"prompt_id\": 1,\n \"prompt_version_number\": 3,\n \"custom_message_id\": 1,\n \"language_group_id\": 1,\n \"bridge_phrases_id\": 1,\n \"timezone\": \"America/New_York\",\n \"prompt_tool_defaults\": [\n {\n \"tool_name\": \"get_weather\",\n \"default_values\": [\n {\n \"field_name\": \"temperature_unit\",\n \"default_value\": \"fahrenheit\",\n },\n ],\n },\n ],\n \"variables\": {\n \"vars.location_name\": \"Main Street Pizza\",\n },\n \"tool_headers\": {\n \"some-header\": \"some-value\",\n },\n \"stt_provider\": models.AgentSttProvider.GOOGLE_STT_V2_CHIRP_2_,\n \"wait_sound\": models.AgentWaitSound.NO_SOUND,\n \"id\": 1,\n })\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.agents.update({\n name: \"Weather agent\",\n description: \"Agent for answering questions about weather.\",\n labels: [\n \"Information\",\n \"Weather\",\n ],\n type: \"ca_v1\",\n promptId: 1,\n promptVersionNumber: 3,\n customMessageId: 1,\n languageGroupId: 1,\n bridgePhrasesId: 1,\n timezone: \"America/New_York\",\n promptToolDefaults: [\n {\n toolName: \"get_weather\",\n defaultValues: [\n {\n fieldName: \"temperature_unit\",\n defaultValue: \"fahrenheit\",\n },\n ],\n },\n ],\n variables: {\n \"vars.location_name\": \"Main Street Pizza\",\n },\n toolHeaders: {\n \"some-header\": \"some-value\",\n },\n sttProvider: \"Google STT V2 (Chirp 2)\",\n waitSound: \"No Sound\",\n id: 1,\n });\n\n console.log(result);\n}\n\nrun();"
/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: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.agents.agent_list_active_labels()\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.agents.agentListActiveLabels();\n\n console.log(result);\n}\n\nrun();"
/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: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.agents.get_by_id(agent_id=910445)\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.agents.getById({\n agentId: 910445,\n });\n\n console.log(result);\n}\n\nrun();"
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: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.agents.delete(agent_id=78115, reason=\"<value>\")\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.agents.delete({\n agentId: 78115,\n reason: \"<value>\",\n });\n\n console.log(result);\n}\n\nrun();"
/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: python
label: Python (SDK)
source: "import os\nfrom syllable_sdk import SyllableSDK\n\n\nwith SyllableSDK(\n api_key_header=os.getenv(\"SYLLABLESDK_API_KEY_HEADER\", \"\"),\n) as ss_client:\n\n res = ss_client.agents.agent_get_available_voices()\n\n # Handle response\n print(res)"
- lang: typescript
label: Typescript (SDK)
source: "import { SyllableSDK } from \"syllable-sdk\";\n\nconst syllableSDK = new SyllableSDK({\n apiKeyHeader: process.env[\"SYLLABLESDK_API_KEY_HEADER\"] ?? \"\",\n});\n\nasync function run() {\n const result = await syllableSDK.agents.agentGetAvailableVoices();\n\n console.log(result);\n}\n\nrun();"
components:
schemas:
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
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)
result:
anyOf:
- $ref: '#/components/schemas/CallResult'
- type: 'null'
description: Optional deterministic result-capture configuration. When present, selected fields from the tool response are saved into workflow state, so later transitions/conditions/validations can branch on them without the model re-deriving them from tool call history. Currently applied only when the call is routed in inject mode (arguments already complete); hinted/routed calls are not yet supported.
type: object
required:
- name
title: CallAction
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.
ToolArgumentLocation:
type: string
enum:
- body
- form
- path
- query
title: ToolArgumentLocation
description: 'The location of the argument in a tool HTTP request.
''body'' is used for JSON data in the POST request body.
''form'' is used for form data in the POST request body.
''path'' is used for URL path parameters.
''query'' is used for query parameters in the URL.'
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.
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.
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.
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: Deprecated model version. This value is ignored and resolved automatically.
deprecated: true
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.
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.
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.
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 t
# --- truncated at 32 KB (145 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/syllable/refs/heads/main/openapi/syllable-agents-api-openapi.yml