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 Whatsapp Business Accounts 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: Manage Whatsapp business accounts name: Whatsapp Business Accounts paths: /v2/whatsapp/business_accounts: get: operationId: ListWabas parameters: - $ref: '#/components/parameters/PageConsolidated' responses: '200': $ref: '#/components/responses/WabasListResponse' description: List of Whatsapp Business Accounts 4XX: $ref: '#/components/responses/messaging_GenericErrorResponse' summary: List Whatsapp Business Accounts tags: - Whatsapp Business Accounts x-latency-category: responsive /v2/whatsapp/business_accounts/{id}: delete: operationId: deleteWaba parameters: - $ref: '#/components/parameters/WabaId' responses: '204': description: Deleted 4XX: $ref: '#/components/responses/messaging_GenericErrorResponse' summary: Delete a Whatsapp Business Account tags: - Whatsapp Business Accounts x-latency-category: responsive get: operationId: GetSingleWaba parameters: - $ref: '#/components/parameters/WabaId' responses: '200': $ref: '#/components/responses/WabaSingleResponse' description: Whatsapp Business Account details 4XX: $ref: '#/components/responses/messaging_GenericErrorResponse' summary: Get a single Whatsapp Business Account tags: - Whatsapp Business Accounts x-latency-category: responsive /v2/whatsapp/business_accounts/{id}/phone_numbers: get: operationId: ListWabaPhones parameters: - $ref: '#/components/parameters/WabaId' - $ref: '#/components/parameters/PageConsolidated' responses: '200': $ref: '#/components/responses/WhatsappPhonesListResponse' description: List of phone numbers 4XX: $ref: '#/components/responses/messaging_GenericErrorResponse' summary: List phone numbers for a WABA tags: - Whatsapp Business Accounts x-latency-category: responsive /v2/whatsapp/business_accounts/{id}/settings: get: operationId: GetWabaSettings parameters: - $ref: '#/components/parameters/WabaId' responses: '200': $ref: '#/components/responses/WabaSettingsResponse' description: WABA settings 4XX: $ref: '#/components/responses/messaging_GenericErrorResponse' summary: Get WABA settings tags: - Whatsapp Business Accounts x-latency-category: responsive patch: operationId: PatchWabaSettings parameters: - $ref: '#/components/parameters/WabaId' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchWabaSettingsRequest' required: true responses: '200': $ref: '#/components/responses/WabaSettingsResponse' description: Updated settings 4XX: $ref: '#/components/responses/messaging_GenericErrorResponse' summary: Update WABA settings tags: - Whatsapp Business Accounts x-latency-category: responsive components: responses: WhatsappPhonesListResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/WhatsappPhoneResponse' type: array meta: $ref: '#/components/schemas/messaging_PaginationMeta' type: object description: Successful response with Whatsapp phone numbers messaging_GenericErrorResponse: content: application/json: schema: $ref: '#/components/schemas/messaging_Errors' description: Unexpected error WabasListResponse: content: application/json: schema: properties: data: items: $ref: '#/components/schemas/WabaResponse' type: array meta: $ref: '#/components/schemas/messaging_PaginationMeta' type: object description: Successful response with list of Whatsapp business accounts WabaSettingsResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/WabaSettings' type: object description: Successful response with Whatsapp business account settings WabaSingleResponse: content: application/json: schema: properties: data: $ref: '#/components/schemas/WabaResponse' type: object description: Successful response with Whatsapp business account schemas: messaging_Errors: properties: errors: items: $ref: '#/components/schemas/messaging_Error' type: array messaging_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 required: - total_pages - total_results - page_size - page_number type: object PatchWabaSettingsRequest: properties: name: type: string timezone: description: IANA timezone identifier example: America/New_York type: string webhook_enabled: description: Enable/disable receiving Whatsapp events type: boolean webhook_events: items: description: Whatsapp event to subscribe to type: string type: array webhook_failover_url: description: Failover URL to send Whatsapp events format: url type: string webhook_url: description: URL to send Whatsapp events format: url type: string type: object WabaResponse: properties: account_review_status: description: Account review status of Whatsapp business account type: string business_verification_status: description: Business verification status of Whatsapp business account type: string country: description: Country associated with Whatsapp business account type: string created_at: format: date-time type: string id: description: Internal ID of Whatsapp business account format: uuid type: string name: description: Name of Whatsapp business account type: string phone_numbers_count: description: Count of phone numbers associated with Whatsapp business account type: integer record_type: example: whatsapp_business_account type: string status: description: Status of Whatsapp business account type: string waba_id: description: WABA ID of Whatsapp business account type: string type: object messaging_Error: properties: code: type: string x-format: integer 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 WhatsappPhoneResponse: properties: calling_enabled: type: boolean created_at: format: date-time type: string display_name: type: string enabled: type: boolean phone_number: description: Phone number in E164 format type: string phone_number_id: description: Whatsapp phone number ID type: string quality_rating: description: Whatsapp quality rating type: string record_type: example: whatsapp_business_phone_number type: string status: type: string user_id: description: User ID type: string waba_id: description: WABA ID of Whatsapp business account type: string type: object WabaSettings: properties: id: description: Internal ID of Whatsapp business account format: uuid type: string name: type: string record_type: example: whatsapp_business_account_settings type: string timezone: example: America/Chicago type: string updated_at: format: date-time type: string webhook_enabled: description: Enable/disable receiving Whatsapp events type: boolean webhook_events: items: description: Whatsapp event to subscribe to type: string type: array webhook_failover_url: description: Failover URL to receive Whatsapp events format: url type: string webhook_url: description: URL to receive Whatsapp events format: url type: string type: object parameters: WabaId: description: Whatsapp Business Account ID in: path name: id required: true schema: type: string 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