openapi: 3.1.0 info: contact: email: support@telnyx.com description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform. title: Telnyx Access Tokens TeXML Applications API version: 2.0.0 x-endpoint-cost: light servers: - description: Version 2.0.0 of the Telnyx API url: https://api.telnyx.com/v2 security: - bearerAuth: [] tags: - description: TeXML Applications operations name: TeXML Applications paths: /texml_applications: get: description: Returns a list of your TeXML Applications. operationId: FindTexmlApplications parameters: - $ref: '#/components/parameters/call-scripting_PageConsolidated' - $ref: '#/components/parameters/call-scripting_FilterConsolidated' - $ref: '#/components/parameters/SortApplication' responses: '200': $ref: '#/components/responses/GetAllTexmlApplicationsResponse' '400': $ref: '#/components/responses/call-scripting_BadRequestResponse' '401': $ref: '#/components/responses/UnauthenticatedResponse' '403': $ref: '#/components/responses/call-scripting_UnauthorizedResponse' summary: List all TeXML Applications tags: - TeXML Applications x-endpoint-cost: medium x-latency-category: interactive post: description: Creates a TeXML Application. operationId: CreateTexmlApplication parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTexmlApplicationRequest' description: Parameters that can be set when creating a TeXML Application required: true responses: '201': $ref: '#/components/responses/TexmlApplicationResponse' '401': $ref: '#/components/responses/UnauthenticatedResponse' '403': $ref: '#/components/responses/call-scripting_UnauthorizedResponse' '404': $ref: '#/components/responses/call-scripting_NotFoundResponse' '422': $ref: '#/components/responses/call-scripting_UnprocessableEntityResponse' summary: Creates a TeXML Application tags: - TeXML Applications x-endpoint-cost: medium x-latency-category: interactive /texml_applications/{id}: delete: description: Deletes a TeXML Application. operationId: DeleteTexmlApplication parameters: - $ref: '#/components/parameters/id' responses: '200': $ref: '#/components/responses/TexmlApplicationResponse' '400': $ref: '#/components/responses/call-scripting_BadRequestResponse' '401': $ref: '#/components/responses/UnauthenticatedResponse' '403': $ref: '#/components/responses/call-scripting_UnauthorizedResponse' '404': $ref: '#/components/responses/NotFoundResponseApp' summary: Deletes a TeXML Application tags: - TeXML Applications x-latency-category: interactive get: description: Retrieves the details of an existing TeXML Application. operationId: GetTexmlApplication parameters: - $ref: '#/components/parameters/id' responses: '200': $ref: '#/components/responses/TexmlApplicationResponse' '400': $ref: '#/components/responses/call-scripting_BadRequestResponse' '401': $ref: '#/components/responses/UnauthenticatedResponse' '403': $ref: '#/components/responses/call-scripting_UnauthorizedResponse' '404': $ref: '#/components/responses/NotFoundResponseApp' summary: Retrieve a TeXML Application tags: - TeXML Applications x-latency-category: interactive patch: description: Updates settings of an existing TeXML Application. operationId: UpdateTexmlApplication parameters: - $ref: '#/components/parameters/id' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateTexmlApplicationRequest' description: Parameters that can be updated in a TeXML Application required: true responses: '200': $ref: '#/components/responses/TexmlApplicationResponse' '400': $ref: '#/components/responses/call-scripting_BadRequestResponse' '401': $ref: '#/components/responses/UnauthenticatedResponse' '403': $ref: '#/components/responses/call-scripting_UnauthorizedResponse' '404': $ref: '#/components/responses/NotFoundResponseApp' '422': $ref: '#/components/responses/call-scripting_UnprocessableEntityResponse' summary: Update a TeXML Application tags: - TeXML Applications x-latency-category: interactive components: responses: TexmlApplicationResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/TexmlApplication' title: Texml Application Response type: object description: Successful response call-scripting_BadRequestResponse: content: application/json: examples: conference_ended: summary: Conference already ended value: errors: - code: '90019' detail: This conference is no longer active and can't receive commands. title: Conference has already ended participant_on_hold: summary: Participant on hold value: errors: - code: '90047' detail: This participant is on hold title: Participant on hold schema: $ref: '#/components/schemas/ErrorResponse' description: Bad request. The request could not be understood or was missing required parameters. UnauthenticatedResponse: content: application/json: examples: Authentication Failed: value: errors: - code: '10009' detail: Could not understand the provided credentials. meta: url: https://developers.telnyx.com/docs/overview/errors/10009 title: Authentication failed schema: $ref: '#/components/schemas/ErrorResponse' description: Unauthorized call-scripting_UnauthorizedResponse: content: application/json: examples: notAuthorized: value: errors: - code: '10010' detail: You are not authorized to access the requested resource. meta: url: https://developers.telnyx.com/docs/overview/errors/10010 source: pointer: / title: Not authorized schema: $ref: '#/components/schemas/ErrorResponse' description: The user doesn't have the required permissions to perform the requested action. NotFoundResponseApp: content: application/json: examples: notFound: value: errors: - code: '10005' detail: The requested resource or URL could not be found. meta: url: https://developers.telnyx.com/docs/overview/errors/10005 source: pointer: / title: Resource not found schema: $ref: '#/components/schemas/ErrorResponse' description: The requested resource doesn't exist. call-scripting_NotFoundResponse: content: application/json: schema: $ref: '#/components/schemas/call-scripting_ResourceNotFoundError' description: Resource not found call-scripting_UnprocessableEntityResponse: content: application/json: examples: invalid_enumerated_value: summary: Invalid enumerated value value: errors: - code: '10032' detail: Status must be one of completed source: pointer: /Status title: Invalid enumerated value invalid_parameter_type: summary: Invalid parameter type value: errors: - code: '10026' detail: The 'To' parameter must be of type 'string' source: pointer: /To title: Invalid parameter type invalid_send_digits: summary: Invalid SendDigits format value: errors: - code: '90014' detail: 'The ''SendDigits'' parameter must be a ''string'' made of a combination of either 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, w, W, * or #' source: pointer: /SendDigits title: Invalid value for SendDigits missing_required_parameter: summary: Missing required parameter value: errors: - code: '10004' detail: 'Can''t be blank: ApplicationId' source: pointer: /ApplicationId title: Missing required parameter schema: $ref: '#/components/schemas/ErrorResponse' description: Unprocessable entity. The request was well-formed but contains semantic errors. GetAllTexmlApplicationsResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/TexmlApplication' type: array meta: $ref: '#/components/schemas/call-scripting_PaginationMeta' title: Get All Texml Applications Response type: object description: Successful response schemas: call-scripting_PaginationMeta: properties: page_number: example: 2 type: integer page_size: example: 25 type: integer total_pages: example: 3 type: integer total_results: example: 55 type: integer title: Pagination Meta type: object call-scripting_ResourceNotFoundError: example: errors: - detail: Resource not found properties: errors: items: properties: detail: type: string type: object type: array title: Resource not found type: object ApplicationName: description: A user-assigned name to help manage the application. example: call-router title: Application Name type: string FirstCommandTimeoutSecs: default: 30 description: Specifies how many seconds to wait before timing out a dial command. example: 10 title: First Command Timeout Secs type: integer DtmfType: default: RFC 2833 description: Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF digits sent to Telnyx will be accepted in all formats. enum: - RFC 2833 - Inband - SIP INFO example: Inband title: DTMF Type type: string OutboundVoiceProfileId: description: Identifies the associated outbound voice profile. example: '1293384261075731499' title: Outbound Voice Profile ID type: string CreateTexmlApplicationRequest: example: active: false anchorsite_override: Amsterdam, Netherlands call_cost_in_webhooks: false dtmf_type: Inband first_command_timeout: true first_command_timeout_secs: 10 friendly_name: call-router inbound: channel_limit: 10 shaken_stir_enabled: true sip_subdomain: example sip_subdomain_receive_settings: only_my_connections outbound: channel_limit: 10 outbound_voice_profile_id: '1293384261075731499' status_callback: https://example.com status_callback_method: get tags: - tag1 - tag2 voice_fallback_url: https://fallback.example.com voice_method: get voice_url: https://example.com properties: active: $ref: '#/components/schemas/ConnectionActive' anchorsite_override: $ref: '#/components/schemas/AnchorsiteOverride' call_cost_in_webhooks: default: false description: Specifies if call cost webhooks should be sent for this TeXML Application. type: boolean dtmf_type: $ref: '#/components/schemas/DtmfType' first_command_timeout: $ref: '#/components/schemas/FirstCommandTimeout' first_command_timeout_secs: $ref: '#/components/schemas/FirstCommandTimeoutSecs' friendly_name: $ref: '#/components/schemas/ApplicationName' inbound: properties: channel_limit: default: null description: When set, this will limit the total number of inbound calls to phone numbers associated with this connection. example: 10 type: integer shaken_stir_enabled: default: false description: When enabled Telnyx will include Shaken/Stir data in the Webhook for new inbound calls. example: false type: boolean sip_subdomain: default: null description: 'Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain "example.sip.telnyx.com" can be called from any SIP endpoint by using the SIP URI "sip:@example.sip.telnyx.com" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.' example: example type: string sip_subdomain_receive_settings: default: from_anyone description: 'This option can be enabled to receive calls from: "Anyone" (any SIP endpoint in the public Internet) or "Only my connections" (any connection assigned to the same Telnyx user).' enum: - only_my_connections - from_anyone example: only_my_connections type: string type: object outbound: properties: channel_limit: default: null description: When set, this will limit the total number of outbound calls to phone numbers associated with this connection. example: 10 type: integer outbound_voice_profile_id: $ref: '#/components/schemas/OutboundVoiceProfileId' type: object status_callback: default: null description: URL for Telnyx to send requests to containing information about call progress events. example: https://example.com format: uri type: string status_callback_method: default: post description: HTTP request method Telnyx should use when requesting the status_callback URL. enum: - get - post example: get type: string tags: description: Tags associated with the Texml Application. example: - tag1 - tag2 items: type: string type: array voice_fallback_url: default: null description: URL to which Telnyx will deliver your XML Translator webhooks if we get an error response from your voice_url. example: https://fallback.example.com format: uri type: string voice_method: default: post description: HTTP request method Telnyx will use to interact with your XML Translator webhooks. Either 'get' or 'post'. enum: - get - post example: get type: string voice_url: description: URL to which Telnyx will deliver your XML Translator webhooks. example: https://example.com format: uri type: string required: - friendly_name - voice_url title: Create Texml Application Request type: object ConnectionActive: default: true description: Specifies whether the connection can be used. example: false title: Connection Active type: boolean ErrorResponse: properties: errors: items: properties: code: type: string detail: type: string meta: properties: url: format: uri type: string type: object source: properties: pointer: type: string type: object title: type: string type: object type: array type: object UpdateTexmlApplicationRequest: example: active: false anchorsite_override: Amsterdam, Netherlands call_cost_in_webhooks: false dtmf_type: Inband first_command_timeout: true first_command_timeout_secs: 10 friendly_name: call-router inbound: channel_limit: 10 shaken_stir_enabled: true sip_subdomain: example sip_subdomain_receive_settings: only_my_connections outbound: channel_limit: 10 outbound_voice_profile_id: '1293384261075731499' status_callback: https://example.com status_callback_method: get tags: - tag1 - tag2 voice_fallback_url: https://fallback.example.com voice_method: get voice_url: https://example.com properties: active: $ref: '#/components/schemas/ConnectionActive' anchorsite_override: $ref: '#/components/schemas/AnchorsiteOverride' call_cost_in_webhooks: default: false description: Specifies if call cost webhooks should be sent for this TeXML Application. type: boolean dtmf_type: $ref: '#/components/schemas/DtmfType' first_command_timeout: $ref: '#/components/schemas/FirstCommandTimeout' first_command_timeout_secs: $ref: '#/components/schemas/FirstCommandTimeoutSecs' friendly_name: $ref: '#/components/schemas/ApplicationName' inbound: properties: channel_limit: default: null description: When set, this will limit the total number of inbound calls to phone numbers associated with this connection. example: 10 type: integer shaken_stir_enabled: default: false description: When enabled Telnyx will include Shaken/Stir data in the Webhook for new inbound calls. example: false type: boolean sip_subdomain: default: null description: 'Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain "example.sip.telnyx.com" can be called from any SIP endpoint by using the SIP URI "sip:@example.sip.telnyx.com" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.' example: example type: string sip_subdomain_receive_settings: default: from_anyone description: 'This option can be enabled to receive calls from: "Anyone" (any SIP endpoint in the public Internet) or "Only my connections" (any connection assigned to the same Telnyx user).' enum: - only_my_connections - from_anyone example: only_my_connections type: string type: object outbound: properties: channel_limit: default: null description: When set, this will limit the total number of outbound calls to phone numbers associated with this connection. example: 10 type: integer outbound_voice_profile_id: $ref: '#/components/schemas/OutboundVoiceProfileId' type: object status_callback: default: null description: URL for Telnyx to send requests to containing information about call progress events. example: https://example.com format: uri type: string status_callback_method: default: post description: HTTP request method Telnyx should use when requesting the status_callback URL. enum: - get - post example: get type: string tags: description: Tags associated with the Texml Application. example: - tag1 - tag2 items: type: string type: array voice_fallback_url: default: null description: URL to which Telnyx will deliver your XML Translator webhooks if we get an error response from your voice_url. example: https://fallback.example.com format: uri type: string voice_method: default: post description: HTTP request method Telnyx will use to interact with your XML Translator webhooks. Either 'get' or 'post'. enum: - get - post example: get type: string voice_url: description: URL to which Telnyx will deliver your XML Translator webhooks. example: https://example.com format: uri type: string required: - friendly_name - voice_url title: Update Texml Application Request type: object TexmlApplication: example: active: false anchorsite_override: Amsterdam, Netherlands call_cost_in_webhooks: false created_at: '2020-02-02T22:25:27.521Z' dtmf_type: Inband first_command_timeout: true first_command_timeout_secs: 10 friendly_name: call-router id: '1293384261075731499' inbound: channel_limit: 10 shaken_stir_enabled: true sip_subdomain: example sip_subdomain_receive_settings: only_my_connections outbound: channel_limit: 10 outbound_voice_profile_id: '1293384261075731499' record_type: texml_application status_callback: https://example.com status_callback_method: get tags: - tag1 - tag2 updated_at: '2020-02-03T22:25:27.521Z' voice_fallback_url: https://fallback.example.com voice_method: get voice_url: https://example.com properties: active: $ref: '#/components/schemas/ConnectionActive' anchorsite_override: $ref: '#/components/schemas/AnchorsiteOverride' call_cost_in_webhooks: default: false description: Specifies if call cost webhooks should be sent for this TeXML Application. type: boolean created_at: $ref: '#/components/schemas/CreatedAt' dtmf_type: $ref: '#/components/schemas/DtmfType' first_command_timeout: $ref: '#/components/schemas/FirstCommandTimeout' first_command_timeout_secs: $ref: '#/components/schemas/FirstCommandTimeoutSecs' friendly_name: $ref: '#/components/schemas/ApplicationName' id: $ref: '#/components/schemas/IntId' inbound: properties: channel_limit: default: null description: When set, this will limit the total number of inbound calls to phone numbers associated with this connection. example: 10 type: integer shaken_stir_enabled: default: false description: When enabled Telnyx will include Shaken/Stir data in the Webhook for new inbound calls. example: false type: boolean sip_subdomain: default: null description: 'Specifies a subdomain that can be used to receive Inbound calls to a Connection, in the same way a phone number is used, from a SIP endpoint. Example: the subdomain "example.sip.telnyx.com" can be called from any SIP endpoint by using the SIP URI "sip:@example.sip.telnyx.com" where the user part can be any alphanumeric value. Please note TLS encrypted calls are not allowed for subdomain calls.' example: example type: string sip_subdomain_receive_settings: default: from_anyone description: 'This option can be enabled to receive calls from: "Anyone" (any SIP endpoint in the public Internet) or "Only my connections" (any connection assigned to the same Telnyx user).' enum: - only_my_connections - from_anyone example: only_my_connections type: string type: object outbound: properties: channel_limit: default: null description: When set, this will limit the total number of outbound calls to phone numbers associated with this connection. example: 10 type: integer outbound_voice_profile_id: $ref: '#/components/schemas/OutboundVoiceProfileId' type: object record_type: description: Identifies the type of the resource. example: texml_application type: string status_callback: default: null description: URL for Telnyx to send requests to containing information about call progress events. example: https://example.com format: uri type: string status_callback_method: default: post description: HTTP request method Telnyx should use when requesting the status_callback URL. enum: - get - post example: get type: string tags: description: Tags associated with the Texml Application. example: - tag1 - tag2 items: type: string type: array updated_at: $ref: '#/components/schemas/UpdatedAt' voice_fallback_url: default: null description: URL to which Telnyx will deliver your XML Translator webhooks if we get an error response from your voice_url. example: https://fallback.example.com format: uri type: string voice_method: default: post description: HTTP request method Telnyx will use to interact with your XML Translator webhooks. Either 'get' or 'post'. enum: - get - post example: get type: string voice_url: description: URL to which Telnyx will deliver your XML Translator webhooks. example: https://example.com format: uri type: string title: Texml Application type: object AnchorsiteOverride: default: Latency description: '`Latency` directs Telnyx to route media through the site with the lowest round-trip time to the user''s connection. Telnyx calculates this time using ICMP ping messages. This can be disabled by specifying a site to handle all media.' enum: - Latency - Chicago, IL - Ashburn, VA - San Jose, CA - Sydney, Australia - Amsterdam, Netherlands - London, UK - Toronto, Canada - Vancouver, Canada - Frankfurt, Germany example: Amsterdam, Netherlands title: Anchorsite Override type: string UpdatedAt: description: ISO 8601 formatted date indicating when the resource was updated. example: '2020-02-03T22:25:27.521Z' title: Updated At type: string CreatedAt: description: ISO 8601 formatted date indicating when the resource was created. example: '2020-02-02T22:25:27.521Z' title: Created At type: string IntId: description: Uniquely identifies the resource. example: '1293384261075731499' title: Int ID type: string FirstCommandTimeout: default: false description: Specifies whether calls to phone numbers associated with this connection should hangup after timing out. example: true title: First Command Timeout type: boolean parameters: SortApplication: description: "Specifies the sort order for results. By default sorting direction is ascending. To have the results sorted in descending order add the - prefix.

