Telnyx · Schema
Answer Request
CommunicationsCPaaSVoiceSMSIoTTelecommunicationsMessagingArtificial IntelligenceMCPVoice AIPhone NumbersInference
Properties
| Name | Type | Description |
|---|---|---|
| assistant | object | |
| billing_group_id | string | Use this field to set the Billing Group ID for the call. Must be a valid and existing Billing Group ID. |
| client_state | string | Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string. |
| command_id | string | Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`. |
| custom_headers | array | Custom headers to be added to the SIP INVITE response. |
| deepfake_detection | object | Enables deepfake detection on the call. When enabled, audio from the remote party is streamed to a detection service that analyzes whether the voice is AI-generated. Results are delivered via the `cal |
| preferred_codecs | string | The list of comma-separated codecs in a preferred order for the forked media to be received. |
| record | string | Start recording automatically after an event. Disabled by default. |
| record_channels | string | Defines which channel should be recorded ('single' or 'dual') when `record` is specified. |
| record_custom_file_name | string | The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix. |
| record_format | string | Defines the format of the recording ('wav' or 'mp3') when `record` is specified. |
| record_max_length | integer | Defines the maximum length for the recording in seconds when `record` is specified. The minimum value is 0. The maximum value is 43200. The default value is 0 (infinite). |
| record_timeout_secs | integer | The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected when `record` is specified. The timer only starts when the speech is detected. Please note that call |
| record_track | string | The audio track to be recorded. Can be either `both`, `inbound` or `outbound`. If only single track is specified (`inbound`, `outbound`), `channels` configuration is ignored and it will be recorded as |
| record_trim | string | When set to `trim-silence`, silence will be removed from the beginning and end of the recording. |
| send_silence_when_idle | boolean | Generate silence RTP packets when no transmission available. |
| sip_headers | array | SIP headers to be added to the SIP INVITE response. Currently only User-to-User header is supported. |
| sound_modifications | object | |
| stream_bidirectional_codec | object | |
| stream_bidirectional_mode | object | |
| stream_bidirectional_target_legs | object | |
| stream_codec | object | |
| stream_track | string | Specifies which track should be streamed. |
| stream_url | string | The destination WebSocket address where the stream is going to be delivered. |
| transcription | boolean | Enable transcription upon call answer. The default value is false. |
| transcription_config | object | |
| webhook_retries_policies | object | A map of event types to retry policies. Each retry policy contains an array of `retries_ms` specifying the delays between retry attempts in milliseconds. Maximum 5 retries, total delay cannot exceed 6 |
| webhook_url | string | Use this field to override the URL for which Telnyx will send subsequent webhooks to for this call. |
| webhook_url_method | string | HTTP request type used for `webhook_url`. |
| webhook_urls | object | A map of event types to webhook URLs. When an event of the specified type occurs, the webhook URL associated with that event type will be called instead of `webhook_url`. Events not mapped here will u |
| webhook_urls_method | string | HTTP request method to invoke `webhook_urls`. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-answer-request-schema.json",
"title": "Answer Request",
"x-generated": "2026-10-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/telnyx-call-commands-api-openapi.yml#/components/schemas/AnswerRequest",
"properties": {
"assistant": {
"$ref": "#/$defs/CallAssistantRequest"
},
"billing_group_id": {
"description": "Use this field to set the Billing Group ID for the call. Must be a valid and existing Billing Group ID.",
"format": "uuid",
"type": "string"
},
"client_state": {
"description": "Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.",
"type": "string"
},
"command_id": {
"description": "Use this field to avoid duplicate commands. Telnyx will ignore any command with the same `command_id` for the same `call_control_id`.",
"type": "string"
},
"custom_headers": {
"description": "Custom headers to be added to the SIP INVITE response.",
"items": {
"$ref": "#/$defs/CustomSipHeader"
},
"type": "array"
},
"deepfake_detection": {
"description": "Enables deepfake detection on the call. When enabled, audio from the remote party is streamed to a detection service that analyzes whether the voice is AI-generated. Results are delivered via the `call.deepfake_detection.result` webhook.",
"properties": {
"enabled": {
"default": false,
"description": "Whether deepfake detection is enabled.",
"type": "boolean"
},
"rtp_timeout": {
"default": 30,
"description": "Maximum time in seconds to wait for RTP audio before timing out. If no audio is received within this window, detection stops with an error.",
"format": "int32",
"maximum": 120,
"minimum": 5,
"type": "integer"
},
"timeout": {
"default": 15,
"description": "Maximum time in seconds to wait for a detection result before timing out.",
"format": "int32",
"maximum": 60,
"minimum": 5,
"type": "integer"
}
},
"required": [
"enabled"
],
"type": "object"
},
"preferred_codecs": {
"description": "The list of comma-separated codecs in a preferred order for the forked media to be received.",
"enum": [
"G722,PCMU,PCMA,G729,OPUS,VP8,H264"
],
"type": "string"
},
"record": {
"description": "Start recording automatically after an event. Disabled by default.",
"enum": [
"record-from-answer"
],
"type": "string"
},
"record_channels": {
"default": "dual",
"description": "Defines which channel should be recorded ('single' or 'dual') when `record` is specified.",
"enum": [
"single",
"dual"
],
"type": "string"
},
"record_custom_file_name": {
"description": "The custom recording file name to be used instead of the default `call_leg_id`. Telnyx will still add a Unix timestamp suffix.",
"maxLength": 40,
"minLength": 1,
"type": "string"
},
"record_format": {
"default": "mp3",
"description": "Defines the format of the recording ('wav' or 'mp3') when `record` is specified.",
"enum": [
"wav",
"mp3"
],
"type": "string"
},
"record_max_length": {
"default": 0,
"description": "Defines the maximum length for the recording in seconds when `record` is specified. The minimum value is 0. The maximum value is 43200. The default value is 0 (infinite).",
"format": "int32",
"type": "integer"
},
"record_timeout_secs": {
"default": 0,
"description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected when `record` is specified. The timer only starts when the speech is detected. Please note that call transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite).",
"format": "int32",
"type": "integer"
},
"record_track": {
"default": "both",
"description": "The audio track to be recorded. Can be either `both`, `inbound` or `outbound`. If only single track is specified (`inbound`, `outbound`), `channels` configuration is ignored and it will be recorded as mono (single channel).",
"enum": [
"both",
"inbound",
"outbound"
],
"type": "string"
},
"record_trim": {
"description": "When set to `trim-silence`, silence will be removed from the beginning and end of the recording.",
"enum": [
"trim-silence"
],
"type": "string"
},
"send_silence_when_idle": {
"default": false,
"description": "Generate silence RTP packets when no transmission available.",
"type": "boolean"
},
"sip_headers": {
"description": "SIP headers to be added to the SIP INVITE response. Currently only User-to-User header is supported.",
"items": {
"$ref": "#/$defs/SipHeader"
},
"type": "array"
},
"sound_modifications": {
"$ref": "#/$defs/SoundModifications"
},
"stream_bidirectional_codec": {
"$ref": "#/$defs/StreamBidirectionalCodec"
},
"stream_bidirectional_mode": {
"$ref": "#/$defs/StreamBidirectionalMode"
},
"stream_bidirectional_target_legs": {
"$ref": "#/$defs/StreamBidirectionalTargetLegs"
},
"stream_codec": {
"$ref": "#/$defs/StreamCodec"
},
"stream_track": {
"default": "inbound_track",
"description": "Specifies which track should be streamed.",
"enum": [
"inbound_track",
"outbound_track",
"both_tracks"
],
"type": "string"
},
"stream_url": {
"description": "The destination WebSocket address where the stream is going to be delivered.",
"type": "string"
},
"transcription": {
"default": false,
"description": "Enable transcription upon call answer. The default value is false.",
"type": "boolean"
},
"transcription_config": {
"$ref": "#/$defs/TranscriptionStartRequest"
},
"webhook_retries_policies": {
"additionalProperties": {
"properties": {
"retries_ms": {
"description": "Array of delays in milliseconds between retry attempts. Total sum cannot exceed 60000ms.",
"items": {
"type": "integer"
},
"maxItems": 5,
"type": "array"
}
},
"type": "object"
},
"description": "A map of event types to retry policies. Each retry policy contains an array of `retries_ms` specifying the delays between retry attempts in milliseconds. Maximum 5 retries, total delay cannot exceed 60 seconds.",
"type": "object"
},
"webhook_url": {
"description": "Use this field to override the URL for which Telnyx will send subsequent webhooks to for this call.",
"type": "string"
},
"webhook_url_method": {
"default": "POST",
"description": "HTTP request type used for `webhook_url`.",
"enum": [
"POST",
"GET"
],
"type": "string"
},
"webhook_urls": {
"additionalProperties": {
"format": "uri",
"type": "string"
},
"description": "A map of event types to webhook URLs. When an event of the specified type occurs, the webhook URL associated with that event type will be called instead of `webhook_url`. Events not mapped here will use the default `webhook_url`.",
"type": "object"
},
"webhook_urls_method": {
"default": "POST",
"description": "HTTP request method to invoke `webhook_urls`.",
"enum": [
"POST",
"GET"
],
"type": "string"
}
},
"type": "object",
"$defs": {
"AzureTranscriptionLanguage": {
"default": "en",
"description": "Language to use for speech recognition",
"enum": [
"af",
"am",
"ar",
"bg",
"bn",
"bs",
"ca",
"cs",
"cy",
"da",
"de",
"el",
"en",
"es",
"et",
"eu",
"fa",
"fi",
"fr",
"ga",
"gl",
"gu",
"he",
"hi",
"hr",
"hu",
"hy",
"id",
"is",
"it",
"ja",
"ka",
"kk",
"km",
"kn",
"ko",
"lo",
"lt",
"lv",
"mk",
"ml",
"mn",
"mr",
"ms",
"mt",
"my",
"nb",
"ne",
"nl",
"pl",
"ps",
"pt",
"ro",
"ru",
"si",
"sk",
"sl",
"so",
"sq",
"sr",
"sv",
"sw",
"ta",
"te",
"th",
"tr",
"uk",
"ur",
"uz",
"vi",
"wuu",
"yue",
"zh",
"zu",
"auto"
],
"title": "Azure transcription engine list of languages",
"type": "string"
},
"AzureTranscriptionRegion": {
"description": "Azure region to use for speech recognition",
"enum": [
"australiaeast",
"centralindia",
"eastus",
"northcentralus",
"westeurope",
"westus2"
],
"title": "Azure transcription engine list of regions",
"type": "string"
},
"BookAppointmentTool": {
"properties": {
"book_appointment": {
"$ref": "#/$defs/BookAppointmentToolParams"
},
"type": {
"enum": [
"book_appointment"
],
"type": "string"
}
},
"required": [
"type",
"book_appointment"
],
"title": "BookAppointmentTool",
"type": "object"
},
"BookAppointmentToolParams": {
"properties": {
"api_key_ref": {
"description": "Reference to an integration secret that contains your Cal.com API key. You would pass the `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) that refers to your Cal.com API key.",
"type": "string"
},
"attendee_name": {
"description": "The name of the attendee [cal.com](https://cal.com/docs/api-reference/v2/bookings/create-a-booking#body-attendee-name). If not provided, the assistant will ask for the attendee's name.",
"type": "string"
},
"attendee_timezone": {
"description": "The timezone of the attendee [cal.com](https://cal.com/docs/api-reference/v2/bookings/create-a-booking#body-attendee-timezone). If not provided, the assistant will ask for the attendee's timezone.",
"type": "string"
},
"event_type_id": {
"description": "Event Type ID for which slots are being fetched. [cal.com](https://cal.com/docs/api-reference/v2/bookings/create-a-booking#body-event-type-id)",
"type": "integer"
}
},
"required": [
"event_type_id",
"api_key_ref"
],
"title": "BookAppointmentToolParams",
"type": "object"
},
"CallAssistantRequest": {
"description": "AI Assistant configuration. All fields except `id` are optional — the assistant's stored configuration will be used as fallback for any omitted fields.",
"properties": {
"dynamic_variables": {
"additionalProperties": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
"description": "Map of dynamic variables and their default values. Dynamic variables can be referenced in instructions, greeting, and tool definitions using the `{{variable_name}}` syntax. Call-control-agent automatically merges in `telnyx_call_*` variables (telnyx_call_to, telnyx_call_from, telnyx_conversation_channel, telnyx_agent_target, telnyx_end_user_target, telnyx_call_caller_id_name) and custom header variables.",
"type": "object"
},
"external_llm": {
"description": "External LLM configuration for bringing your own LLM endpoint.",
"properties": {
"authentication_method": {
"default": "token",
"description": "Authentication method used when connecting to the external LLM endpoint.",
"enum": [
"token",
"certificate"
],
"type": "string"
},
"base_url": {
"description": "Base URL for the external LLM endpoint.",
"type": "string"
},
"certificate_ref": {
"description": "Integration secret identifier for the client certificate used with certificate authentication.",
"type": "string"
},
"forward_metadata": {
"default": false,
"description": "When enabled, Telnyx forwards the assistant's dynamic variables to the external LLM endpoint. Defaults to false. The chat completion request includes a top-level `extra_metadata` object when dynamic variables are available. For example: `{\"extra_metadata\":{\"customer_name\":\"Jane\",\"account_id\":\"acct_789\",\"telnyx_agent_target\":\"+13125550100\",\"telnyx_end_user_target\":\"+13125550123\"}}`.",
"type": "boolean"
},
"llm_api_key_ref": {
"description": "Integration secret identifier for the external LLM API key.",
"type": "string"
},
"model": {
"description": "Model identifier to use with the external LLM endpoint.",
"type": "string"
},
"token_retrieval_url": {
"description": "URL used to retrieve an access token when certificate authentication is enabled.",
"type": "string"
}
},
"type": "object"
},
"fallback_config": {
"description": "Fallback LLM configuration used when the primary LLM provider is unavailable.",
"properties": {
"external_llm": {
"description": "External LLM fallback configuration.",
"properties": {
"authentication_method": {
"default": "token",
"description": "Authentication method used when connecting to the external LLM endpoint.",
"enum": [
"token",
"certificate"
],
"type": "string"
},
"base_url": {
"description": "Base URL for the external LLM endpoint.",
"type": "string"
},
"certificate_ref": {
"description": "Integration secret identifier for the client certificate used with certificate authentication.",
"type": "string"
},
"forward_metadata": {
"default": false,
"description": "When enabled, Telnyx forwards the assistant's dynamic variables to the external LLM endpoint. Defaults to false. The chat completion request includes a top-level `extra_metadata` object when dynamic variables are available. For example: `{\"extra_metadata\":{\"customer_name\":\"Jane\",\"account_id\":\"acct_789\",\"telnyx_agent_target\":\"+13125550100\",\"telnyx_end_user_target\":\"+13125550123\"}}`.",
"type": "boolean"
},
"llm_api_key_ref": {
"description": "Integration secret identifier for the external LLM API key.",
"type": "string"
},
"model": {
"description": "Model identifier to use with the external LLM endpoint.",
"type": "string"
},
"token_retrieval_url": {
"description": "URL used to retrieve an access token when certificate authentication is enabled.",
"type": "string"
}
},
"type": "object"
},
"llm_api_key_ref": {
"description": "Integration secret identifier for the fallback model API key.",
"type": "string"
},
"model": {
"description": "Fallback Telnyx-hosted model to use when the primary LLM provider is unavailable.",
"type": "string"
}
},
"type": "object"
},
"greeting": {
"description": "Initial greeting text spoken when the assistant starts. Can be plain text for any voice or SSML for `AWS.Polly.<voice_id>` voices. There is a 3,000 character limit.",
"maxLength": 3000,
"type": "string"
},
"id": {
"description": "The identifier of the AI assistant to use.",
"type": "string"
},
"instructions": {
"description": "System instructions for the voice assistant. Can be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). This will overwrite the instructions set in the assistant configuration.",
"type": "string"
},
"llm_api_key_ref": {
"description": "Integration secret identifier for the LLM provider API key. Use this field to reference an [integration secret](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) containing your LLM provider API key. Supports any LLM provider (OpenAI, Anthropic, etc.).",
"type": "string"
},
"mcp_servers": {
"description": "MCP (Model Context Protocol) server configurations for extending the assistant's capabilities with external tools and data sources.",
"items": {
"properties": {},
"type": "object"
},
"type": "array"
},
"model": {
"description": "LLM model override for this call. If omitted, the assistant's configured model is used.",
"type": "string"
},
"name": {
"description": "Assistant name override for this call.",
"type": "string"
},
"observability_settings": {
"description": "Observability configuration for the assistant session, including Langfuse integration for tracing and monitoring.",
"properties": {},
"type": "object"
},
"openai_api_key_ref": {
"deprecated": true,
"description": "Deprecated — use `llm_api_key_ref` instead. Integration secret identifier for the OpenAI API key. This field is maintained for backward compatibility; `llm_api_key_ref` is the canonical field name and supports all LLM providers.",
"type": "string",
"x-sdk-deprecation-message": "Use llm_api_key_ref instead"
},
"tools": {
"description": "Inline tool definitions available to the assistant (webhook, retrieval, transfer, hangup, etc.). Overrides the assistant's stored tools if provided.",
"items": {
"oneOf": [
{
"$ref": "#/$defs/BookAppointmentTool"
},
{
"$ref": "#/$defs/CheckAvailabilityTool"
},
{
"$ref": "#/$defs/WebhookTool"
},
{
"$ref": "#/$defs/HangupTool"
},
{
"$ref": "#/$defs/TransferTool"
},
{
"$ref": "#/$defs/CallControlRetrievalTool"
}
]
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"CallControlBucketIds": {
"properties": {
"bucket_ids": {
"items": {
"type": "string"
},
"title": "Bucket Ids",
"type": "array"
},
"max_num_results": {
"description": "The maximum number of results to retrieve as context for the language model.",
"type": "integer"
}
},
"required": [
"bucket_ids"
],
"title": "BucketIds",
"type": "object"
},
"CallControlRetrievalTool": {
"properties": {
"retrieval": {
"$ref": "#/$defs/CallControlBucketIds"
},
"type": {
"enum": [
"retrieval"
],
"type": "string"
}
},
"required": [
"type",
"retrieval"
],
"title": "RetrievalTool",
"type": "object"
},
"CallControlTransferToolParams": {
"properties": {
"from": {
"description": "Number or SIP URI placing the call.",
"type": "string"
},
"targets": {
"description": "The different possible targets of the transfer. The assistant will be able to choose one of the targets to transfer the call to. This can also be a dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.",
"oneOf": [
{
"items": {
"properties": {
"name": {
"description": "The name of the target.",
"type": "string"
},
"to": {
"description": "The destination number or SIP URI of the call.",
"type": "string"
}
},
"required": [
"to"
],
"type": "object"
},
"type": "array"
},
{
"description": "A dynamic variable string like `{{ targets }}` where `targets` is returned by the dynamic variables webhook and resolves to an array of target objects at runtime.",
"type": "string"
}
]
}
},
"required": [
"targets",
"from"
],
"title": "TransferToolParams",
"type": "object"
},
"CallControlWebhookToolParams": {
"properties": {
"body_parameters": {
"description": "The body parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the body of the request. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
"properties": {
"properties": {
"description": "The properties of the body parameters.",
"type": "object"
},
"required": {
"description": "The required properties of the body parameters.",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"enum": [
"object"
],
"type": "string"
}
},
"type": "object"
},
"description": {
"description": "The description of the tool.",
"type": "string"
},
"headers": {
"description": "The headers to be sent to the external tool.",
"items": {
"properties": {
"name": {
"type": "string"
},
"value": {
"description": "The value of the header. Note that we support mustache templating for the value. For example you can use `Bearer {{#integration_secret}}test-secret{{/integration_secret}}` to pass the value of the integration secret as the bearer token.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"method": {
"default": "POST",
"description": "The HTTP method to be used when calling the external tool.",
"enum": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH"
],
"type": "string"
},
"name": {
"description": "The name of the tool.",
"type": "string"
},
"path_parameters": {
"description": "The path parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the path of the request if the URL contains a placeholder for a value. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
"properties": {
"properties": {
"description": "The properties of the path parameters.",
"type": "object"
},
"required": {
"description": "The required properties of the path parameters.",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"enum": [
"object"
],
"type": "string"
}
},
"type": "object"
},
"query_parameters": {
"description": "The query parameters the webhook tool accepts, described as a JSON Schema object. These parameters will be passed to the webhook as the query of the request. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema) for documentation about the format",
"properties": {
"properties": {
"description": "The properties of the query parameters.",
"type": "object"
},
"required": {
"description": "The required properties of the query parameters.",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"enum": [
"object"
],
"type": "string"
}
},
"type": "object"
},
"url": {
"description": "The URL of the external tool to be called. This URL is going to be used by the assistant. The URL can be templated like: `https://example.com/api/v1/{id}`, where `{id}` is a placeholder for a value that will be provided by the assistant if `path_parameters` are provided with the `id` attribute.",
"type": "string"
}
},
"required": [
"url",
"name",
"description"
],
"title": "WebhookToolParams",
"type": "object"
},
"CheckAvailabilityTool": {
"properties": {
"check_availability": {
"$ref": "#/$defs/CheckAvailabilityToolParams"
},
"type": {
"enum": [
"check_availability"
],
"type": "string"
}
},
"required": [
"type",
"check_availability"
],
"title": "CheckAvailabilityTool",
"type": "object"
},
"CheckAvailabilityToolParams": {
"properties": {
"api_key_ref": {
"description": "Reference to an integration secret that contains your Cal.com API key. You would pass the `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) that refers to your Cal.com API key.",
"type": "string"
},
"event_type_id": {
"description": "Event Type ID for which slots are being fetched. [cal.com](https://cal.com/docs/api-reference/v2/slots/get-available-slots#parameter-event-type-id)",
"type": "integer"
}
},
"required": [
"event_type_id",
"api_key_ref"
],
"title": "CheckAvailabilityToolParams",
"type": "object"
},
"CustomSipHeader": {
"properties": {
"name": {
"description": "The name of the header to add.",
"type": "string"
},
"value": {
"description": "The value of the header.",
"type": "string"
}
},
"required": [
"name",
"value"
],
"title": "Custom SIP Header",
"type": "object"
},
"DeepgramNova2Config": {
"properties": {
"interim_results": {
"default": false,
"description": "Whether to send also interim results. If set to false, only final results will be sent.",
"type": "boolean"
},
"keywords_boosting": {
"additionalProperties": {
"description": "Boost intensifier for the keyword. Higher values increase recognition confidence.",
"type": "number"
},
"default": null,
"description": "Keywords and their respective intensifiers (boosting values) to improve transcription accuracy for specific words or phrases. The intensifier should be a numeric value. Example: `{\"snuffleupagus\": 5, \"systrom\": 2, \"krieger\": 1}`.",
"type": "object"
},
"language": {
"$ref": "#/$defs/DeepgramNova2TranscriptionLanguage"
},
"transcription_engine": {
"enum": [
"Deepgram"
],
"type": "string"
},
"transcription_model": {
"enum": [
"deepgram/nova-2"
],
"type": "string"
},
"utterance_end_ms": {
"default": 1000,
"description": "Number of milliseconds of silence to consider an utterance ended. Ranges from 0 to 5000 ms.",
"maximum": 5000,
"minimum": 0,
"type": "integer"
}
},
"required": [
"transcription_engine",
"transcription_model"
],
"title": "DeepgramNova2Config",
"type": "object"
},
"DeepgramNova2TranscriptionLanguage": {
"default": "en",
"description": "Language to use for speech recognition with nova-2 model",
"enum": [
"bg",
"ca",
"zh",
"zh-CN",
"zh-Hans",
"zh-TW",
"zh-Hant",
"zh-HK",
"cs",
"da",
"da-DK",
"nl",
"en",
"en-US",
"en-AU",
"en-GB",
"en-NZ",
"en-IN",
"et",
"fi",
"nl-BE",
"fr",
"fr-CA",
"de",
"de-CH",
"el",
"hi",
"hu",
"id",
"it",
"ja",
"ko",
"ko-KR",
"lv",
"lt",
"ms",
"no",
"pl",
"pt",
"pt-BR",
"pt-PT",
"ro",
"ru",
"sk",
"es",
"es-419",
"sv",
"sv-SE",
"th",
"th-TH",
"tr",
"uk",
"vi",
"auto_detect"
],
"title": "Deepgram nova-2 transcription engine list of languages",
"type": "string"
},
"DeepgramNova3Config": {
"properties": {
"interim_results": {
"default": false,
"description": "Whether to send also interim results. If set to false, only final results will be sent.",
"type": "boolean"
},
"keywords_boosting": {
"additionalProperties": {
"description": "Boost intensifier for the keyword. Higher values increase recognition confidence.",
"type": "number"
},
"default": null,
"description": "Keywords and their respective intensifiers (boosting values) to improve transcription accuracy for specific words or phrases. The intensifier should be a numeric value. Example: `{\"snuffleupagus\": 5, \"systrom\": 2, \"krieger\": 1}`.",
"type": "object"
},
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/json-schema/telnyx-answer-request-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/telnyx-answer-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.