Telnyx · Schema

Initiate Call Request

CommunicationsCPaaSVoiceSMSIoTTelecommunicationsMessagingArtificial IntelligenceMCPVoice AIPhone NumbersInferenceNumber VerificationPhone VerificationOTP2FALookupVerifyNumber LookupCNAMIdentityFraud Prevention

Properties

Name Type Description
ApplicationSid string The ID of the TeXML Application.
AsyncAmd boolean Select whether to perform answering machine detection in the background. By default execution is blocked until Answering Machine Detection is completed.
AsyncAmdStatusCallback string URL destination for Telnyx to send AMD callback events to for the call.
AsyncAmdStatusCallbackMethod string HTTP request type used for `AsyncAmdStatusCallback`. The default value is inherited from TeXML Application setting.
CallerId string To be used as the caller id name (SIP From Display Name) presented to the destination (`To` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and `
CancelPlaybackOnDetectMessageEnd boolean Whether to cancel ongoing playback on `greeting ended` detection. Defaults to `true`.
CancelPlaybackOnMachineDetection boolean Whether to cancel ongoing playback on `machine` detection. Defaults to `true`.
CustomHeaders array Custom HTTP headers to be sent with the call. Each header should be an object with 'name' and 'value' properties.
DeepfakeDetection string Enables Deepfake Detection on the dialed call. When enabled, audio from the remote party is analyzed to determine whether the voice is AI-generated. Results are delivered asynchronously via a callback
DeepfakeDetectionCallbackMethod string HTTP request type used for `DeepfakeDetectionCallbackUrl`.
DeepfakeDetectionCallbackUrl string URL destination for Telnyx to send deepfake detection callback events to for the call.
DetectionMode string Allows you to chose between Premium and Standard detections.
FallbackUrl string A failover URL for which Telnyx will retrieve the TeXML call instructions if the `Url` is not responding.
From string The phone number of the party that initiated the call. Phone numbers are formatted with a `+` and country code.
MachineDetection string Enables Answering Machine Detection.
MachineDetectionSilenceTimeout integer If initial silence duration is greater than this value, consider it a machine. Ignored when `premium` detection is used.
MachineDetectionSpeechEndThreshold integer Silence duration threshold after a greeting message or voice for it be considered human. Ignored when `premium` detection is used.
MachineDetectionSpeechThreshold integer Maximum threshold of a human greeting. If greeting longer than this value, considered machine. Ignored when `premium` detection is used.
MachineDetectionTimeout integer Maximum timeout threshold in milliseconds for overall detection.
MediaEncryption string Defines whether media should be encrypted on the call. When set to `SRTP`, the call will use Secure Real-time Transport Protocol for media encryption. When set to `DTLS`, the call will use DTLS for me
PreferredCodecs string The list of comma-separated codecs to be offered on a call.
Record boolean Whether to record the entire participant's call leg. Defaults to `false`.
RecordingChannels string The number of channels in the final recording. Defaults to `mono`.
RecordingStatusCallback string The URL the recording callbacks will be sent to.
RecordingStatusCallbackEvent string The changes to the recording's state that should generate a call to `RecoridngStatusCallback`. Can be: `in-progress`, `completed` and `absent`. Separate multiple values with a space. Defaults to `comp
RecordingStatusCallbackMethod string HTTP request type used for `RecordingStatusCallback`. Defaults to `POST`.
RecordingTimeout integer The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected. The timer only starts when the speech is detected. Please note that the transcription is used to det
RecordingTrack string The audio track to record for the call. The default is `both`.
SendRecordingUrl object
SipAuthPassword string The password to use for SIP authentication.
SipAuthUsername string The username to use for SIP authentication.
SipRegion string Defines the SIP region to be used for the call.
StatusCallback string URL destination for Telnyx to send status callback events to for the call.
StatusCallbackEvent string The call events for which Telnyx should send a webhook. Multiple events can be defined when separated by a space.
StatusCallbackMethod string HTTP request type used for `StatusCallback`.
SuperviseCallSid string The call control ID of the existing call to supervise. When provided, the created leg will be added to the specified call in supervising mode. Status callbacks and action callbacks will NOT be sent fo
SupervisingRole string The supervising role for the new leg. Determines the audio behavior: barge (hear both sides), whisper (only hear supervisor), monitor (hear both sides but supervisor muted). Default: barge
Texml string TeXML to be used as instructions for the call. If provided, the call will execute these instructions instead of fetching from the Url.
TimeLimit integer The maximum duration of the call in seconds. The minimum value is 30 and the maximum value is 14400 (4 hours). Default is 14400 seconds.
Timeout integer The number of seconds to wait for the called party to answer the call before the call is canceled. The minimum value is 5 and the maximum value is 120. Default is 30 seconds.
To string The phone number of the called party. Phone numbers are formatted with a `+` and country code.
Trim string Whether to trim any leading and trailing silence from the recording. Defaults to `trim-silence`.
Url string The URL from which Telnyx will retrieve the TeXML call instructions.
UrlMethod string HTTP request type used for `Url`. The default value is inherited from TeXML Application setting.
View JSON Schema on GitHub

JSON Schema

telnyx-initiate-call-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/telnyx/json-schema/telnyx-initiate-call-request-schema.json",
  "title": "Initiate Call Request",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-texml-rest-commands-api-openapi.yml#/components/schemas/InitiateCallRequest",
  "oneOf": [
    {
      "properties": {
        "Texml": {
          "not": {}
        }
      },
      "required": [
        "Url"
      ],
      "title": "With URL"
    },
    {
      "properties": {
        "Url": {
          "not": {}
        }
      },
      "required": [
        "Texml"
      ],
      "title": "With TeXML"
    },
    {
      "properties": {
        "Texml": {
          "not": {}
        },
        "Url": {
          "not": {}
        }
      },
      "title": "Application Default"
    }
  ],
  "properties": {
    "ApplicationSid": {
      "description": "The ID of the TeXML Application.",
      "type": "string"
    },
    "AsyncAmd": {
      "default": false,
      "description": "Select whether to perform answering machine detection in the background. By default execution is blocked until Answering Machine Detection is completed.",
      "type": "boolean"
    },
    "AsyncAmdStatusCallback": {
      "description": "URL destination for Telnyx to send AMD callback events to for the call.",
      "type": "string"
    },
    "AsyncAmdStatusCallbackMethod": {
      "default": "POST",
      "description": "HTTP request type used for `AsyncAmdStatusCallback`. The default value is inherited from TeXML Application setting.",
      "enum": [
        "GET",
        "POST"
      ],
      "type": "string"
    },
    "CallerId": {
      "description": "To be used as the caller id name (SIP From Display Name) presented to the destination (`To` number). The string should have a maximum of 128 characters, containing only letters, numbers, spaces, and `-_~!.+` special characters. If ommited, the display name will be the same as the number in the `From` field.",
      "type": "string"
    },
    "CancelPlaybackOnDetectMessageEnd": {
      "default": true,
      "description": "Whether to cancel ongoing playback on `greeting ended` detection. Defaults to `true`.",
      "type": "boolean"
    },
    "CancelPlaybackOnMachineDetection": {
      "default": true,
      "description": "Whether to cancel ongoing playback on `machine` detection. Defaults to `true`.",
      "type": "boolean"
    },
    "CustomHeaders": {
      "description": "Custom HTTP headers to be sent with the call. Each header should be an object with 'name' and 'value' properties.",
      "items": {
        "properties": {
          "name": {
            "description": "The name of the custom header",
            "type": "string"
          },
          "value": {
            "description": "The value of the custom header",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "DeepfakeDetection": {
      "description": "Enables Deepfake Detection on the dialed call. When enabled, audio from the remote party is analyzed to determine whether the voice is AI-generated. Results are delivered asynchronously via a callback.",
      "enum": [
        "Enable"
      ],
      "type": "string"
    },
    "DeepfakeDetectionCallbackMethod": {
      "default": "POST",
      "description": "HTTP request type used for `DeepfakeDetectionCallbackUrl`.",
      "enum": [
        "GET",
        "POST"
      ],
      "type": "string"
    },
    "DeepfakeDetectionCallbackUrl": {
      "description": "URL destination for Telnyx to send deepfake detection callback events to for the call.",
      "type": "string"
    },
    "DetectionMode": {
      "default": "Regular",
      "description": "Allows you to chose between Premium and Standard detections.",
      "enum": [
        "Premium",
        "Regular"
      ],
      "type": "string"
    },
    "FallbackUrl": {
      "description": "A failover URL for which Telnyx will retrieve the TeXML call instructions if the `Url` is not responding.",
      "type": "string"
    },
    "From": {
      "description": "The phone number of the party that initiated the call. Phone numbers are formatted with a `+` and country code.",
      "type": "string"
    },
    "MachineDetection": {
      "default": "Disable",
      "description": "Enables Answering Machine Detection.",
      "enum": [
        "Enable",
        "Disable",
        "DetectMessageEnd"
      ],
      "type": "string"
    },
    "MachineDetectionSilenceTimeout": {
      "default": 3500,
      "description": "If initial silence duration is greater than this value, consider it a machine. Ignored when `premium` detection is used.",
      "type": "integer"
    },
    "MachineDetectionSpeechEndThreshold": {
      "default": 800,
      "description": "Silence duration threshold after a greeting message or voice for it be considered human. Ignored when `premium` detection is used.",
      "type": "integer"
    },
    "MachineDetectionSpeechThreshold": {
      "default": 3500,
      "description": "Maximum threshold of a human greeting. If greeting longer than this value, considered machine. Ignored when `premium` detection is used.",
      "type": "integer"
    },
    "MachineDetectionTimeout": {
      "default": 30000,
      "description": "Maximum timeout threshold in milliseconds for overall detection.",
      "maximum": 60000,
      "minimum": 500,
      "type": "integer"
    },
    "MediaEncryption": {
      "default": "disabled",
      "description": "Defines whether media should be encrypted on the call. When set to `SRTP`, the call will use Secure Real-time Transport Protocol for media encryption. When set to `DTLS`, the call will use DTLS for media encryption. Only supported for SIP destinations.",
      "enum": [
        "disabled",
        "SRTP",
        "DTLS"
      ],
      "type": "string"
    },
    "PreferredCodecs": {
      "description": "The list of comma-separated codecs to be offered on a call.",
      "type": "string"
    },
    "Record": {
      "description": "Whether to record the entire participant's call leg. Defaults to `false`.",
      "type": "boolean"
    },
    "RecordingChannels": {
      "description": "The number of channels in the final recording. Defaults to `mono`.",
      "enum": [
        "mono",
        "dual"
      ],
      "type": "string"
    },
    "RecordingStatusCallback": {
      "description": "The URL the recording callbacks will be sent to.",
      "type": "string"
    },
    "RecordingStatusCallbackEvent": {
      "description": "The changes to the recording's state that should generate a call to `RecoridngStatusCallback`. Can be: `in-progress`, `completed` and `absent`. Separate multiple values with a space. Defaults to `completed`.",
      "type": "string"
    },
    "RecordingStatusCallbackMethod": {
      "description": "HTTP request type used for `RecordingStatusCallback`. Defaults to `POST`.",
      "enum": [
        "GET",
        "POST"
      ],
      "type": "string"
    },
    "RecordingTimeout": {
      "default": 0,
      "description": "The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected. The timer only starts when the speech is detected. Please note that the transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite)",
      "type": "integer"
    },
    "RecordingTrack": {
      "description": "The audio track to record for the call. The default is `both`.",
      "enum": [
        "inbound",
        "outbound",
        "both"
      ],
      "type": "string"
    },
    "SendRecordingUrl": {
      "$ref": "#/$defs/SendRecordingUrl"
    },
    "SipAuthPassword": {
      "description": "The password to use for SIP authentication.",
      "type": "string"
    },
    "SipAuthUsername": {
      "description": "The username to use for SIP authentication.",
      "type": "string"
    },
    "SipRegion": {
      "default": "US",
      "description": "Defines the SIP region to be used for the call.",
      "enum": [
        "US",
        "Europe",
        "Canada",
        "Australia",
        "Middle East"
      ],
      "type": "string"
    },
    "StatusCallback": {
      "description": "URL destination for Telnyx to send status callback events to for the call.",
      "type": "string"
    },
    "StatusCallbackEvent": {
      "default": "completed",
      "description": "The call events for which Telnyx should send a webhook. Multiple events can be defined when separated by a space.",
      "enum": [
        "initiated",
        "ringing",
        "answered",
        "completed"
      ],
      "type": "string"
    },
    "StatusCallbackMethod": {
      "default": "POST",
      "description": "HTTP request type used for `StatusCallback`.",
      "enum": [
        "GET",
        "POST"
      ],
      "type": "string"
    },
    "SuperviseCallSid": {
      "description": "The call control ID of the existing call to supervise. When provided, the created leg will be added to the specified call in supervising mode. Status callbacks and action callbacks will NOT be sent for the supervising leg.",
      "type": "string"
    },
    "SupervisingRole": {
      "default": "barge",
      "description": "The supervising role for the new leg. Determines the audio behavior: barge (hear both sides), whisper (only hear supervisor), monitor (hear both sides but supervisor muted). Default: barge",
      "enum": [
        "barge",
        "whisper",
        "monitor"
      ],
      "type": "string"
    },
    "Texml": {
      "description": "TeXML to be used as instructions for the call. If provided, the call will execute these instructions instead of fetching from the Url.",
      "type": "string"
    },
    "TimeLimit": {
      "default": 14400,
      "description": "The maximum duration of the call in seconds. The minimum value is 30 and the maximum value is 14400 (4 hours). Default is 14400 seconds.",
      "maximum": 14400,
      "minimum": 30,
      "type": "integer"
    },
    "Timeout": {
      "default": 30,
      "description": "The number of seconds to wait for the called party to answer the call before the call is canceled. The minimum value is 5 and the maximum value is 120. Default is 30 seconds.",
      "maximum": 120,
      "minimum": 5,
      "type": "integer",
      "x-stainless-param": "timeout_seconds"
    },
    "To": {
      "description": "The phone number of the called party. Phone numbers are formatted with a `+` and country code.",
      "type": "string"
    },
    "Trim": {
      "description": "Whether to trim any leading and trailing silence from the recording. Defaults to `trim-silence`.",
      "enum": [
        "trim-silence",
        "do-not-trim"
      ],
      "type": "string"
    },
    "Url": {
      "description": "The URL from which Telnyx will retrieve the TeXML call instructions.",
      "type": "string"
    },
    "UrlMethod": {
      "default": "POST",
      "description": "HTTP request type used for `Url`. The default value is inherited from TeXML Application setting.",
      "enum": [
        "GET",
        "POST"
      ],
      "type": "string"
    }
  },
  "required": [
    "To",
    "From",
    "ApplicationSid"
  ],
  "type": "object",
  "$defs": {
    "SendRecordingUrl": {
      "default": true,
      "description": "Whether to send RecordingUrl in webhooks.",
      "type": "boolean"
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/telnyx-initiate-call-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.