\nThat is:
If not given, results are sorted by created_at in descending order." in: query name: sort schema: default: created_at enum: - created_at - friendly_name - active example: friendly_name type: string call-scripting_PageConsolidated: description: 'Consolidated page parameter (deepObject style). Originally: page[size], page[number]' explode: true in: query name: page schema: properties: number: default: 1 description: The page number to load minimum: 1 type: integer size: default: 250 description: The size of the page maximum: 250 minimum: 1 type: integer type: object style: deepObject id: description: Identifies the resource. in: path name: id required: true schema: example: '1293384261075731499' type: string call-scripting_FilterConsolidated: description: 'Consolidated filter parameter (deepObject style). Originally: filter[outbound_voice_profile_id], filter[friendly_name]' explode: true in: query name: filter schema: properties: friendly_name: default: 'null' description: If present, applications with friendly_name containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters. type: string outbound_voice_profile_id: description: Identifies the associated outbound voice profile. example: '1293384261075731499' type: string type: object style: deepObject securitySchemes: bearerAuth: scheme: bearer type: http branded-calling_bearerAuth: description: API key passed as a Bearer token in the Authorization header scheme: bearer type: http oauthClientAuth: description: OAuth 2.0 authentication for Telnyx API and MCP integrations flows: authorizationCode: authorizationUrl: https://api.telnyx.com/v2/oauth/authorize refreshUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token clientCredentials: scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token type: oauth2 outbound-voice-profiles_bearerAuth: bearerFormat: JWT scheme: bearer type: http pronunciation-dicts_bearerAuth: description: Telnyx API v2 key. Obtain from https://portal.telnyx.com scheme: bearer type: http stored-payment-transactions_bearerAuth: bearerFormat: JWT scheme: bearer type: http