Telnyx Whatsapp Business Accounts API

Manage Whatsapp business accounts

OpenAPI Specification

telnyx-whatsapp-business-accounts-api-openapi.yml Raw ↑
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