openapi: 3.2.0
info:
title: PLATFORM Assistants API
version: 1.0.0
servers:
- url: https://api.synthflow.ai/v2
description: Global
- url: https://api.us.synthflow.ai/v2
description: United States
- url: https://api.eu.synthflow.ai/v2
description: European Union
tags:
- name: Assistants
paths:
/assistants:
post:
operationId: create-assistant
summary: Create an agent
description: ''
tags:
- Assistants
parameters:
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/create-assistant_Response_200'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/Create-assistantRequestBadRequestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
end_call_reasons:
type: array
items:
type: string
description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format).'
description:
type: string
description: Agent description.
phone_number:
type: string
description: The phone number attached to the agent.
external_webhook_url:
type: string
description: URL of the webhook that should receive data after the call, such as the transcript.
is_recording:
type: boolean
description: Whether the conversation should be recorded.
max_duration:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaMaxDuration'
voicemail_message:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessage'
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
type:
$ref: '#/components/schemas/type'
name:
$ref: '#/components/schemas/name'
agent:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgent'
inbound_call_webhook_url:
type: string
description: 'The URL for your inbound webhook. For more details on inbound webhooks, see Inbound webhook.
'
required:
- type
- name
- agent
/assistants/{model_id}:
put:
operationId: update-assistant
summary: Update an agent
description: 'Use this endpoint to update an agent''s name, phone number, or other parameters.
Only the provided parameters will be updated, and others won''t be removed or changed.'
tags:
- Assistants
parameters:
- name: model_id
in: path
required: true
schema:
$ref: '#/components/schemas/model_id'
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/update-assistant_Response_200'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/Update-assistantRequestBadRequestError'
requestBody:
content:
application/json:
schema:
type: object
properties:
end_call_reasons:
type: array
items:
type: string
description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format).'
description:
type: string
description: Agent description.
phone_number:
type: string
description: The phone number attached to the agent.
external_webhook_url:
type: string
description: URL of the webhook that should receive data after the call, such as the transcript.
is_recording:
type: boolean
description: Whether the conversation should be recorded.
max_duration:
$ref: '#/components/schemas/AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaMaxDuration'
voicemail_message:
$ref: '#/components/schemas/AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessage'
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
name:
$ref: '#/components/schemas/name'
agent:
$ref: '#/components/schemas/Agent'
delete:
operationId: delete-assistant
summary: Delete an agent
description: Use this endpoint to delete an agent.
tags:
- Assistants
parameters:
- name: model_id
in: path
required: true
schema:
$ref: '#/components/schemas/model_id'
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/delete-assistant_Response_200'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/Delete-assistantRequestBadRequestError'
get:
operationId: get-assistant
summary: Get an agent
description: ''
tags:
- Assistants
parameters:
- name: model_id
in: path
required: true
schema:
$ref: '#/components/schemas/model_id'
- name: include_actions
in: query
description: Include action IDs and `input_variables` (each with the action's `trigger_condition`) grouped by `action_id`.
required: false
schema:
type: boolean
default: false
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/get-assistant_Response_200'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/Get-assistantRequestBadRequestError'
/assistants/:
get:
operationId: list-assistant
summary: List agents
description: Lists all agents you have in your account.
tags:
- Assistants
parameters:
- name: limit
in: query
description: Agents displayed per page.
required: false
schema:
type: integer
default: 20
- name: offset
in: query
description: Index of the first agent to be returned.
required: false
schema:
type: integer
default: 0
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/list-assistant_Response_200'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/List-assistantRequestBadRequestError'
/assistants/{model_id}/phone_numbers:
put:
operationId: attach-phone-numbers-to-assistant
summary: Attach phone numbers to an outbound agent
description: Attach multiple outbound phone numbers to an agent by phone numbers or by slugs.
tags:
- Assistants
parameters:
- name: model_id
in: path
required: true
schema:
$ref: '#/components/schemas/model_id'
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/attach-phone-numbers-to-assistant_Response_200'
'404':
description: '404'
content:
application/json:
schema:
$ref: '#/components/schemas/Attach-phone-numbers-to-assistantRequestNotFoundError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/attach-phone-numbers-to-assistant_Request'
/assistants/{model_id}/phone_numbers/{phone_number_slug}:
delete:
operationId: detach-phone-number-from-assistant
summary: Detach phone number from an outbound agent
description: Remove one attached outbound phone number from an agent.
tags:
- Assistants
parameters:
- name: model_id
in: path
required: true
schema:
$ref: '#/components/schemas/model_id'
- name: phone_number_slug
in: path
description: Phone number slug to remove from the agent.
required: true
schema:
type: string
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
responses:
'200':
description: '200'
content:
application/json:
schema:
$ref: '#/components/schemas/detach-phone-number-from-assistant_Response_200'
'400':
description: '400'
content:
application/json:
schema:
$ref: '#/components/schemas/Detach-phone-number-from-assistantRequestBadRequestError'
'404':
description: '404'
content:
application/json:
schema:
$ref: '#/components/schemas/Detach-phone-number-from-assistantRequestNotFoundError'
components:
schemas:
transcriber_speech_recognition:
type: string
enum:
- faster
- high_accuracy
description: Speech recognition mode for transcription speed vs quality.
title: transcriber_speech_recognition
AgentEndCallReasonsV2Items:
type: object
properties:
reason:
type: string
description: The condition that triggers call termination.
closing_message_mode:
$ref: '#/components/schemas/AgentEndCallReasonsV2ItemsClosingMessageMode'
description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.'
closing_message:
type: string
description: The closing message content. Interpretation depends on closing_message_mode.
required:
- reason
title: AgentEndCallReasonsV2Items
AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail:
type: object
properties:
status:
type: string
description:
type: string
request_id:
type: string
category:
type: string
required:
- status
- description
- request_id
- category
title: AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail
AgentNoiseCancellation:
type: string
enum:
- standard
- advanced
description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand.
title: AgentNoiseCancellation
AssistantsModelIdDeleteResponsesContentApplicationJsonSchemaResponse:
type: object
properties:
answer:
type: string
title: AssistantsModelIdDeleteResponsesContentApplicationJsonSchemaResponse
voice_use_speaker_boost:
type: boolean
description: Amplifies the voice’s likeness to the original speaker, which can slightly slow down the response time.
title: voice_use_speaker_boost
AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage:
type: object
properties:
enabled:
type: boolean
description: Whether voicemail message leaving is enabled.
mode:
$ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode'
description: The mode used to generate the voicemail message.
exact_message:
type: string
description: The exact message to leave on the voicemail. Used when mode is `exact_message`.
prompt:
type: string
description: A prompt used to generate the voicemail message. Used when mode is `prompt`.
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage
get-assistant_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponse'
title: get-assistant_Response_200
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentMinWordsToInterrupt:
type: string
enum:
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
description: You can set how many words the human must speak before the AI will stop speaking and listening.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentMinWordsToInterrupt
voice_style:
type: integer
description: Range 0 to 1. Enhances the distinct characteristics of the original voice, but may slow down processing and make the voice less stable.
title: voice_style
AgentFallbackProvider:
type: string
enum:
- elevenlabs
- deepgram
- synthflow
description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow).
title: AgentFallbackProvider
AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessageMode:
type: string
enum:
- exact_message
- prompt
description: The mode used to generate the voicemail message.
title: AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessageMode
AttachPhoneNumbersToAssistantRequest1:
type: object
properties:
phone_number_slugs:
type: array
items:
type: string
description: Phone number slugs.
required:
- phone_number_slugs
title: AttachPhoneNumbersToAssistantRequest1
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentNoiseCancellation:
type: string
enum:
- standard
- advanced
description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentNoiseCancellation
timezone:
type: string
enum:
- Africa/Accra
- Africa/Addis_Ababa
- Africa/Algiers
- Africa/Asmara
- Africa/Bamako
- Africa/Bangui
- Africa/Banjul
- Africa/Bissau
- Africa/Blantyre
- Africa/Brazzaville
- Africa/Bujumbura
- Africa/Cairo
- Africa/Casablanca
- Africa/Ceuta
- Africa/Conakry
- Africa/Dakar
- Africa/Dar_es_Salaam
- Africa/Djibouti
- Africa/Douala
- Africa/El_Aaiun
- Africa/Freetown
- Africa/Gaborone
- Africa/Harare
- Africa/Johannesburg
- Africa/Juba
- Africa/Kampala
- Africa/Khartoum
- Africa/Kigali
- Africa/Kinshasa
- Africa/Lagos
- Africa/Libreville
- Africa/Lome
- Africa/Luanda
- Africa/Lubumbashi
- Africa/Lusaka
- Africa/Malabo
- Africa/Maputo
- Africa/Maseru
- Africa/Mbabane
- Africa/Mogadishu
- Africa/Monrovia
- Africa/Nairobi
- Africa/Ndjamena
- Africa/Niamey
- Africa/Nouakchott
- Africa/Ouagadougou
- Africa/Porto-Novo
- Africa/Sao_Tome
- Africa/Tripoli
- Africa/Tunis
- Africa/Windhoek
- America/Adak
- America/Anchorage
- America/Anguilla
- America/Antigua
- America/Araguaina
- America/Argentina/Buenos_Aires
- America/Argentina/Catamarca
- America/Argentina/Cordoba
- America/Argentina/Jujuy
- America/Argentina/La_Rioja
- America/Argentina/Mendoza
- America/Argentina/Rio_Gallegos
- America/Argentina/Salta
- America/Argentina/San_Juan
- America/Argentina/San_Luis
- America/Argentina/Tucuman
- America/Argentina/Ushuaia
- America/Aruba
- America/Asuncion
- America/Atikokan
- America/Bahia
- America/Bahia_Banderas
- America/Barbados
- America/Belem
- America/Belize
- America/Blanc-Sablon
- America/Boa_Vista
- America/Bogota
- America/Boise
- America/Cambridge_Bay
- America/Campo_Grande
- America/Cancun
- America/Caracas
- America/Cayenne
- America/Cayman
- America/Chicago
- America/Chihuahua
- America/Ciudad_Juarez
- America/Costa_Rica
- America/Creston
- America/Cuiaba
- America/Curacao
- America/Danmarkshavn
- America/Dawson
- America/Dawson_Creek
- America/Denver
- America/Detroit
- America/Dominica
- America/Edmonton
- America/Eirunepe
- America/El_Salvador
- America/Fort_Nelson
- America/Fortaleza
- America/Glace_Bay
- America/Goose_Bay
- America/Grand_Turk
- America/Grenada
- America/Guadeloupe
- America/Guatemala
- America/Guayaquil
- America/Guyana
- America/Halifax
- America/Havana
- America/Hermosillo
- America/Indiana/Indianapolis
- America/Indiana/Knox
- America/Indiana/Marengo
- America/Indiana/Petersburg
- America/Indiana/Tell_City
- America/Indiana/Vevay
- America/Indiana/Vincennes
- America/Indiana/Winamac
- America/Inuvik
- America/Iqaluit
- America/Jamaica
- America/Juneau
- America/Kentucky/Louisville
- America/Kentucky/Monticello
- America/Kralendijk
- America/La_Paz
- America/Lima
- America/Los_Angeles
- America/Lower_Princes
- America/Maceio
- America/Managua
- America/Manaus
- America/Marigot
- America/Martinique
- America/Matamoros
- America/Mazatlan
- America/Menominee
- America/Merida
- America/Metlakatla
- America/Mexico_City
- America/Miquelon
- America/Moncton
- America/Monterrey
- America/Montevideo
- America/Montserrat
- America/Nassau
- America/New_York
- America/Nome
- America/Noronha
- America/North_Dakota/Beulah
- America/North_Dakota/Center
- America/North_Dakota/New_Salem
- America/Nuuk
- America/Ojinaga
- America/Panama
- America/Paramaribo
- America/Phoenix
- America/Port_of_Spain
- America/Port-au-Prince
- America/Porto_Velho
- America/Puerto_Rico
- America/Punta_Arenas
- America/Rankin_Inlet
- America/Recife
- America/Regina
- America/Resolute
- America/Rio_Branco
- America/Santarem
- America/Santiago
- America/Santo_Domingo
- America/Sao_Paulo
- America/Scoresbysund
- America/Sitka
- America/St_Barthelemy
- America/St_Johns
- America/St_Kitts
- America/St_Lucia
- America/St_Thomas
- America/St_Vincent
- America/Swift_Current
- America/Tegucigalpa
- America/Thule
- America/Tijuana
- America/Toronto
- America/Tortola
- America/Vancouver
- America/Whitehorse
- America/Winnipeg
- America/Yakutat
- Antarctica/Casey
- Antarctica/Davis
- Antarctica/DumontDUrville
- Antarctica/Macquarie
- Antarctica/Mawson
- Antarctica/McMurdo
- Antarctica/Palmer
- Antarctica/Rothera
- Antarctica/Syowa
- Antarctica/Troll
- Antarctica/Vostok
- Arctic/Longyearbyen
- Asia/Aden
- Asia/Almaty
- Asia/Amman
- Asia/Anadyr
- Asia/Aqtau
- Asia/Aqtobe
- Asia/Ashgabat
- Asia/Atyrau
- Asia/Baghdad
- Asia/Bahrain
- Asia/Baku
- Asia/Bangkok
- Asia/Barnaul
- Asia/Beirut
- Asia/Bishkek
- Asia/Brunei
- Asia/Chita
- Asia/Choibalsan
- Asia/Colombo
- Asia/Damascus
- Asia/Dhaka
- Asia/Dili
- Asia/Dubai
- Asia/Dushanbe
- Asia/Famagusta
- Asia/Gaza
- Asia/Hebron
- Asia/Ho_Chi_Minh
- Asia/Hong_Kong
- Asia/Hovd
- Asia/Irkutsk
- Asia/Jakarta
- Asia/Jayapura
- Asia/Jerusalem
- Asia/Kabul
- Asia/Kamchatka
- Asia/Karachi
- Asia/Kathmandu
- Asia/Khandyga
- Asia/Kolkata
- Asia/Krasnoyarsk
- Asia/Kuala_Lumpur
- Asia/Kuching
- Asia/Kuwait
- Asia/Macau
- Asia/Magadan
- Asia/Makassar
- Asia/Manila
- Asia/Muscat
- Asia/Nicosia
- Asia/Novokuznetsk
- Asia/Novosibirsk
- Asia/Omsk
- Asia/Oral
- Asia/Phnom_Penh
- Asia/Pontianak
- Asia/Pyongyang
- Asia/Qatar
- Asia/Qostanay
- Asia/Qyzylorda
- Asia/Riyadh
- Asia/Sakhalin
- Asia/Samarkand
- Asia/Seoul
- Asia/Shanghai
- Asia/Singapore
- Asia/Srednekolymsk
- Asia/Taipei
- Asia/Tashkent
- Asia/Tbilisi
- Asia/Tehran
- Asia/Thimphu
- Asia/Tokyo
- Asia/Tomsk
- Asia/Ulaanbaatar
- Asia/Urumqi
- Asia/Ust-Nera
- Asia/Vientiane
- Asia/Vladivostok
- Asia/Yakutsk
- Asia/Yangon
- Asia/Yekaterinburg
- Asia/Yerevan
- Atlantic/Azores
- Atlantic/Bermuda
- Atlantic/Canary
- Atlantic/Cape_Verde
- Atlantic/Faroe
- Atlantic/Madeira
- Atlantic/Reykjavik
- Atlantic/South_Georgia
- Atlantic/St_Helena
- Atlantic/Stanley
- Australia/Adelaide
- Australia/Brisbane
- Australia/Broken_Hill
- Australia/Darwin
- Australia/Eucla
- Australia/Hobart
- Australia/Lindeman
- Australia/Lord_Howe
- Australia/Melbourne
- Australia/Perth
- Australia/Sydney
- Europe/Amsterdam
- Europe/Andorra
- Europe/Astrakhan
- Europe/Athens
- Europe/Belgrade
- Europe/Berlin
- Europe/Bratislava
- Europe/Brussels
- Europe/Bucharest
- Europe/Budapest
- Europe/Busingen
- Europe/Chisinau
- Europe/Copenhagen
- Europe/Dublin
- Europe/Gibraltar
- Europe/Guernsey
- Europe/Helsinki
- Europe/Isle_of_Man
- Europe/Istanbul
- Europe/Jersey
- Europe/Kaliningrad
- Europe/Kirov
- Europe/Kyiv
- Europe/Lisbon
- Europe/Ljubljana
- Europe/London
- Europe/Luxembourg
- Europe/Madrid
- Europe/Malta
- Europe/Mariehamn
- Europe/Minsk
- Europe/Monaco
- Europe/Moscow
- Europe/Oslo
- Europe/Paris
- Europe/Podgorica
- Europe/Prague
- Europe/Riga
- Europe/Rome
- Europe/Samara
- Europe/San_Marino
- Europe/Sarajevo
- Europe/Saratov
- Europe/Simferopol
- Europe/Skopje
- Europe/Sofia
- Europe/Stockholm
- Europe/Tallinn
- Europe/Tirane
- Europe/Ulyanovsk
- Europe/Vaduz
- Europe/Vatican
- Europe/Vienna
- Europe/Vilnius
- Europe/Volgograd
- Europe/Warsaw
- Europe/Zagreb
- Europe/Zurich
- Indian/Antananarivo
- Indian/Chagos
- Indian/Christmas
- Indian/Cocos
- Indian/Comoro
- Indian/Kerguelen
- Indian/Mahe
- Indian/Maldives
- Indian/Mauritius
- Indian/Mayotte
- Indian/Reunion
- Pacific/Apia
- Pacific/Auckland
- Pacific/Bougainville
- Pacific/Chatham
- Pacific/Chuuk
- Pacific/Easter
- Pacific/Efate
- Pacific/Fakaofo
- Pacific/Fiji
- Pacific/Funafuti
- Pacific/Galapagos
- Pacific/Gambier
- Pacific/Guadalcanal
- Pacific/Guam
- Pacific/Honolulu
- Pacific/Kanton
- Pacific/Kiritimati
- Pacific/Kosrae
- Pacific/Kwajalein
- Pacific/Majuro
- Pacific/Marquesas
- Pacific/Midway
- Pacific/Nauru
- Pacific/Niue
- Pacific/Norfolk
- Pacific/Noumea
- Pacific/Pago_Pago
- Pacific/Palau
- Pacific/Pitcairn
- Pacific/Pohnpei
- Pacific/Port_Moresby
- Pacific/Rarotonga
- Pacific/Saipan
- Pacific/Tahiti
- Pacific/Tarawa
- Pacific/Tongatapu
- Pacific/Wake
- Pacific/Wallis
- US/Alaska
- US/Central
- US/Eastern
- US/Hawaii
- US/Mountain
- US/Pacific
default: Europe/Berlin
description: The agent's timezone.
title: timezone
AssistantsPostRequestBodyContentApplicationJsonSchemaAgent:
type: object
properties:
timezone:
$ref: '#/components/schemas/timezone'
default: Europe/Berlin
voice_prompt:
$ref: '#/components/schemas/voice_prompt'
voice_stability:
$ref: '#/components/schemas/voice_stability'
voice_similarity_boost:
$ref: '#/components/schemas/voice_similarity_boost'
voice_optimise_streaming_latency:
$ref: '#/components/schemas/voice_optimise_streaming_latency'
voice_style:
$ref: '#/components/schemas/voice_style'
voice_use_speaker_boost:
$ref: '#/components/schemas/voice_use_speaker_boost'
allowed_idle_time_seconds:
$ref: '#/components/schemas/allowed_idle_time_seconds'
initial_pause_seconds:
$ref: '#/components/schemas/initial_pause_seconds'
transcriber_keywords:
$ref: '#/components/schemas/transcriber_keywords'
ring_pause_seconds:
$ref: '#/components/schemas/ring_pause_seconds'
transcriber_provider:
$ref: '#/components/schemas/transcriber_provider'
transcriber_speech_recognition:
$ref: '#/components/schemas/transcriber_speech_recognition'
background_noise:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoise'
description: Add background noise to make the call more natural.
noise_cancellation:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentNoiseCancellation'
description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand.
realistic_filler_words:
type: boolean
description: If enabled, the agent will be using realistic filler words (for example, "um").
is_transcript_disabled:
type: boolean
description: If set to true, conversations will not be transcribed.
redact_pii:
type: boolean
description: Whether to redact personally identifiable information (PII) from transcripts, post-call webhooks, and internal logs. Redacted data includes credit card numbers, CVVs, expiration dates, social security numbers, names, email addresses, phone numbers, and physical addresses.
synthesizer_filter_words:
type: array
items:
type: string
description: Words or characters that the agent should not say.
end_call_reasons:
type: array
items:
type: string
description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format). Works with both simple prompt and Flow Designer agents.'
end_call_reasons_v2:
type: array
items:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2Items'
description: Custom conditions that trigger automatic call termination with per-reason closing message control. When both end_call_reasons and end_call_reasons_v2 are present, v2 takes precedence.
voice_synthesizer:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentVoiceSynthesizer'
description: The engine used to synthesize voice.
global_audio_tags:
type: string
description: Free-form audio tags that apply to every utterance for the duration of a call. Tags are wrapped in square brackets and set a persistent voice character such as an accent or base mood. Only supported when voice_synthesizer is eleven_v3.
suppression_level:
type: number
format: double
description: Setting this value will enable voice isolation in addition to background noise detection, the value assigned the term is the strength with a higher value stronger voice isolation.
interruption_fade_out:
type: integer
description: Each frame is 20 ms. When you interrupt the bot, the volume slowly goes down to 0 over that many frames. For example, 5 translates to a 100 ms fadeout.
voice_speed:
type: number
format: double
description: Adjust how fast or slow your agent will talk on the call.
voice_volume:
type: number
format: double
description: Adjust how loud or quite your agent will talk on the call.
min_words_to_interrupt:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentMinWordsToInterrupt'
description: You can set how many words the human must speak before the AI will stop speaking and listening.
prompt:
$ref: '#/components/schemas/prompt'
greeting_message:
$ref: '#/components/schemas/greeting_message'
greeting_message_mode:
$ref: '#/components/schemas/greeting_message_mode'
greeting_message_human_talk_timeout:
$ref: '#/components/schemas/greeting_message_human_talk_timeout'
llm:
$ref: '#/components/schemas/llm'
language:
$ref: '#/components/schemas/language'
voice_id:
$ref: '#/components/schemas/voice_id'
patience_level:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentPatienceLevel'
description: Patience level of the agent.
send_user_idle_reminders:
type: boolean
default: false
description: Enables or disables idle reminders.
reminder_after_idle_time_seconds:
type: integer
description: Time in seconds before sending an idle reminder.
reminder_after_idle_message:
type: string
description: The idle reminder message.
fallback_voice_id:
$ref: '#/components/schemas/voice_id'
fallback_provider:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentFallbackProvider'
description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow).
fallback_model:
type: string
description: The model to be used by the fallback provider.
consent_message:
type: string
description: The message the agent will say to ask the customer for their consent to have the call recorded.
is_consent_enabled:
type: boolean
description: Whether the agent should ask for consent to record the call.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgent
List-assistantRequestBadRequestError:
type: object
properties: {}
title: List-assistantRequestBadRequestError
detach-phone-number-from-assistant_Response_200:
type: object
properties:
status:
type: string
title: detach-phone-number-from-assistant_Response_200
AgentVoiceSynthesizer:
type: string
enum:
- eleven_multilingual_v2
- eleven_turbo_v2
- eleven_turbo_v2_5
- eleven_flash_v2
- eleven_flash_v2_5
- eleven_v3
description: The engine used to synthesize voice.
title: AgentVoiceSynthesizer
status:
type: string
description: Whether the request was successful.
title: status
voice_similarity_boost:
type: integer
description: Range 0 to 1. Determines how closely the AI matches the original voice. Higher settings potentially including unwanted noise from the original recording.
title: voice_similarity_boost
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentFallbackProvider:
type: string
enum:
- elevenlabs
- deepgram
- synthflow
description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow).
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentFallbackProvider
AgentMinWordsToInterrupt:
type: string
enum:
- '0'
- '1'
- '2'
- '3'
- '4'
- '5'
description: You can set how many words the human must speak before the AI will stop speaking and listening.
title: AgentMinWordsToInterrupt
AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration:
type: object
properties:
duration_seconds:
type: integer
description: Maximum length of the call in seconds.
is_enabled:
type: boolean
description: Whether there's a limit on call length.
title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration
AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetails:
type: object
properties:
phone:
type: string
description: The phone number attached to the agent.
voice:
type: string
description: The agent's voice.
title: AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetails
update-assistant_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/AssistantsModelIdPutResponsesContentApplicationJsonSchemaResponse'
details:
$ref: '#/components/schemas/AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetails'
title: update-assistant_Response_200
attach-phone-numbers-to-assistant_Request:
oneOf:
- $ref: '#/components/schemas/AttachPhoneNumbersToAssistantRequest0'
- $ref: '#/components/schemas/AttachPhoneNumbersToAssistantRequest1'
title: attach-phone-numbers-to-assistant_Request
greeting_message:
type: string
description: The greeting message the agent will open the conversation with. You can add variables in curly brackets (for example, {your-variable}).
title: greeting_message
attach-phone-numbers-to-assistant_Response_200:
type: object
properties:
status:
type: string
title: attach-phone-numbers-to-assistant_Response_200
voice_stability:
type: integer
description: Range is 0 to 1. Lower settings may make the voice sound more expressive but less predictable, while higher settings make it sound steadier but less emotional.
title: voice_stability
AssistantsPostResponsesContentApplicationJsonSchemaDetail:
type: object
properties:
status:
type: string
description:
type: string
request_id:
type: string
category:
type: string
required:
- status
- description
- request_id
- category
title: AssistantsPostResponsesContentApplicationJsonSchemaDetail
AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsMaxDuration:
type: object
properties:
duration_seconds:
type: integer
description: Maximum length of the call in seconds.
is_enabled:
type: boolean
description: Whether there's a limit on call length.
title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsMaxDuration
delete-assistant_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/AssistantsModelIdDeleteResponsesContentApplicationJsonSchemaResponse'
title: delete-assistant_Response_200
Delete-assistantRequestBadRequestError:
type: object
properties: {}
title: Delete-assistantRequestBadRequestError
pagination:
type: object
properties:
total_records:
type: integer
limit:
type: integer
offset:
type: integer
title: pagination
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentVoiceSynthesizer:
type: string
enum:
- eleven_multilingual_v2
- eleven_turbo_v2
- eleven_turbo_v2_5
- eleven_flash_v2
- eleven_flash_v2_5
- eleven_v3
description: The engine used to synthesize voice.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentVoiceSynthesizer
AssistantsPostResponsesContentApplicationJsonSchemaDetails:
type: object
properties:
phone:
type: string
description: The phone number attached to this agent.
voice:
type: string
description: This agent's voice.
title: AssistantsPostResponsesContentApplicationJsonSchemaDetails
AssistantsPostResponsesContentApplicationJsonSchemaResponse:
type: object
properties:
model_id:
$ref: '#/components/schemas/model_id'
title: AssistantsPostResponsesContentApplicationJsonSchemaResponse
language:
type: string
enum:
- multi
- en-US
- bg
- cs
- de-DE
- el
- fi
- fr-FR
- es-ES
- hu
- it
- fr
- pt-BR
- nl-NL
- hi
- zh-CN
- 'no'
- sv-SE
- da
- da-DK
- id
- ja
- ko
- ms
- ro
- ru
- sk
- tr
- uk
- vi
- th
- pl
description: This agent's language. For the list of available languages, see Supported languages
title: language
Detach-phone-number-from-assistantRequestNotFoundError:
type: object
properties:
detail:
$ref: '#/components/schemas/AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail'
title: Detach-phone-number-from-assistantRequestNotFoundError
greeting_message_human_talk_timeout:
type: integer
description: 'The maximum number of seconds the agent waits for the human to speak first when `greeting_message_mode` is set to `human`. If the human does not speak within this time, the agent will start the conversation automatically.
'
title: greeting_message_human_talk_timeout
AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsInputVariablesItemsValuesItems:
type: object
properties:
name:
type: string
type:
type: string
description:
type:
- string
- 'null'
example:
type:
- string
- 'null'
required:
type:
- boolean
- 'null'
required:
- name
- type
title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsInputVariablesItemsValuesItems
AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessage:
type: object
properties:
enabled:
type: boolean
description: Whether voicemail message leaving is enabled.
mode:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessageMode'
description: The mode used to generate the voicemail message.
exact_message:
type: string
description: The exact message to leave on the voicemail. Used when mode is `exact_message`.
prompt:
type: string
description: A prompt used to generate the voicemail message. Used when mode is `prompt`.
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessage
AssistantsPostRequestBodyContentApplicationJsonSchemaMaxDuration:
type: object
properties:
duration_seconds:
type: integer
description: Maximum length of the call in seconds.
is_enabled:
type: boolean
description: Whether there's a limit on call length.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaMaxDuration
model_id:
type: string
description: Agent ID. You can find it on the agent’s page in your dashboard.
title: model_id
Update-assistantRequestBadRequestError:
type: object
properties:
detail:
$ref: '#/components/schemas/AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetail'
title: Update-assistantRequestBadRequestError
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2Items:
type: object
properties:
reason:
type: string
description: The condition that triggers call termination.
closing_message_mode:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2ItemsClosingMessageMode'
description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.'
closing_message:
type: string
description: The closing message content. Interpretation depends on closing_message_mode.
required:
- reason
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2Items
AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessage:
type: object
properties:
enabled:
type: boolean
description: Whether voicemail message leaving is enabled.
mode:
$ref: '#/components/schemas/AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessageMode'
description: The mode used to generate the voicemail message.
exact_message:
type: string
description: The exact message to leave on the voicemail. Used when mode is `exact_message`.
prompt:
type: string
description: A prompt used to generate the voicemail message. Used when mode is `prompt`.
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
title: AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaVoicemailMessage
initial_pause_seconds:
type: integer
description: Duration before the agent starts speaking.
title: initial_pause_seconds
allowed_idle_time_seconds:
type: integer
description: The agent will disconnect after this period.
title: allowed_idle_time_seconds
AgentEndCallReasonsV2ItemsClosingMessageMode:
type: string
enum:
- static
- prompt
- none
description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.'
title: AgentEndCallReasonsV2ItemsClosingMessageMode
AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsInputVariablesItems:
type: object
properties:
action_id:
type: string
description: Action ID the variables belong to.
values:
type: array
items:
$ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsInputVariablesItemsValuesItems'
description: Input variable definitions for this action.
trigger_condition:
type:
- string
- 'null'
description: Per-assistant 'When to use this Action' condition for this action, or null when not set.
required:
- action_id
- values
title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsInputVariablesItems
voice_prompt:
type: string
description: Slightly alters the agent's intonation, talking speed or sentiment for a subtle yet noticeable effect.
title: voice_prompt
AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponse:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
assistants:
type: array
items:
$ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItems'
title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponse
AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistants:
type: object
properties:
end_call_reasons:
type: array
items:
type: string
description: Optional. Some GET responses include `end_call_reasons` at the top level of each assistant object (in addition to `agent.end_call_reasons`). To configure end-call reasons, set **`agent.end_call_reasons`** on create or update requests; a top-level `end_call_reasons` on those requests is ignored.
description:
type: string
description: Agent description.
phone_number:
type: string
description: The phone number attached to the agent.
external_webhook_url:
type: string
description: URL of the webhook that should receive data after the call, such as the transcript.
is_recording:
type: boolean
description: Whether the conversation should be recorded.
max_duration:
$ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsMaxDuration'
voicemail_message:
$ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessage'
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
type:
$ref: '#/components/schemas/type'
name:
$ref: '#/components/schemas/name'
agent:
$ref: '#/components/schemas/Agent'
model_id:
type: string
description: The ID of the agent.
title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistants
llm:
type: string
enum:
- gpt-4.1
- gpt-4.1-nano
- gpt-4.1-mini
- gpt-5-mini
- gpt-5-nano
- gpt-5.1
- gpt-5.2
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano
- synthflow
description: The LLM powering this agent.
title: llm
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentPatienceLevel:
type: string
enum:
- low
- medium
- high
description: Patience level of the agent.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentPatienceLevel
AssistantsModelIdPhoneNumbersPutResponsesContentApplicationJsonSchemaDetail:
type: object
properties:
status:
type: string
description:
type: string
request_id:
type: string
category:
type: string
required:
- status
- description
- request_id
- category
title: AssistantsModelIdPhoneNumbersPutResponsesContentApplicationJsonSchemaDetail
transcriber_keywords:
type: array
items:
type: string
description: Add business terms to improve accuracy and recognition.
title: transcriber_keywords
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoiseType:
type: string
enum:
- cafe
- office
description: What kind of background noise should be present.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoiseType
AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessageMode:
type: string
enum:
- exact_message
- prompt
description: The mode used to generate the voicemail message.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaVoicemailMessageMode
create-assistant_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/AssistantsPostResponsesContentApplicationJsonSchemaResponse'
details:
$ref: '#/components/schemas/AssistantsPostResponsesContentApplicationJsonSchemaDetails'
title: create-assistant_Response_200
AssistantsGetResponsesContentApplicationJsonSchemaResponse:
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination'
assistants:
$ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistants'
title: AssistantsGetResponsesContentApplicationJsonSchemaResponse
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoise:
type: object
properties:
enabled:
type: boolean
description: If enabled, the agent will add background noise.
type:
$ref: '#/components/schemas/AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoiseType'
description: What kind of background noise should be present.
volume:
type: integer
description: How loud the background noise should be.
description: Add background noise to make the call more natural.
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentBackgroundNoise
AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2ItemsClosingMessageMode:
type: string
enum:
- static
- prompt
- none
description: 'Controls how the farewell message is generated. static: message is spoken verbatim. prompt: message is an instruction to the LLM. none: LLM generates its own farewell.'
title: AssistantsPostRequestBodyContentApplicationJsonSchemaAgentEndCallReasonsV2ItemsClosingMessageMode
AgentPatienceLevel:
type: string
enum:
- low
- medium
- high
description: Patience level of the agent.
title: AgentPatienceLevel
AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetail:
type: object
properties:
status:
type: string
description:
type: string
request_id:
type: string
category:
type: string
required:
- status
- description
- request_id
- category
title: AssistantsModelIdPutResponsesContentApplicationJsonSchemaDetail
type:
type: string
enum:
- outbound
- inbound
- widget
description: Agent type.
title: type
voice_id:
type: string
description: Voice ID for this agent. To retrieve voice IDs, use the Get voices endpoint.
title: voice_id
list-assistant_Response_200:
type: object
properties:
status:
$ref: '#/components/schemas/status'
response:
$ref: '#/components/schemas/AssistantsGetResponsesContentApplicationJsonSchemaResponse'
title: list-assistant_Response_200
AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsVoicemailMessage:
type: object
properties:
enabled:
type: boolean
description: Whether voicemail message leaving is enabled.
mode:
$ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsVoicemailMessageMode'
description: The mode used to generate the voicemail message.
exact_message:
type: string
description: The exact message to leave on the voicemail. Used when mode is `exact_message`.
prompt:
type: string
description: A prompt used to generate the voicemail message. Used when mode is `prompt`.
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsVoicemailMessage
AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode:
type: string
enum:
- exact_message
- prompt
description: The mode used to generate the voicemail message.
title: AssistantsGetResponsesContentApplicationJsonSchemaResponseAssistantsVoicemailMessageMode
AgentBackgroundNoiseType:
type: string
enum:
- cafe
- office
description: What kind of background noise should be present.
title: AgentBackgroundNoiseType
AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsVoicemailMessageMode:
type: string
enum:
- exact_message
- prompt
description: The mode used to generate the voicemail message.
title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsVoicemailMessageMode
AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaMaxDuration:
type: object
properties:
duration_seconds:
type: integer
description: Maximum length of the call in seconds.
is_enabled:
type: boolean
description: Whether there's a limit on call length.
title: AssistantsModelIdPutRequestBodyContentApplicationJsonSchemaMaxDuration
AttachPhoneNumbersToAssistantRequest0:
type: object
properties:
phone_numbers:
type: array
items:
type: string
description: Phone numbers array.
required:
- phone_numbers
title: AttachPhoneNumbersToAssistantRequest0
greeting_message_mode:
type: string
enum:
- human
- agent_static
- agent_dynamic
description: 'Controls how the agent delivers the initial greeting. `human`: the agent waits for the human to speak first. `agent_static`: the agent speaks `greeting_message` once the call is established. `agent_dynamic`: the agent generates a greeting from the prompt and speaks it once the call is established. Note: `voicemail_message` requires this to be set to `human`. Changing away from `human` while `voicemail_message` is enabled will fail.
'
title: greeting_message_mode
Detach-phone-number-from-assistantRequestBadRequestError:
type: object
properties:
detail:
$ref: '#/components/schemas/AssistantsModelIdPhoneNumbersPhoneNumberSlugDeleteResponsesContentApplicationJsonSchemaDetail'
title: Detach-phone-number-from-assistantRequestBadRequestError
Create-assistantRequestBadRequestError:
type: object
properties:
detail:
$ref: '#/components/schemas/AssistantsPostResponsesContentApplicationJsonSchemaDetail'
title: Create-assistantRequestBadRequestError
prompt:
type: string
description: Add variables in curly brackets. For example, {your-variable}.
title: prompt
AgentBackgroundNoise:
type: object
properties:
enabled:
type: boolean
description: If enabled, the agent will add background noise.
type:
$ref: '#/components/schemas/AgentBackgroundNoiseType'
description: What kind of background noise should be present.
volume:
type: integer
description: How loud the background noise should be.
description: Add background noise to make the call more natural.
title: AgentBackgroundNoise
ring_pause_seconds:
type: integer
description: Ring time before the agent answers the call.
title: ring_pause_seconds
name:
type: string
description: Agent name.
title: name
Get-assistantRequestBadRequestError:
type: object
properties: {}
title: Get-assistantRequestBadRequestError
transcriber_provider:
type: string
enum:
- deepgram
- deepgram-nova-3
- synthflow-stt
description: Speech-to-text provider used for transcription.
title: transcriber_provider
Agent:
type: object
properties:
timezone:
$ref: '#/components/schemas/timezone'
default: Europe/Berlin
voice_prompt:
$ref: '#/components/schemas/voice_prompt'
voice_stability:
$ref: '#/components/schemas/voice_stability'
voice_similarity_boost:
$ref: '#/components/schemas/voice_similarity_boost'
voice_optimise_streaming_latency:
$ref: '#/components/schemas/voice_optimise_streaming_latency'
voice_style:
$ref: '#/components/schemas/voice_style'
voice_use_speaker_boost:
$ref: '#/components/schemas/voice_use_speaker_boost'
allowed_idle_time_seconds:
$ref: '#/components/schemas/allowed_idle_time_seconds'
initial_pause_seconds:
$ref: '#/components/schemas/initial_pause_seconds'
transcriber_keywords:
$ref: '#/components/schemas/transcriber_keywords'
ring_pause_seconds:
$ref: '#/components/schemas/ring_pause_seconds'
transcriber_provider:
$ref: '#/components/schemas/transcriber_provider'
transcriber_speech_recognition:
$ref: '#/components/schemas/transcriber_speech_recognition'
background_noise:
$ref: '#/components/schemas/AgentBackgroundNoise'
description: Add background noise to make the call more natural.
noise_cancellation:
$ref: '#/components/schemas/AgentNoiseCancellation'
description: Removes background noise on the customer's side (like chatter in a café or keyboard clicks) to make their voice clearer and easier for the agent to understand.
realistic_filler_words:
type: boolean
description: If enabled, the agent will be using realistic filler words (for example, "um").
is_transcript_disabled:
type: boolean
description: If set to true, conversations will not be transcribed.
redact_pii:
type: boolean
description: Whether to redact personally identifiable information (PII) from transcripts, post-call webhooks, and internal logs. Redacted data includes credit card numbers, CVVs, expiration dates, social security numbers, names, email addresses, phone numbers, and physical addresses.
synthesizer_filter_words:
type: array
items:
description: Any type
description: Words or characters that the agent should not say.
end_call_reasons:
type: array
items:
type: string
description: 'Deprecated: use end_call_reasons_v2 instead. Custom conditions that trigger automatic call termination (simple string array format). Works with both simple prompt and Flow Designer agents.'
end_call_reasons_v2:
type: array
items:
$ref: '#/components/schemas/AgentEndCallReasonsV2Items'
description: Custom conditions that trigger automatic call termination with per-reason closing message control. When both end_call_reasons and end_call_reasons_v2 are present, v2 takes precedence.
voice_synthesizer:
$ref: '#/components/schemas/AgentVoiceSynthesizer'
description: The engine used to synthesize voice.
global_audio_tags:
type: string
description: Free-form audio tags that apply to every utterance for the duration of a call. Tags are wrapped in square brackets and set a persistent voice character such as an accent or base mood. Only supported when voice_synthesizer is eleven_v3.
suppression_level:
type: number
format: double
description: Setting this value will enable voice isolation in addition to background noise detection, the value assigned the term is the strength with a higher value stronger voice isolation.
interruption_fade_out:
type: integer
description: Each frame is 20 ms. When you interrupt the bot, the volume slowly goes down to 0 over that many frames. For example, 5 translates to a 100 ms fadeout.
voice_speed:
type: number
format: double
description: Adjust how fast or slow your agent will talk on the call.
voice_volume:
type: number
format: double
description: Adjust how loud or quite your agent will talk on the call.
min_words_to_interrupt:
$ref: '#/components/schemas/AgentMinWordsToInterrupt'
description: You can set how many words the human must speak before the AI will stop speaking and listening.
prompt:
$ref: '#/components/schemas/prompt'
greeting_message:
$ref: '#/components/schemas/greeting_message'
greeting_message_mode:
$ref: '#/components/schemas/greeting_message_mode'
greeting_message_human_talk_timeout:
$ref: '#/components/schemas/greeting_message_human_talk_timeout'
llm:
$ref: '#/components/schemas/llm'
language:
$ref: '#/components/schemas/language'
voice_id:
$ref: '#/components/schemas/voice_id'
patience_level:
$ref: '#/components/schemas/AgentPatienceLevel'
description: Patience level of the agent.
send_user_idle_reminders:
type: boolean
default: false
description: Enables or disables idle reminders.
reminder_after_idle_time_seconds:
type: integer
description: Time in seconds before sending an idle reminder.
reminder_after_idle_message:
type: string
description: The idle reminder message.
fallback_voice_id:
$ref: '#/components/schemas/voice_id'
fallback_provider:
$ref: '#/components/schemas/AgentFallbackProvider'
description: The provider for the fallback voice (elevenlabs, deepgram, or synthflow).
fallback_model:
type: string
description: The model to be used by the fallback provider.
title: Agent
AssistantsModelIdPutResponsesContentApplicationJsonSchemaResponse:
type: object
properties:
model_id:
$ref: '#/components/schemas/model_id'
title: AssistantsModelIdPutResponsesContentApplicationJsonSchemaResponse
AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItems:
type: object
properties:
end_call_reasons:
type: array
items:
type: string
description: Optional. Some GET responses include `end_call_reasons` at the top level of each assistant object (in addition to `agent.end_call_reasons`). To configure end-call reasons, set **`agent.end_call_reasons`** on create or update requests; a top-level `end_call_reasons` on those requests is ignored.
description:
type: string
description: Agent description.
phone_number:
type: string
description: The phone number attached to the agent.
external_webhook_url:
type: string
description: URL of the webhook that should receive data after the call, such as the transcript.
is_recording:
type: boolean
description: Whether the conversation should be recorded.
max_duration:
$ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsMaxDuration'
voicemail_message:
$ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsVoicemailMessage'
description: Configuration for the message left when a voicemail is detected. Requires `greeting_message_mode` to be set to `human`.
type:
$ref: '#/components/schemas/type'
name:
$ref: '#/components/schemas/name'
agent:
$ref: '#/components/schemas/Agent'
model_id:
type: string
description: The ID of the agent.
attached_phone_numbers:
type: array
items:
$ref: '#/components/schemas/AttachedPhoneNumber'
description: Attached phone numbers available for outbound calls from this agent.
actions:
type: array
items:
type: string
description: Action IDs attached to this assistant. Returns an empty array when `include_actions=false`.
input_variables:
type: array
items:
$ref: '#/components/schemas/AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItemsInputVariablesItems'
description: Action input variables grouped by action ID. Returns an empty array when `include_actions=false`.
title: AssistantsModelIdGetResponsesContentApplicationJsonSchemaResponseAssistantsItems
AttachedPhoneNumber:
type: object
properties:
number:
type: string
description: Phone number to attach to an outbound agent.
sid:
type:
- string
- 'null'
description: Twilio phone number SID.
slug:
type: string
description: Internal phone number slug.
required:
- number
- sid
- slug
title: AttachedPhoneNumber
voice_optimise_streaming_latency:
type: integer
description: Range 0 to 4. Optimises streaming latency
title: voice_optimise_streaming_latency
Attach-phone-numbers-to-assistantRequestNotFoundError:
type: object
properties:
detail:
$ref: '#/components/schemas/AssistantsModelIdPhoneNumbersPutResponsesContentApplicationJsonSchemaDetail'
title: Attach-phone-numbers-to-assistantRequestNotFoundError
securitySchemes:
sec0:
type: http
scheme: bearer