Telnyx Credential Connections API
Credential connection operations
Credential connection operations
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 Credential Connections 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: Credential connection operations
name: Credential Connections
paths:
/credential_connections:
get:
description: Returns a list of your credential connections.
operationId: ListCredentialConnections
parameters:
- $ref: '#/components/parameters/connections_FilterConsolidated'
- $ref: '#/components/parameters/connections_PageConsolidated'
- $ref: '#/components/parameters/connections_SortConnection'
responses:
'200':
$ref: '#/components/responses/ListCredentialConnectionsResponse'
'400':
$ref: '#/components/responses/connections_BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthenticatedResponse'
'403':
$ref: '#/components/responses/connections_UnauthorizedResponse'
summary: List credential connections
tags:
- Credential Connections
x-endpoint-cost: medium
x-group-parameters: 'true'
x-latency-category: responsive
post:
description: Creates a credential connection.
operationId: CreateCredentialConnection
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCredentialConnectionRequest'
description: Parameters that can be defined during credential connection creation
required: true
responses:
'201':
$ref: '#/components/responses/CredentialConnectionResponse'
'401':
$ref: '#/components/responses/UnauthenticatedResponse'
'403':
$ref: '#/components/responses/connections_UnauthorizedResponse'
'422':
$ref: '#/components/responses/connections_UnprocessableEntityResponse'
summary: Create a credential connection
tags:
- Credential Connections
x-endpoint-cost: medium
x-latency-category: responsive
/credential_connections/{id}:
delete:
description: Deletes an existing credential connection.
operationId: DeleteCredentialConnection
parameters:
- description: Identifies the resource.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/CredentialConnectionResponse'
'400':
$ref: '#/components/responses/connections_BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthenticatedResponse'
'403':
$ref: '#/components/responses/connections_UnauthorizedResponse'
'404':
$ref: '#/components/responses/connections_NotFoundResponse'
summary: Delete a credential connection
tags:
- Credential Connections
x-latency-category: responsive
get:
description: Retrieves the details of an existing credential connection.
operationId: RetrieveCredentialConnection
parameters:
- description: Identifies the resource.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/CredentialConnectionResponse'
'400':
$ref: '#/components/responses/connections_BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthenticatedResponse'
'403':
$ref: '#/components/responses/connections_UnauthorizedResponse'
'404':
$ref: '#/components/responses/connections_NotFoundResponse'
summary: Retrieve a credential connection
tags:
- Credential Connections
x-latency-category: responsive
patch:
description: Updates settings of an existing credential connection.
operationId: UpdateCredentialConnection
parameters:
- description: Identifies the resource.
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateCredentialConnectionRequest'
description: Parameters that can be updated in a credential connection
required: true
responses:
'200':
$ref: '#/components/responses/CredentialConnectionResponse'
'401':
$ref: '#/components/responses/UnauthenticatedResponse'
'403':
$ref: '#/components/responses/connections_UnauthorizedResponse'
'404':
$ref: '#/components/responses/connections_NotFoundResponse'
'422':
$ref: '#/components/responses/connections_UnprocessableEntityResponse'
summary: Update a credential connection
tags:
- Credential Connections
x-latency-category: responsive
/credential_connections/{id}/actions/check_registration_status:
post:
description: Checks the registration_status for a credential connection, (`registration_status`) as well as the timestamp for the last SIP registration event (`registration_status_updated_at`)
operationId: CheckRegistrationStatus
parameters:
- description: Identifies the resource.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/RegistrationStatusResponse'
'400':
$ref: '#/components/responses/connections_BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthenticatedResponse'
'403':
$ref: '#/components/responses/connections_UnauthorizedResponse'
'404':
$ref: '#/components/responses/connections_NotFoundResponse'
summary: Check a Credential Connection Registration Status
tags:
- Credential Connections
x-latency-category: responsive
components:
responses:
CredentialConnectionResponse:
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/CredentialConnection'
title: Credential Connection Response
type: object
description: Successful response with details about a credential connection.
connections_NotFoundResponse:
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.
RegistrationStatusResponse:
content:
application/json:
schema:
properties:
data:
example:
ip_address: 190.106.106.121
last_registration: '2021-09-28T15:11:02'
port: 37223
record_type: registration_status
sip_username: rogerp
status: Expired
transport: UDP
user_agent: Z 5.4.12 v2.10.13.2-mod
properties:
ip_address:
description: The ip used during the SIP connection
example: 190.106.106.121
type: string
last_registration:
description: ISO 8601 formatted date indicating when the resource was last updated.
example: '2018-02-02T22:25:27.521Z'
type: string
port:
description: The port of the SIP connection
example: 37223
type: integer
record_type:
description: Identifies the type of the resource.
example: registration_status
type: string
sip_username:
description: The user name of the SIP connection
example: sip_username
type: string
status:
description: The current registration status of your SIP connection
enum:
- Not Applicable
- Not Registered
- Failed
- Expired
- Registered
- Unregistered
type: string
transport:
description: The protocol of the SIP connection
example: TCP
type: string
user_agent:
description: The user agent of the SIP connection
example: Z 5.4.12 v2.10.13.2-mod
type: string
title: Registration Status
type: object
title: Registration Status Response
type: object
description: Successful response with details about a credential connection registration status.
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
connections_BadRequestResponse:
content:
application/json:
examples:
missingParameter:
value:
errors:
- code: '10015'
detail: The request failed because it was not well-formed.
meta:
url: https://developers.telnyx.com/docs/overview/errors/10015
source:
pointer: /
title: Bad Request
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request, the request was unacceptable, often due to missing a required parameter.
ListCredentialConnectionsResponse:
content:
application/json:
schema:
properties:
data:
items:
$ref: '#/components/schemas/CredentialConnection'
type: array
meta:
$ref: '#/components/schemas/connections_PaginationMeta'
title: List Credential Connections Response
type: object
description: Successful response with a list of credential connections.
connections_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.
connections_UnprocessableEntityResponse:
content:
application/json:
examples:
unprocessableEntity:
value:
errors:
- code: '10015'
detail: 'Invalid dnis_format: test, was provided. Acceptable formats are +e164, e164, national, sip_username'
meta:
url: https://developers.telnyx.com/docs/overview/errors/10015
source:
pointer: /inbound/dnis_number_format
title: Bad Request
schema:
$ref: '#/components/schemas/ErrorResponse'
description: The request was well-formed but was unable to be followed due to semantic errors.
schemas:
CredentialInbound:
example:
ani_number_format: +E.164
channel_limit: 10
codecs:
- G722
default_routing_method: sequential
dnis_number_format: +e164
generate_ringback_tone: true
isup_headers_enabled: true
prack_enabled: true
shaken_stir_enabled: true
simultaneous_ringing: enabled
sip_compact_headers_enabled: true
timeout_1xx_secs: 10
timeout_2xx_secs: 20
properties:
ani_number_format:
default: E.164-national
description: This setting allows you to set the format with which the caller's number (ANI) is sent for inbound phone calls.
enum:
- +E.164
- E.164
- +E.164-national
- E.164-national
type: string
channel_limit:
default: null
description: When set, this will limit the total number of inbound calls to phone numbers associated with this connection.
type: integer
codecs:
default:
- G722
- G711U
- G711A
- G729
- OPUS
- H.264
description: 'Defines the list of codecs that Telnyx will send for inbound calls to a specific number on your portal account, in priority order. This only works when the Connection the number is assigned to uses Media Handling mode: default. OPUS and H.264 codecs are available only when using TCP or TLS transport for SIP.'
items:
type: string
type: array
default_routing_method:
description: Default routing method to be used when a number is associated with the connection. Must be one of the routing method types or left blank, other values are not allowed.
enum:
- sequential
- round-robin
type: string
dnis_number_format:
default: e164
enum:
- +e164
- e164
- national
- sip_username
type: string
generate_ringback_tone:
default: false
description: Generate ringback tone through 183 session progress message with early media.
type: boolean
isup_headers_enabled:
default: false
description: When set, inbound phone calls will receive ISUP parameters via SIP headers. (Only when available and only when using TCP or TLS transport.)
type: boolean
prack_enabled:
default: false
description: Enable PRACK messages as defined in RFC3262.
type: boolean
shaken_stir_enabled:
default: false
description: When enabled the SIP Connection will receive the Identity header with Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP transport.
type: boolean
simultaneous_ringing:
default: disabled
description: When enabled, allows multiple devices to ring simultaneously on incoming calls.
enum:
- disabled
- enabled
type: string
sip_compact_headers_enabled:
default: true
description: Defaults to true.
type: boolean
timeout_1xx_secs:
default: 3
description: Time(sec) before aborting if connection is not made.
maximum: 120
minimum: 1
type: integer
timeout_2xx_secs:
default: 90
description: 'Time(sec) before aborting if call is unanswered (min: 1, max: 600).'
maximum: 600
minimum: 1
type: integer
title: Credential Inbound
type: object
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
connections_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
EncryptedMedia:
description: Enable use of SRTP for encryption. Cannot be set if the transport_portocol is TLS.
enum:
- SRTP
- null
example: SRTP
type:
- string
- 'null'
CredentialConnection:
example:
active: true
anchorsite_override: Latency
android_push_credential_id: 06b09dfd-7154-4980-8b75-cebf7a9d4f8e
call_cost_in_webhooks: false
connection_name: string
created_at: '2018-02-02T22:25:27.521Z'
default_on_hold_comfort_noise_enabled: true
dtmf_type: RFC 2833
encode_contact_header_enabled: true
encrypted_media: SRTP
id: 6a09cdc3-8948-47f0-aa62-74ac943d6c58
inbound:
ani_number_format: +E.164
channel_limit: 10
codecs:
- G722
dnis_number_format: +e164
generate_ringback_tone: true
isup_headers_enabled: true
prack_enabled: true
shaken_stir_enabled: true
simultaneous_ringing: enabled
sip_compact_headers_enabled: true
timeout_1xx_secs: 10
timeout_2xx_secs: 15
ios_push_credential_id: ec0c8e5d-439e-4620-a0c1-9d9c8d02a836
jitter_buffer:
enable_jitter_buffer: true
jitterbuffer_msec_max: 200
jitterbuffer_msec_min: 60
noise_suppression: both
noise_suppression_details:
attenuation_limit: 80
engine: deep_filter_net
onnet_t38_passthrough_enabled: true
outbound:
ani_override: string
ani_override_type: always
call_parking_enabled: true
channel_limit: 10
generate_ringback_tone: true
instant_ringback_enabled: true
localization: string
outbound_voice_profile_id: '1293384261075731499'
t38_reinvite_source: customer
password: my123secure456password789
record_type: credential_connection
rtcp_settings:
capture_enabled: true
port: rtp+1
report_frequency_secs: 10
sip_uri_calling_preference: disabled
tags:
- tag1
- tag2
updated_at: '2018-02-02T22:25:27.521Z'
user_name: myusername123
webhook_api_version: '1'
webhook_event_failover_url: https://failover.example.com
webhook_event_url: https://example.com
webhook_timeout_secs: 25
properties:
active:
description: Defaults to true
type: boolean
anchorsite_override:
$ref: '#/components/schemas/AnchorsiteOverride'
android_push_credential_id:
$ref: '#/components/schemas/ConnectionAndroidPushCredentialId'
call_cost_in_webhooks:
default: false
description: Specifies if call cost webhooks should be sent for this connection.
type: boolean
connection_name:
type: string
created_at:
description: ISO-8601 formatted date indicating when the resource was created.
example: '2018-02-02T22:25:27.521Z'
type: string
default_on_hold_comfort_noise_enabled:
default: true
description: When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout.
type: boolean
dtmf_type:
$ref: '#/components/schemas/DtmfType'
encode_contact_header_enabled:
default: false
description: Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios.
type: boolean
encrypted_media:
$ref: '#/components/schemas/EncryptedMedia'
id:
description: Identifies the type of resource.
example: '1293384261075731499'
type: string
x-format: int64
inbound:
$ref: '#/components/schemas/CredentialInbound'
ios_push_credential_id:
$ref: '#/components/schemas/ConnectionIosPushCredentialId'
jitter_buffer:
$ref: '#/components/schemas/ConnectionJitterBuffer'
noise_suppression:
$ref: '#/components/schemas/ConnectionNoiseSuppression'
noise_suppression_details:
$ref: '#/components/schemas/ConnectionNoiseSuppressionDetails'
onnet_t38_passthrough_enabled:
default: false
description: Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings.
type: boolean
outbound:
$ref: '#/components/schemas/CredentialOutbound'
password:
description: The password to be used as part of the credentials. Must be 8 to 128 characters long.
example: my123secure456password789
type: string
record_type:
description: Identifies the type of the resource.
example: credential_connection
type: string
rtcp_settings:
$ref: '#/components/schemas/ConnectionRtcpSettings'
sip_uri_calling_preference:
description: This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).
enum:
- disabled
- unrestricted
- internal
example: disabled
type: string
tags:
description: Tags associated with the connection.
example:
- tag1
- tag2
items:
type: string
type: array
updated_at:
description: ISO-8601 formatted date indicating when the resource was updated.
example: '2018-02-02T22:25:27.521Z'
type: string
user_name:
description: The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters). At least one of the first 5 characters must be a letter.
example: myusername123
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: uri
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: uri
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'
title: Credential Connection
type: object
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
ConnectionNoiseSuppression:
description: Controls when noise suppression is applied to calls. When set to 'inbound', noise suppression is applied to incoming audio. When set to 'outbound', it's applied to outgoing audio. When set to 'both', it's applied in both directions. When set to 'disabled', noise suppression is turned off.
enum:
- inbound
- outbound
- both
- disabled
example: both
type: string
ConnectionAndroidPushCredentialId:
default: null
description: The uuid of the push credential for Android
example: 06b09dfd-7154-4980-8b75-cebf7a9d4f8e
title: Android Push Credential Id
type:
- string
- 'null'
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
ConnectionIosPushCredentialId:
default: null
description: The uuid of the push credential for Ios
example: ec0c8e5d-439e-4620-a0c1-9d9c8d02a836
title: Ios Push Credential Id
type:
- string
- 'null'
CreateCredentialConnectionRequest:
example:
active: true
anchorsite_override: Latency
android_push_credential_id: 06b09dfd-7154-4980-8b75-cebf7a9d4f8e
call_cost_in_webhooks: false
connection_name: my name
default_on_hold_comfort_noise_enabled: false
dtmf_type: RFC 2833
encode_contact_header_enabled: true
encrypted_media: SRTP
inbound:
ani_number_format: +E.164
channel_limit: 10
codecs:
- G722
dnis_number_format: +e164
generate_ringback_tone: true
isup_headers_enabled: true
prack_enabled: true
shaken_stir_enabled: true
simultaneous_ringing: disabled
sip_compact_headers_enabled: true
timeout_1xx_secs: 10
timeout_2xx_secs: 20
ios_push_credential_id: ec0c8e5d-439e-4620-a0c1-9d9c8d02a836
jitter_buffer:
enable_jitter_buffer: true
jitterbuffer_msec_max: 200
jitterbuffer_msec_min: 60
noise_suppression: both
noise_suppression_details:
attenuation_limit: 80
engine: deep_filter_net
onnet_t38_passthrough_enabled: true
outbound:
ani_override: always
call_parking_enabled: true
channel_limit: 10
generate_ringback_tone: true
instant_ringback_enabled: true
localization: US
outbound_voice_profile_id: '1293384261075731499'
t38_reinvite_source: customer
password: my123secure456password789
rtcp_settings:
capture_enabled: true
port: rtcp-mux
report_frequency_secs: 10
sip_uri_calling_preference: disabled
user_name: myusername123
webhook_api_version: '1'
webhook_event_failover_url: https://failover.example.com
webhook_event_url: https://example.com
webhook_timeout_secs: 25
properties:
active:
description: Defaults to true
type: boolean
anchorsite_override:
$ref: '#/components/schemas/AnchorsiteOverride'
android_push_credential_id:
$ref: '#/components/schemas/ConnectionAndroidPushCredentialId'
call_cost_in_webhooks:
default: false
description: Specifies if call cost webhooks should be sent for this connection.
type: boolean
connection_name:
$ref: '#/components/schemas/ConnectionName'
default_on_hold_comfort_noise_enabled:
default: false
description: When enabled, Telnyx will generate comfort noise when you place the call on hold. If disabled, you will need to generate comfort noise or on hold music to avoid RTP timeout.
type: boolean
dtmf_type:
$ref: '#/components/schemas/DtmfType'
encode_contact_header_enabled:
default: false
description: Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG scenarios.
type: boolean
encrypted_media:
$ref: '#/components/schemas/EncryptedMedia'
inbound:
$ref: '#/components/schemas/CredentialInbound'
ios_push_credential_id:
$ref: '#/components/schemas/ConnectionIosPushCredentialId'
jitter_buffer:
$ref: '#/components/schemas/ConnectionJitterBuffer'
noise_suppression:
$ref: '#/components/schemas/ConnectionNoiseSuppression'
noise_suppression_details:
$ref: '#/components/schemas/ConnectionNoiseSuppressionDetails'
onnet_t38_passthrough_enabled:
default: false
description: Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly if both are on the Telnyx network. If this is disabled, Telnyx will be able to use T38 on just one leg of the call depending on each leg's settings.
type: boolean
outbound:
$ref: '#/components/schemas/CredentialOutbound'
password:
description: The password to be used as part of the credentials. Must be 8 to 128 characters long.
example: my123secure456password789
type: string
rtcp_settings:
$ref: '#/components/schemas/ConnectionRtcpSettings'
sip_uri_calling_preference:
description: This feature enables inbound SIP URI calls to your Credential Auth Connection. If enabled for all (unrestricted) then anyone who calls the SIP URI <your-username>@telnyx.com will be connected to your Connection. You can also choose to allow only calls that are originated on any Connections under your account (internal).
enum:
- disabled
- unrestricted
- internal
type: string
tags:
description: Tags associated with the connection.
example:
- tag1
- tag2
items:
type: string
type: array
user_name:
description: The user name to be used as part of the credentials. Must be 4-32 characters long and alphanumeric values only (no spaces or special characters).
example: myusername123
type: string
webhook_api_version:
default: '1'
description: Determines which webhook format will be used, Telnyx API v1, v2 or texml. Note - texml can only be set when the outbound object parameter call_parki
# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/telnyx/refs/heads/main/openapi/telnyx-credential-connections-api-openapi.yml