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 Webhooks 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: Webhooks operations name: Webhooks paths: /webhook_deliveries: get: description: Lists webhook_deliveries for the authenticated user operationId: GetWebhookDeliveries parameters: - $ref: '#/components/parameters/PageConsolidated' - description: 'Consolidated filter parameter (deepObject style). Originally: filter[status][eq], filter[event_type], filter[webhook][contains], filter[attempts][contains], filter[started_at][gte], filter[started_at][lte], filter[finished_at][gte], filter[finished_at][lte]' explode: true in: query name: filter required: false schema: properties: attempts: properties: contains: description: Return only webhook_deliveries whose `attempts` component contains the given text example: https://fallback.example.com/webhooks type: string type: object event_type: description: Return only webhook_deliveries matching the given value of `event_type`. Accepts multiple values separated by a `,`. example: call_initiated,call.initiated type: string finished_at: properties: gte: description: Return only webhook_deliveries whose delivery finished later than or at given ISO 8601 datetime example: '2019-03-29T11:10:00Z' type: string lte: description: Return only webhook_deliveries whose delivery finished earlier than or at given ISO 8601 datetime example: '2019-03-29T11:10:00Z' type: string type: object started_at: properties: gte: description: Return only webhook_deliveries whose delivery started later than or at given ISO 8601 datetime example: '2019-03-29T11:10:00Z' type: string lte: description: Return only webhook_deliveries whose delivery started earlier than or at given ISO 8601 datetime example: '2019-03-29T11:10:00Z' type: string type: object status: properties: eq: description: Return only webhook_deliveries matching the given `status` enum: - delivered - failed example: delivered type: string type: object webhook: properties: contains: description: Return only webhook deliveries whose `webhook` component contains the given text example: call.initiated type: string type: object type: object style: deepObject responses: '200': $ref: '#/components/responses/ListWebhookDeliveriesResponse' '401': description: Unauthorized '422': description: Unprocessable entity summary: List webhook deliveries tags: - Webhooks x-latency-category: responsive /webhook_deliveries/{id}: get: description: Provides webhook_delivery debug data, such as timestamps, delivery status and attempts. operationId: GetWebhookDelivery parameters: - description: Uniquely identifies the webhook_delivery. in: path name: id required: true schema: example: C9C0797E-901D-4349-A33C-C2C8F31A92C2 format: uuid type: string responses: '200': content: application/json: schema: properties: data: $ref: '#/components/schemas/webhook_delivery' type: object description: Webhook delivery record. '401': description: Unauthorized '404': description: WebhookDelivery not found summary: Find webhook_delivery details by ID tags: - Webhooks x-latency-category: responsive components: responses: ListWebhookDeliveriesResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/webhook_delivery' type: array meta: $ref: '#/components/schemas/PaginationMetaSimple' type: object description: A paginated array of webhook_delivery attempts schemas: webhook_delivery: description: Record of all attempts to deliver a webhook. properties: attempts: description: Detailed delivery attempts, ordered by most recent. example: - finished_at: '2020-08-10T14:00:05.595Z' http: request: headers: - - Accept - '*/*' url: https://fallback.example.com/webhooks response: body: All good. headers: - - Content-Type - text/html status: 200 started_at: '2020-08-10T14:00:05.364Z' status: delivered - errors: - 75499 finished_at: '2020-08-10T14:00:05.360Z' http: request: headers: - - Accept - '*/*' url: https://typo.example.com/webhooks response: body: Oops. Not found. headers: - - Content-Type - text/html - - Pragma - no-cache status: 404 started_at: '2020-08-10T14:00:05.004Z' status: failed items: $ref: '#/components/schemas/attempt' type: array finished_at: description: ISO 8601 timestamp indicating when the last webhook response has been received. example: '2020-08-10T14:00:05.595Z' format: date-time type: string id: description: Uniquely identifies the webhook_delivery record. example: f5586561-8ff0-4291-a0ac-84fe544797bd format: uuid type: string record_type: description: Identifies the type of the resource. example: webhook_delivery type: string started_at: description: ISO 8601 timestamp indicating when the first request attempt was initiated. example: '2020-08-10T14:00:00.000Z' format: date-time type: string status: description: 'Delivery status: ''delivered'' when successfuly delivered or ''failed'' if all attempts have failed.' enum: - delivered - failed type: string user_id: description: Uniquely identifies the user that owns the webhook_delivery record. example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string webhook: description: Original webhook JSON data. Payload fields vary according to event type. example: event_type: call_initiated id: C9C0797E-901D-4349-A33C-C2C8F31A92C2 occurred_at: '2020-08-10T13:02:01.000Z' payload: useful: information record_type: event properties: event_type: description: The type of event being delivered. example: webhook.command type: string id: description: Identifies the type of resource. example: 0ccc7b54-4df3-4bca-a65a-3da1ecc777f0 format: uuid type: string occurred_at: description: ISO 8601 datetime of when the event occurred. example: '2018-02-02T22:25:27.521992Z' format: date-time type: string payload: additionalProperties: true type: object record_type: description: Identifies the type of the resource. enum: - event example: event type: string type: object http: description: HTTP request and response information. properties: request: description: Request details. properties: headers: $ref: '#/components/schemas/http_headers' url: example: https://example.com/webhooks type: string response: description: Response details, optional. properties: body: description: Raw response body, limited to 10kB. type: string headers: $ref: '#/components/schemas/http_headers' status: example: 200 type: integer type: object PaginationMetaSimple: 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 http_headers: description: List of headers, limited to 10kB. example: - - header_name - header_value items: items: type: string type: array type: array attempt: description: Webhook delivery attempt details. example: - finished_at: '2020-08-10T14:00:05.595Z' http: request: headers: - - Accept - '*/*' url: https://fallback.example.com/webhooks response: body: All good. headers: - - Content-Type - text/html status: 200 started_at: '2020-08-10T14:00:05.364Z' status: delivered - errors: - 75499 finished_at: '2020-08-10T14:00:05.360Z' http: request: headers: - - Accept - '*/*' url: https://typo.example.com/webhooks response: body: Oops. Not found. headers: - - Content-Type - text/html - - Pragma - no-cache status: 404 started_at: '2020-08-10T14:00:05.004Z' status: failed - errors: - code: '75001' detail: Unable to resolve the webhook URL domain name title: Could not resolve name finished_at: '2020-08-10T14:00:05.000Z' http: reponse: null request: headers: - 'Accept: */*' url: https://slow.example.com/webhooks started_at: '2020-08-10T14:00:00.000Z' status: failed properties: errors: description: Webhook delivery error codes. items: type: integer type: array finished_at: description: ISO 8601 timestamp indicating when the attempt has finished. format: date-time type: string http: $ref: '#/components/schemas/http' started_at: description: ISO 8601 timestamp indicating when the attempt was initiated. format: date-time type: string status: enum: - delivered - failed type: string parameters: PageConsolidated: description: 'Consolidated page parameter (deepObject style). Originally: page[number], page[size]' 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