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 Whatsapp Phone Numbers 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 phone numbers
name: Whatsapp Phone Numbers
paths:
/v2/whatsapp/business_accounts/{id}/phone_numbers:
post:
operationId: InitializeWhatsappVerification
parameters:
- $ref: '#/components/parameters/WabaId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappPhoneNumberVerificationRequest'
required: true
responses:
'204':
description: Verification initiated
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Initialize Whatsapp phone number verification
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
/v2/whatsapp/phone_numbers:
get:
operationId: ListPhoneNumbers
parameters:
- $ref: '#/components/parameters/PageConsolidated'
responses:
'200':
$ref: '#/components/responses/WhatsappPhonesListResponse'
description: Phone numbers
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: List Whatsapp phone numbers
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
/v2/whatsapp/phone_numbers/{phone_number}:
delete:
operationId: DeleteWhatsappPhoneNumber
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
responses:
'204':
description: Phone number was successfully deleted
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Delete a Whatsapp phone number
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
/v2/whatsapp/phone_numbers/{phone_number}/calling_settings:
get:
operationId: GetWhatsappCallingSettings
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
responses:
'200':
$ref: '#/components/responses/WhatsappCallingSettingsResponse'
description: Calling settings
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Get calling settings for a phone number
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
patch:
operationId: PatchWhatsappCallingSettings
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappPatchCallingSettingsRequest'
required: true
responses:
'200':
$ref: '#/components/responses/WhatsappCallingSettingsResponse'
description: Updated calling settings
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Enable or disable Whatsapp calling for a phone number
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
/v2/whatsapp/phone_numbers/{phone_number}/profile:
get:
operationId: GetWhatsappProfile
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
responses:
'200':
$ref: '#/components/responses/WhatsappProfileSingleResponse'
description: Profile
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Get phone number business profile
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
patch:
operationId: PatchWhatsappProfile
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappUpdateProfileRequest'
required: true
responses:
'200':
$ref: '#/components/responses/WhatsappProfileSingleResponse'
description: Updated profile
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Update phone number business profile
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
/v2/whatsapp/phone_numbers/{phone_number}/profile/photo:
delete:
operationId: DeleteWhatsappProfilePhoto
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
responses:
'204':
description: Photo deleted
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Delete Whatsapp profile photo
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
get:
operationId: GetWhatsappProfilePhoto
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappProfilePhotoResponse'
description: Profile photo
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Get Whatsapp profile photo
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
post:
operationId: PostWhatsappProfilePhoto
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
requestBody:
content:
multipart/form-data:
schema:
properties:
file:
description: Image file (JPEG recommended, max 10 MB)
format: binary
type: string
required:
- file
type: object
required: true
responses:
'200':
$ref: '#/components/responses/WhatsappProfileSingleResponse'
description: Profile with updated photo
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Upload Whatsapp profile photo
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
/v2/whatsapp/phone_numbers/{phone_number}/resend_verification:
post:
operationId: ResendWhatsappVerification
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappResendVerificationRequest'
required: true
responses:
'204':
description: Code resent
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Resend verification code
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
/v2/whatsapp/phone_numbers/{phone_number}/verify:
post:
operationId: VerifyWhatsappPhoneNumber
parameters:
- $ref: '#/components/parameters/WhatsappPhoneNumber'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WhatsappVerifyCodeRequest'
required: true
responses:
'204':
description: Verified successfully
4XX:
$ref: '#/components/responses/messaging_GenericErrorResponse'
summary: Submit verification code for a phone number
tags:
- Whatsapp Phone Numbers
x-latency-category: responsive
components:
schemas:
WhatsappProfilePhotoResponse:
properties:
data:
$ref: '#/components/schemas/WhatsappProfilePhotoData'
type: object
WhatsappProfileData:
properties:
about:
maxLength: 139
type: string
address:
type: string
category:
type: string
created_at:
format: date-time
type: string
description:
maxLength: 512
type: string
display_name:
type: string
email:
type: string
id:
type: string
phone_number_id:
description: Whatsapp phone number ID
type: string
profile_id:
type: string
profile_photo_url:
type: string
record_type:
example: whatsapp_phone_number_profiles
type: string
updated_at:
format: date-time
type: string
website:
type: string
type: object
WhatsappVerifyCodeRequest:
properties:
code:
type: string
required:
- code
type: object
WhatsappResendVerificationRequest:
properties:
verification_method:
default: sms
enum:
- sms
- voice
type: string
type: object
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
WhatsappCallingSettingsData:
properties:
enabled:
description: True if calling is enabled on the phone
type: boolean
phone_number:
description: Phone number in E164 format
type: string
record_type:
example: whatsapp_calling_settings
type: string
updated_at:
format: date-time
type: string
type: object
messaging_Errors:
properties:
errors:
items:
$ref: '#/components/schemas/messaging_Error'
type: array
WhatsappPhoneNumberVerificationRequest:
properties:
display_name:
type: string
language:
default: en_US
type: string
phone_number:
type: string
verification_method:
default: sms
enum:
- sms
- voice
type: string
required:
- phone_number
- display_name
type: object
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
WhatsappProfilePhotoData:
properties:
phone_number_id:
description: Meta phone number ID
type: string
profile_photo_url:
description: URL of the business profile photo (served by Meta's CDN). May be empty if no photo is set.
type: string
record_type:
example: whatsapp_phone_number_profile_photos
type: string
type: object
WhatsappPatchCallingSettingsRequest:
properties:
enabled:
type: boolean
required:
- enabled
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
WhatsappUpdateProfileRequest:
properties:
about:
maxLength: 139
type: string
address:
type: string
category:
type: string
description:
maxLength: 512
type: string
display_name:
type: string
email:
type: string
profile_id:
description: Messaging profile ID for inbound messages
format: uuid
type: string
website:
type: string
type: object
responses:
messaging_GenericErrorResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/messaging_Errors'
description: Unexpected error
WhatsappProfileSingleResponse:
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/WhatsappProfileData'
type: object
description: Successful response with Whatsapp profile
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
WhatsappCallingSettingsResponse:
content:
application/json:
schema:
properties:
data:
$ref: '#/components/schemas/WhatsappCallingSettingsData'
type: object
description: Successful response with Whatsapp calling settings
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
WhatsappPhoneNumber:
description: Phone number (E.164 format)
in: path
name: phone_number
required: true
schema:
type: string
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