> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wavix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List WhatsApp senders

> Returns a paginated list of the WhatsApp senders in your account's WhatsApp Business Accounts, each with the WhatsApp Business Account it belongs to.

Every send needs a registered sender's number in `from`, and this is where that number comes from.

**Behavior:** Senders are ordered from newest to oldest. When both `status` and `waba_id` are specified, a sender must match both filters.

**Requires:** Your account must have WhatsApp enabled, must have a subscription plan, and must not be blocked or suspended.



## OpenAPI

````yaml https://wavix.github.io/wavix-openapi/wavix-api.yaml get /v1/whatsapp/senders
openapi: 3.1.0
info:
  title: Wavix APIs
  description: >-
    Wavix provides robust APIs that let you integrate voice and text messaging
    features directly into your app. Send text, place calls, and access detailed
    reports  programmatically.
  termsOfService: https://wavix.com/terms-and-conditions
  license:
    name: MIT
    identifier: MIT
  contact:
    name: Wavix
    url: https://wavix.com
    email: support@wavix.com
  version: 1.1.1
servers:
  - url: https://api.wavix.com
    description: https://api.wavix.com
    variables: {}
security:
  - bearerAuth: []
tags:
  - name: SIP trunks
    description: SIP trunks
  - name: Buy
    description: Numbers
  - name: Cart
    description: Numbers
  - name: My numbers
    description: Numbers
  - name: Billing
    description: Billing, transactions, and invoices
  - name: Profile
    description: Account profile and customer information
  - name: CDRs
    description: Call detail records and call history
  - name: Speech Analytics
    description: Call transcription and speech analytics
  - name: SMS and MMS
    description: Messaging
  - name: Number Validator
    description: Phone number validation
  - name: Link shortener
    description: Short link and click metrics
  - name: 2FA
    description: Two-factor authentication
  - name: 10DLC
    description: 10DLC Campaigns and Brands
  - name: API Keys
    description: API key management
  - name: Call webhooks
    description: Webhook configuration for call events
  - name: Call control
    description: Programmable Voice
  - name: Call streaming
    description: Real-time call audio streaming over WebSocket
  - name: Call recording
    description: Call recording
  - name: Sub-accounts
    description: Sub-account management
  - name: Voice campaigns
    description: Outbound voice campaigns
  - name: Wavix Embeddable
    description: WebRTC embeddable widget
  - name: WhatsApp
    description: WhatsApp senders, templates, and messages
paths:
  /v1/whatsapp/senders:
    get:
      tags:
        - WhatsApp
      summary: List WhatsApp senders
      description: >-
        Returns a paginated list of the WhatsApp senders in your account's
        WhatsApp Business Accounts, each with the WhatsApp Business Account it
        belongs to.


        Every send needs a registered sender's number in `from`, and this is
        where that number comes from.


        **Behavior:** Senders are ordered from newest to oldest. When both
        `status` and `waba_id` are specified, a sender must match both filters.


        **Requires:** Your account must have WhatsApp enabled, must have a
        subscription plan, and must not be blocked or suspended.
      operationId: whatsapp_senders_list
      parameters:
        - name: status
          in: query
          required: false
          description: >-
            Filters senders by registration status. Possible values:


            - `banned` — The provider banned the sender.

            - `connected` — The sender can send messages within its messaging
            limit.

            - `deleted` — The sender was deleted.

            - `disconnected` — The sender is disconnected from the provider.

            - `flagged` — The sender's quality rating dropped to low. The status
            returns to `connected` if the rating returns to medium or high
            within seven days.

            - `migrated` — The sender was migrated.

            - `pending` — Registration with the provider is in progress.

            - `rate_limited` — The provider is rate limiting the sender.

            - `restricted` — The sender reached its messaging limit. It can't
            start new conversations until the 24-hour window resets, but it can
            still reply to customers who messaged it.

            - `unknown` — The provider hasn't reported a status.

            - `unverified` — The sender isn't verified.
          schema:
            type: string
            enum:
              - banned
              - connected
              - deleted
              - disconnected
              - flagged
              - migrated
              - pending
              - rate_limited
              - restricted
              - unknown
              - unverified
          example: connected
        - name: waba_id
          in: query
          required: false
          description: >-
            Filters senders by the ID of the WhatsApp Business Account they
            belong to, as returned in `waba.id`.
          schema:
            type: string
          example: '102290129340398'
        - $ref: '#/components/parameters/WhatsAppPageParam'
        - $ref: '#/components/parameters/WhatsAppPerPageParam'
      responses:
        '200':
          description: A paginated list of WhatsApp senders.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsAppSenderListResponse'
              examples:
                default:
                  summary: One connected sender
                  value:
                    senders:
                      - phone_number: '+14155550100'
                        display_name: Acme Support
                        status: connected
                        quality_rating: high
                        message_tier: limit_2k
                        waba:
                          id: '102290129340398'
                          name: Acme Support
                    pagination:
                      current_page: 1
                      per_page: 25
                      total: 1
                      total_pages: 1
        '401':
          $ref: '#/components/responses/WhatsAppUnauthorizedResponse'
        '403':
          $ref: '#/components/responses/WhatsAppForbiddenResponse'
        '404':
          $ref: '#/components/responses/WhatsAppChannelUnavailableResponse'
        '429':
          $ref: '#/components/responses/WhatsAppTooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/WhatsAppInternalServerErrorResponse'
        '503':
          $ref: '#/components/responses/WhatsAppServiceUnavailableResponse'
      deprecated: false
      security:
        - bearerAuth:
            - whatsapp:read
