Telnyx Call Control Applications API

Call Control applications operations

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/telnyx-call-control-applications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

telnyx-call-control-applications-api-openapi.yml Raw ↑
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: '<code>Latency</code> 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: '<code>Latency</code> 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: '<code>Latency</code> 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 <code> -</code> prefix.<br/><br/>\nThat is: <ul>\n  <li>\n    <code>connection_name</code>: sorts the result by the\n    <code>connection_name</code> field in ascending order.\n  </li>\n\n  <li>\n    <code>-connection_name</code>: sorts the result by the\n    <code>connection_name</code> field in descending order.\n  </li>\n</ul> <br/> If not given, results are sorted by <code>created_at</code> 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 <code>application_name</code> 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