OpenAPI Specification
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 Push Credentials 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: Mobile push credential management
name: Push Credentials
paths:
/mobile_push_credentials:
get:
description: List mobile push credentials
operationId: ListPushCredentials
parameters:
- $ref: '#/components/parameters/push-notifications_PageConsolidated'
- description: 'Consolidated filter parameter (deepObject style). Originally: filter[type], filter[alias]'
explode: true
in: query
name: filter
schema:
properties:
alias:
description: Unique mobile push credential alias
example: LucyCredential
type: string
type:
description: type of mobile push credentials
enum:
- ios
- android
example: ios
type: string
type: object
style: deepObject
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListPushCredentialsResponse'
description: Mobile mobile push credentials
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Unauthorized request
summary: List mobile push credentials
tags:
- Push Credentials
x-latency-category: responsive
post:
description: Creates a new mobile push credential
operationId: CreatePushCredential
parameters: []
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateIosPushCredentialRequest'
- $ref: '#/components/schemas/CreateAndroidPushCredentialRequest'
description: Mobile push credential parameters that need to be sent in the request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PushCredentialResponse'
description: Mobile push credential created
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Unauthorized request
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Unable to process request
summary: Creates a new mobile push credential
tags:
- Push Credentials
x-latency-category: responsive
/mobile_push_credentials/{push_credential_id}:
delete:
description: Deletes a mobile push credential based on the given `push_credential_id`
operationId: DeletePushCredentialById
parameters:
- description: The unique identifier of a mobile push credential
in: path
name: push_credential_id
required: true
schema:
example: 0ccc7b76-4df3-4bca-a05a-3da1ecc389f0
format: uuid
type: string
responses:
'204':
description: The mobile push credential was deleted successfully
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Unauthorized request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Resource not found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Unable to process request
summary: Deletes a mobile push credential
tags:
- Push Credentials
x-latency-category: responsive
get:
description: Retrieves mobile push credential based on the given `push_credential_id`
operationId: GetPushCredentialById
parameters:
- description: The unique identifier of a mobile push credential
in: path
name: push_credential_id
required: true
schema:
example: 0ccc7b76-4df3-4bca-a05a-3da1ecc389f0
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PushCredentialResponse'
description: Successful get mobile push credential response
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Unauthorized request
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Resource not found
'422':
content:
application/json:
schema:
$ref: '#/components/schemas/push-notifications_Errors'
description: Unable to process request
summary: Retrieves a mobile push credential
tags:
- Push Credentials
x-latency-category: responsive
components:
schemas:
CreateIosPushCredentialRequest:
properties:
alias:
description: Alias to uniquely identify the credential
example: LucyIosCredential
type: string
certificate:
description: Certificate as received from APNs
example: '-----BEGIN CERTIFICATE----- MIIGVDCCBTKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END CERTIFICATE-----'
type: string
private_key:
description: Corresponding private key to the certificate as received from APNs
example: '-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END RSA PRIVATE KEY-----'
type: string
type:
description: Type of mobile push credential. Should be <code>ios</code> here
enum:
- ios
type: string
required:
- type
- certificate
- private_key
- alias
title: Create iOS push credential request
type: object
ListPushCredentialsResponse:
description: Mobile mobile push credentials
properties:
data:
items:
$ref: '#/components/schemas/PushCredential'
type: array
meta:
$ref: '#/components/schemas/PaginationMeta'
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
PushCredentialResponse:
description: Success response with details about a push credential
properties:
data:
$ref: '#/components/schemas/PushCredential'
type: object
push-notifications_Error:
properties:
code:
example: '10015'
type: string
detail:
example: has already been taken
type: string
meta:
additionalProperties: true
example:
url: https://developers.telnyx.com/docs/overview/errors/10015
type: object
source:
properties:
parameter:
description: Indicates which query parameter caused the error.
example: application_name
type: string
pointer:
description: JSON pointer (RFC6901) to the offending entity.
example: /mobile_push_credentials
type: string
type: object
title:
example: Bad Request
type: string
required:
- code
- title
type: object
PushCredential:
properties:
alias:
description: Alias to uniquely identify a credential
example: LucyCredential
type: string
certificate:
description: Apple certificate for sending push notifications. For iOS only
example: '-----BEGIN CERTIFICATE----- MIIGVDCCBTKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END CERTIFICATE-----'
type: string
created_at:
description: ISO 8601 timestamp when the room was created
example: '2021-03-26T17:51:59.588408Z'
format: date-time
type: string
id:
description: Unique identifier of a push credential
example: 0ccc7b54-4df3-4bcb-a65a-3da1ecc997d7
type: string
private_key:
description: Apple private key for a given certificate for sending push notifications. For iOS only
example: '-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END RSA PRIVATE KEY-----'
type: string
project_account_json_file:
additionalProperties: true
description: Google server key for sending push notifications. For Android only
example:
client_email: account@customer.org
private_key: BBBB0J56jd8kda:APA91vjb11BCjvxx3Jxja...
type: object
record_type:
example: push_credential
readOnly: true
type: string
type:
description: Type of mobile push credential. Either <code>ios</code> or <code>android</code>
example: ios
type: string
updated_at:
description: ISO 8601 timestamp when the room was updated.
example: '2021-03-26T17:51:59.588408Z'
format: date-time
type: string
required:
- id
- certificate
- private_key
- project_account_json_file
- alias
- type
- record_type
- created_at
- updated_at
title: Successful response with details about a push credential
type: object
CreateAndroidPushCredentialRequest:
properties:
alias:
description: Alias to uniquely identify the credential
example: LucyAndroidCredential
type: string
project_account_json_file:
additionalProperties: true
description: Private key file in JSON format
example:
client_email: account@customer.org
private_key: BBBB0J56jd8kda:APA91vjb11BCjvxx3Jxja...
type: object
type:
description: Type of mobile push credential. Should be <code>android</code> here
enum:
- android
type: string
required:
- type
- project_account_json_file
- alias
title: Create Android Push Credential Request
type: object
push-notifications_Errors:
properties:
errors:
items:
$ref: '#/components/schemas/push-notifications_Error'
type: array
type: object
parameters:
push-notifications_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: 20
description: The size of the page.
maximum: 250
minimum: 1
type: integer
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