components:
  parameters:
    WhatsAppPageParam:
      name: page
      in: query
      description: Page number to retrieve. Page numbering starts at 1. Defaults to 1.
      schema:
        type: integer
        format: int32
        default: 1
      example: 1
    WhatsAppPerPageParam:
      name: per_page
      in: query
      description: >-
        Number of records to return per page. Defaults to 25. Values above 100
        are treated as 100.
      schema:
        type: integer
        format: int32
        default: 25
      example: 25
  schemas:
    WhatsAppSenderListResponse:
      title: WhatsAppSenderListResponse
      description: Returned by `whatsapp_senders_list`.
      required:
        - senders
        - pagination
      type: object
      additionalProperties: false
      properties:
        senders:
          type: array
          description: Senders that match the request.
          items:
            $ref: '#/components/schemas/WhatsAppSender'
        pagination:
          $ref: '#/components/schemas/Pagination'
    WhatsAppSender:
      title: WhatsAppSender
      description: >-
        A WhatsApp sender, which is a phone number registered with WhatsApp in
        one of your account's WhatsApp Business Accounts. Returned by
        `whatsapp_senders_list` and `whatsapp_senders_get`.
      required:
        - phone_number
        - display_name
        - status
        - quality_rating
        - message_tier
        - waba
      type: object
      additionalProperties: false
      properties:
        phone_number:
          type: string
          description: Sender's phone number in E.164 format.
          example: '+14155550100'
        display_name:
          type:
            - string
            - 'null'
          description: Sender's WhatsApp display name.
          example: Acme Support
        status:
          type: string
          description: >-
            Sender registration status with the provider. Possible values:


            - `banned` — The provider banned the sender.

            - `connected` — The sender can send messages within its messaging
            limit.

            - `deleted` — The sender was deleted.

            - `disconnected` — The sender is disconnected from the provider.

            - `flagged` — The sender's quality rating dropped to low. The status
            returns to `connected` if the rating returns to medium or high
            within seven days.

            - `migrated` — The sender was migrated.

            - `pending` — Registration with the provider is in progress.

            - `rate_limited` — The provider is rate limiting the sender.

            - `restricted` — The sender reached its messaging limit. It can't
            start new conversations until the 24-hour window resets, but it can
            still reply to customers who messaged it.

            - `unknown` — The provider hasn't reported a status.

            - `unverified` — The sender isn't verified.
          enum:
            - banned
            - connected
            - deleted
            - disconnected
            - flagged
            - migrated
            - pending
            - rate_limited
            - restricted
            - unknown
            - unverified
          example: connected
        quality_rating:
          type:
            - string
            - 'null'
          description: >-
            Sender's messaging quality rating. Meta rates quality from customer
            feedback over the past seven days, such as blocks and reports.
            Possible values:


            - `high` — High quality.

            - `medium` — Medium quality.

            - `low` — Low quality.

            - `unknown` — Not rated yet.
          enum:
            - high
            - medium
            - low
            - unknown
            - null
          example: high
        message_tier:
          type:
            - string
            - 'null'
          description: |-
            Sender's 24-hour outbound messaging limit tier. Possible values:

            - `limit_na` — No limit is set.
            - `limit_250` — Up to 250 unique customers.
            - `limit_2k` — Up to 2,000 unique customers.
            - `limit_10k` — Up to 10,000 unique customers.
            - `limit_100k` — Up to 100,000 unique customers.
            - `unlimited` — No limit on unique customers.
          enum:
            - limit_na
            - limit_250
            - limit_2k
            - limit_10k
            - limit_100k
            - unlimited
            - null
          example: limit_2k
        waba:
          $ref: '#/components/schemas/WhatsAppWaba'
    Pagination:
      title: Pagination
      required:
        - current_page
        - per_page
        - total
        - total_pages
      type: object
      additionalProperties: false
      properties:
        current_page:
          type: integer
          description: Current page number.
          format: int32
          example: 2
        per_page:
          type: integer
          description: Number of records per page.
          format: int32
          example: 25
        total:
          type: integer
          description: Total number of records.
          format: int32
          example: 101
        total_pages:
          type: integer
          description: Total number of pages.
          format: int32
          example: 5
    WhatsAppProblem:
      title: WhatsAppProblem
      description: >-
        An RFC 9457 problem document that describes an error from the WhatsApp
        API. Returned with the `application/problem+json` content type.
      required:
        - type
        - title
        - status
        - detail
        - instance
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          description: URI that identifies the problem type.
          example: https://wavix.com/problems/whatsapp-not-available
        title:
          type: string
          description: Short, human-readable summary of the problem type.
          example: WhatsApp Not Available
        status:
          type: integer
          format: int32
          description: HTTP status code of the response.
          example: 404
        detail:
          type: string
          description: Human-readable explanation of this occurrence of the problem.
          example: WhatsApp is not available for this account.
        instance:
          type: string
          description: Request ID of this occurrence of the problem.
          example: 3a525ca2-6909-4c72-9399-905adf7f3a74
        error_class:
          type: string
          description: >-
            Machine-readable classification of the error. Possible values:


            - `permanent` — The request can't succeed as sent. Retrying doesn't
            help.

            - `retriable` — The failure is temporary. Retrying can succeed.

            - `rate_limited` — The request was rate limited. Retry later.

            - `invalid_template` — The template content is invalid.
          enum:
            - permanent
            - retriable
            - rate_limited
            - invalid_template
          example: permanent
        error_code:
          type: string
          description: >-
            Stable machine-readable error code. It's the problem type slug in
            upper case with the `WAVIX_` prefix.
          example: WAVIX_WHATSAPP_NOT_AVAILABLE
    WhatsAppWaba:
      title: WhatsAppWaba
      description: >-
        A WhatsApp Business Account linked to your account, embedded in senders
        and templates.
      required:
        - id
        - name
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          description: ID of the WhatsApp Business Account.
          example: '102290129340398'
        name:
          type:
            - string
            - 'null'
          description: Name of the WhatsApp Business Account.
          example: Acme Support
  responses:
    WhatsAppUnauthorizedResponse:
      description: Authentication failed or wasn't provided.
      headers: {}
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            authentication-required:
              summary: The API key or token is missing or isn't valid
              value:
                type: https://wavix.com/problems/authentication-required
                title: Authentication Required
                status: 401
                detail: Authentication is required to access this resource.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_AUTHENTICATION_REQUIRED
    WhatsAppForbiddenResponse:
      description: >-
        Returns when the account is suspended, blocked, or has no subscription
        plan, or the API key has no access to the endpoint.
      headers: {}
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            account-suspended:
              value:
                type: https://wavix.com/problems/access-denied
                title: Access Denied
                status: 403
                detail: The account is suspended.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_ACCESS_DENIED
            access-denied:
              value:
                type: https://wavix.com/problems/access-denied
                title: Access Denied
                status: 403
                detail: The API key has no access to this resource.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_ACCESS_DENIED
    WhatsAppChannelUnavailableResponse:
      description: >-
        WhatsApp isn't available for your account, or the WhatsApp channel isn't
        enabled for it yet.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            whatsapp-not-available:
              summary: WhatsApp is not available for this account
              value:
                type: https://wavix.com/problems/whatsapp-not-available
                title: WhatsApp Not Available
                status: 404
                detail: WhatsApp is not available for this account.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_WHATSAPP_NOT_AVAILABLE
            channel-not-enabled:
              summary: WhatsApp is not enabled yet for this account
              value:
                type: https://wavix.com/problems/channel-not-enabled
                title: Channel Not Enabled
                status: 404
                detail: The WhatsApp channel is not enabled for this account.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: permanent
                error_code: WAVIX_CHANNEL_NOT_ENABLED
    WhatsAppTooManyRequestsResponse:
      description: Returns when the account has exceeded its request rate limit.
      headers:
        Retry-After:
          description: Number of seconds to wait before retrying the request.
          schema:
            type: integer
            example: 30
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            rate-limited:
              value:
                type: https://wavix.com/problems/rate-limited
                title: Rate Limited
                status: 429
                detail: Too many requests. Try again later.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: rate_limited
                error_code: WAVIX_RATE_LIMITED
    WhatsAppInternalServerErrorResponse:
      description: >-
        Returns when an unexpected error occurs on the server; the request may
        be retried.
      headers: {}
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            internal-error:
              value:
                type: https://wavix.com/problems/internal-error
                title: Internal Error
                status: 500
                detail: Internal Error
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: retriable
                error_code: WAVIX_INTERNAL_ERROR
    WhatsAppServiceUnavailableResponse:
      description: >-
        Returns when the service is temporarily unavailable; the request may be
        retried.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/WhatsAppProblem'
          examples:
            service-unavailable:
              value:
                type: https://wavix.com/problems/service-unavailable
                title: Service Unavailable
                status: 503
                detail: The service is temporarily unavailable.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: retriable
                error_code: WAVIX_SERVICE_UNAVAILABLE
            provider-unavailable:
              value:
                type: https://wavix.com/problems/provider-unavailable
                title: Provider Unavailable
                status: 503
                detail: The provider is temporarily unavailable.
                instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                error_class: retriable
                error_code: WAVIX_PROVIDER_UNAVAILABLE
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        Wavix API key. Pass as `Authorization: Bearer <api_key>`. Keys support
        per-resource scopes (none / read / write). See [Restricted keys and
        scopes](https://docs.wavix.com/api-reference/authentication#restricted-keys-and-scopes).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.