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 Call Control 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: Call Control applications operations name: Call Control Applications paths: /call_control_applications: get: description: Return a list of call control applications. operationId: ListCallControlApplications parameters: - $ref: '#/components/parameters/call-control_FilterConsolidated' - $ref: '#/components/parameters/call-control_PageConsolidated' - $ref: '#/components/parameters/SortConnection' responses: '200': $ref: '#/components/responses/ListCallControlApplicationsResponse' '400': description: Bad request '401': $ref: '#/components/responses/UnauthorizedResponse' '404': description: Resource not found summary: List call control applications tags: - Call Control Applications x-endpoint-cost: medium x-group-parameters: 'true' x-latency-category: interactive post: description: Create a call control application. operationId: CreateCallControlApplication requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCallControlApplicationRequest' description: Create call control application request. required: true responses: '201': $ref: '#/components/responses/CallControlApplicationResponse' '422': description: Bad Request summary: Create a call control application tags: - Call Control Applications x-endpoint-cost: medium x-latency-category: interactive /call_control_applications/{id}: delete: description: Deletes a call control application. operationId: DeleteCallControlApplication parameters: - description: Identifies the resource. in: path name: id required: true schema: example: '1293384261075731499' type: string x-format: int64 responses: '200': $ref: '#/components/responses/CallControlApplicationResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '404': description: Resource not found '422': description: Bad request summary: Delete a call control application tags: - Call Control Applications x-latency-category: interactive get: description: Retrieves the details of an existing call control application. operationId: RetrieveCallControlApplication parameters: - description: Identifies the resource. in: path name: id required: true schema: example: '1293384261075731499' type: string x-format: int64 responses: '200': $ref: '#/components/responses/CallControlApplicationResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '404': description: Resource not found '422': description: Bad request summary: Retrieve a call control application tags: - Call Control Applications x-latency-category: interactive patch: description: Updates settings of an existing call control application. operationId: UpdateCallControlApplication parameters: - description: Identifies the resource. in: path name: id required: true schema: example: '1293384261075731499' type: string x-format: int64 requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateCallControlApplicationRequest' description: Update call control application request. required: true responses: '200': $ref: '#/components/responses/CallControlApplicationResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '404': description: Resource not found '422': description: Bad request summary: Update a call control application tags: - Call Control Applications x-latency-category: interactive components: schemas: UpdateCallControlApplicationRequest: example: active: false anchorsite_override: Latency application_name: call-router call_cost_in_webhooks: true dtmf_type: Inband first_command_timeout: true first_command_timeout_secs: 10 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' redact_dtmf_debug_logging: true webhook_api_version: '1' webhook_event_failover_url: https://failover.example.com webhook_event_url: https://example.com webhook_timeout_secs: 25 properties: active: default: true description: Specifies whether the connection can be used. type: boolean anchorsite_override: 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 - London, UK - Chennai, IN - Amsterdam, Netherlands - Toronto, Canada - Sydney, Australia example: Amsterdam, Netherlands type: string application_name: description: A user-assigned name to help manage the application. example: call-router type: string call_cost_in_webhooks: default: false description: Specifies if call cost webhooks should be sent for this Call Control Application. type: boolean dtmf_type: 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 type: string first_command_timeout: default: false description: Specifies whether calls to phone numbers associated with this connection should hangup after timing out. example: true type: boolean first_command_timeout_secs: default: 30 description: Specifies how many seconds to wait before timing out a dial command. example: 10 type: integer inbound: $ref: '#/components/schemas/CallControlApplicationInbound' outbound: $ref: '#/components/schemas/CallControlApplicationOutbound' redact_dtmf_debug_logging: default: false description: When enabled, DTMF digits entered by users will be redacted in debug logs to protect PII data entered through IVR interactions. example: true type: boolean tags: description: Tags assigned to the Call Control Application. example: - tag1 - tag2 items: type: string type: array webhook_api_version: default: '1' description: Determines which webhook format will be used, Telnyx API v1 or v2. enum: - '1' - '2' example: '1' type: string webhook_event_failover_url: default: '' description: The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'. example: https://failover.example.com format: url type: - string - 'null' webhook_event_url: description: The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'. example: https://example.com format: url type: string webhook_timeout_secs: default: null description: Specifies how many seconds to wait before timing out a webhook. example: 25 maximum: 30 minimum: 0 type: - integer - 'null' required: - application_name - webhook_event_url title: Update Call Control Application Request type: object CallControlApplicationOutbound: 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: description: Identifies the associated outbound voice profile. example: '1293384261075731499' type: string x-format: int64 title: Call Control Application Outbound type: object 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 type: object CallControlApplicationInbound: 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 title: Call Control Application Inbound type: object CreateCallControlApplicationRequest: example: active: false anchorsite_override: Latency application_name: call-router call_cost_in_webhooks: true dtmf_type: Inband first_command_timeout: true first_command_timeout_secs: 10 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' redact_dtmf_debug_logging: true webhook_api_version: '1' webhook_event_failover_url: https://failover.example.com webhook_event_url: https://example.com webhook_timeout_secs: 25 properties: active: default: true description: Specifies whether the connection can be used. type: boolean anchorsite_override: 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 - London, UK - Chennai, IN - Amsterdam, Netherlands - Toronto, Canada - Sydney, Australia example: Amsterdam, Netherlands type: string application_name: description: A user-assigned name to help manage the application. example: call-router type: string call_cost_in_webhooks: default: false description: Specifies if call cost webhooks should be sent for this Call Control Application. type: boolean dtmf_type: 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 type: string first_command_timeout: default: false description: Specifies whether calls to phone numbers associated with this connection should hangup after timing out. example: true type: boolean first_command_timeout_secs: default: 30 description: Specifies how many seconds to wait before timing out a dial command. example: 10 type: integer inbound: $ref: '#/components/schemas/CallControlApplicationInbound' outbound: $ref: '#/components/schemas/CallControlApplicationOutbound' redact_dtmf_debug_logging: default: false description: When enabled, DTMF digits entered by users will be redacted in debug logs to protect PII data entered through IVR interactions. example: true type: boolean webhook_api_version: default: '1' description: Determines which webhook format will be used, Telnyx API v1 or v2. enum: - '1' - '2' example: '1' type: string webhook_event_failover_url: default: '' description: The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as 'https'. example: https://failover.example.com format: url type: - string - 'null' webhook_event_url: description: The URL where webhooks related to this connection will be sent. Must include a scheme, such as 'https'. example: https://example.com format: url type: string webhook_timeout_secs: default: null description: Specifies how many seconds to wait before timing out a webhook. example: 25 maximum: 30 minimum: 0 type: - integer - 'null' required: - application_name - webhook_event_url title: Create Call Control Application Request type: object CallControlApplication: example: active: false anchorsite_override: Latency application_name: call-router call_cost_in_webhooks: false created_at: '2018-02-02T22:25:27.521Z' dtmf_type: Inband first_command_timeout: true first_command_timeout_secs: 10 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: call_control_application redact_dtmf_debug_logging: true updated_at: '2018-02-02T22:25:27.521Z' webhook_api_version: '1' webhook_event_failover_url: https://failover.example.com webhook_event_url: https://example.com webhook_timeout_secs: 25 properties: active: default: true description: Specifies whether the connection can be used. type: boolean anchorsite_override: 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 - London, UK - Chennai, IN - Amsterdam, Netherlands - Toronto, Canada - Sydney, Australia example: Amsterdam, Netherlands type: string application_name: description: A user-assigned name to help manage the application. example: call-router type: string call_cost_in_webhooks: default: false description: Specifies if call cost webhooks should be sent for this Call Control Application. type: boolean created_at: description: ISO 8601 formatted date of when the resource was created example: '2018-02-02T22:25:27.521Z' type: string dtmf_type: 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 type: string first_command_timeout: default: false description: Specifies whether calls to phone numbers associated with this connection should hangup after timing out. example: true type: boolean first_command_timeout_secs: default: 30 description: Specifies how many seconds to wait before timing out a dial command. example: 10 type: integer id: example: '1293384261075731499' type: string x-format: int64 inbound: $ref: '#/components/schemas/CallControlApplicationInbound' outbound: $ref: '#/components/schemas/CallControlApplicationOutbound' record_type: default: call_control_application enum: - call_control_application type: string redact_dtmf_debug_logging: default: false description: When enabled, DTMF digits entered by users will be redacted in debug logs to protect PII data entered through IVR interactions. example: true type: boolean tags: description: Tags assigned to the Call Control Application. items: type: string type: array updated_at: description: ISO 8601 formatted date of when the resource was last updated example: '2018-02-02T22:25:27.521Z' type: string webhook_api_version: default: '1' description: Determines which webhook format will be used, Telnyx API v1 or v2. enum: - '1' - '2' example: '1' type: string webhook_event_failover_url: default: '' description: The failover URL where webhooks related to this connection will be sent if sending to the primary URL fails. Must include a scheme, such as `https`. example: https://failover.example.com format: url type: - string - 'null' webhook_event_url: description: The URL where webhooks related to this connection will be sent. Must include a scheme, such as `https`. example: https://example.com format: url type: string webhook_timeout_secs: default: null example: 25 maximum: 30 minimum: 0 type: - integer - 'null' title: Call Control Application type: object call-control_Error: properties: code: format: integer type: string detail: type: string meta: type: object source: properties: parameter: description: Indicates which query parameter caused the error. type: string pointer: description: JSON pointer (RFC6901) to the offending entity. format: json-pointer type: string type: object title: type: string required: - code - title call-control_Errors: properties: errors: items: $ref: '#/components/schemas/call-control_Error' type: array parameters: SortConnection: 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 required: false schema: default: created_at enum: - created_at - connection_name - active example: connection_name type: string call-control_FilterConsolidated: description: 'Consolidated filter parameter (deepObject style). Originally: filter[application_name][contains], filter[outbound.outbound_voice_profile_id], filter[leg_id], filter[application_session_id], filter[connection_id], filter[product], filter[failed], filter[from], filter[to], filter[name], filter[type], filter[occurred_at][eq/gt/gte/lt/lte], filter[status]' explode: true in: query name: filter schema: properties: application_name: additionalProperties: false description: Application name filters properties: contains: default: 'null' description: If present, applications with application_name containing the given value will be returned. Matching is not case-sensitive. Requires at least three characters. type: string type: object application_session_id: description: The unique identifier of the call session. A session may include multiple call leg events. format: uuid type: string connection_id: description: The unique identifier of the conection. type: string failed: description: Delivery failed or not. example: false type: boolean from: description: Filter by From number. example: '+12025550142' type: string leg_id: description: The unique identifier of an individual call leg. format: uuid type: string name: description: If present, conferences will be filtered to those with a matching `name` attribute. Matching is case-sensitive type: string occurred_at: additionalProperties: false description: Event occurred_at filters properties: eq: description: 'Event occurred_at: equal' example: '2019-03-29T11:10:00Z' type: string gt: description: 'Event occurred_at: greater than' example: '2019-03-29T11:10:00Z' type: string gte: description: 'Event occurred_at: greater than or equal' example: '2019-03-29T11:10:00Z' type: string lt: description: 'Event occurred_at: lower than' example: '2019-03-29T11:10:00Z' type: string lte: description: 'Event occurred_at: lower than or equal' example: '2019-03-29T11:10:00Z' type: string type: object outbound.outbound_voice_profile_id: description: Identifies the associated outbound voice profile. example: '1293384261075731499' type: string x-format: int64 product: description: Filter by product. enum: - call_control - fax - texml example: texml type: string status: description: If present, conferences will be filtered by status. enum: - init - in_progress - completed type: string to: description: Filter by To number. example: '+12025550142' type: string type: description: Event type enum: - command - webhook example: webhook type: string type: object style: deepObject call-control_PageConsolidated: description: 'Consolidated page parameter (deepObject style). Originally: page[after], page[before], page[limit], page[size], page[number]' explode: true in: query name: page schema: properties: after: default: 'null' description: Opaque identifier of next page type: string before: default: 'null' description: Opaque identifier of previous page type: string limit: default: 20 description: Limit of records per single page maximum: 250 minimum: 1 type: integer number: default: 1 description: The page number to load minimum: 1 type: integer size: default: 20 description: The size of the page maximum: 250 minimum: 1 type: integer type: object style: deepObject responses: ListCallControlApplicationsResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/CallControlApplication' type: array meta: $ref: '#/components/schemas/PaginationMeta' title: List Call Control Applications Response type: object description: Successful response with a list of call control applications. CallControlApplicationResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/CallControlApplication' title: Call Control Application Response type: object description: Successful response with details about a call control application. UnauthorizedResponse: content: application/json: example: errors: - code: '10009' detail: The required authentication headers were either invalid or not included in the request. meta: url: https://developers.telnyx.com/docs/overview/errors/10009 title: Authentication failed schema: $ref: '#/components/schemas/call-control_Errors' description: Unauthorized. Authentication failed - the required authentication headers were either invalid or not included in the request. 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