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 ios 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 ios or android 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 android 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