> ## 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.

# Retrieve a WhatsApp message

> Returns the WhatsApp message with the given ID, sent or received, including its direction and current delivery status.

The send response carries only the initial status, so the delivered or undelivered outcome shows up here.

**Behavior:** Returns `404` when no message with this ID belongs to your account.

**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/messages/{uuid}
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.2.0
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/messages/{uuid}:
    get:
      tags:
        - WhatsApp
      summary: Retrieve a WhatsApp message
      description: >-
        Returns the WhatsApp message with the given ID, sent or received,
        including its direction and current delivery status.


        The send response carries only the initial status, so the delivered or
        undelivered outcome shows up here.


        **Behavior:** Returns `404` when no message with this ID belongs to your
        account.


        **Requires:** Your account must have WhatsApp enabled, must have a
        subscription plan, and must not be blocked or suspended.
      operationId: whatsapp_messages_get
      parameters:
        - name: uuid
          in: path
          required: true
          description: >-
            ID of the message, as returned in `uuid` by `whatsapp_messages_send`
            or `whatsapp_messages_list`.
          schema:
            type: string
            format: uuid
          example: 3a525ca2-6909-4c72-9399-905adf7f3a74
      responses:
        '200':
          description: The requested WhatsApp message.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhatsAppMessageGetResponse'
              examples:
                default:
                  summary: A delivered outbound message
                  value:
                    message:
                      uuid: 3a525ca2-6909-4c72-9399-905adf7f3a74
                      direction: outbound
                      status: delivered
                      from: '+14155550100'
                      to: '+447537151866'
                      country: GB
                      created_at: '2026-01-15T10:30:00.123Z'
        '401':
          $ref: '#/components/responses/WhatsAppUnauthorizedResponse'
        '403':
          $ref: '#/components/responses/WhatsAppForbiddenResponse'
        '404':
          description: >-
            WhatsApp isn't available for your account or isn't enabled yet, or
            no message with this ID belongs to your account.
          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
                resource-not-found:
                  summary: No message matches the given uuid
                  value:
                    type: https://wavix.com/problems/resource-not-found
                    title: Resource Not Found
                    status: 404
                    detail: Resource Not Found
                    instance: 3a525ca2-6909-4c72-9399-905adf7f3a74
                    error_class: permanent
                    error_code: WAVIX_RESOURCE_NOT_FOUND
        '429':
          $ref: '#/components/responses/WhatsAppTooManyRequestsResponse'
        '500':
          $ref: '#/components/responses/WhatsAppInternalServerErrorResponse'
        '503':
          $ref: '#/components/responses/WhatsAppServiceUnavailableResponse'
      deprecated: false
      security:
        - bearerAuth:
            - whatsapp:read
components:
  schemas:
    WhatsAppMessageGetResponse:
      title: WhatsAppMessageGetResponse
      description: Returned by `whatsapp_messages_get`.
      required:
        - message
      type: object
      additionalProperties: false
      properties:
        message:
          $ref: '#/components/schemas/WhatsAppMessageListItem'
    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
    WhatsAppMessageListItem:
      title: WhatsAppMessageListItem
      description: >-
        A WhatsApp message your account sent or received. Returned by
        `whatsapp_messages_list` and `whatsapp_messages_get`.
      required:
        - uuid
        - direction
        - status
        - created_at
        - from
        - to
        - country
      type: object
      additionalProperties: false
      properties:
        uuid:
          type: string
          format: uuid
          description: ID of the message.
          example: 3a525ca2-6909-4c72-9399-905adf7f3a74
        direction:
          type: string
          description: >-
            Message direction. Possible values:


            - `outbound` — The message was sent from your account to a
            recipient.

            - `inbound` — A customer sent the message to one of your senders.
          enum:
            - outbound
            - inbound
          example: outbound
        status:
          type: string
          description: >-
            Message delivery status. Inbound messages always have `delivered`
            status. Possible values:


            - `sent` — The message isn't delivered yet.

            - `delivered` — The message was delivered to the recipient.

            - `undelivered` — The message was sent but not delivered.

            - `expired` — The message expired before it was delivered.

            - `rejected` — The message was permanently rejected before or by the
            provider.

            - `unknown` — The provider hasn't reported a status.
          enum:
            - sent
            - delivered
            - undelivered
            - expired
            - rejected
            - unknown
          example: delivered
        from:
          type: string
          description: >-
            For `outbound` messages, the phone number of your sender. For
            `inbound`, the customer's phone number.
          example: '+14155550100'
        to:
          type: string
          description: >-
            For `outbound` messages, the recipient's phone number. For
            `inbound`, the phone number of your sender that received it.
          example: '+447537151866'
        country:
          type:
            - string
            - 'null'
          description: >-
            Country of the customer's phone number, as an ISO 3166-1 alpha-2
            code, or `null` if the country can't be determined from the number.
          example: GB
        created_at:
          type: string
          format: date-time
          description: Date and time the message was created, in ISO 8601 format.
          example: '2026-01-15T10:30:00.123Z'
  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
    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.