---
title: "Get WhatsApp message"
method: GET
path: "/v2/whatsapp/messages/{id}"
tags: ["WhatsApp"]
---

# Get WhatsApp message

`GET /v2/whatsapp/messages/{id}`

Retrieves details of a previously sent WhatsApp message by its unique identifier.
Returns message content, delivery status, and metadata.

## Path parameters

- `id` string, uuid, required

## Response `200`

OK

- object
  - `data` object, required — Success response payload
    - `id` string, required — Unique identifier for the message.
    - `account_id` string, required — Account identifier that sent the message.
    - `message_ref` string — Optional reference ID set by the user for the message.
    - `campaign_id` string — UUID of the campaign that produced this message. Omitted when the message is not associated with a campaign.
    - `sender` string, phone, required — Registered WhatsApp sender number in international format.
    - `recipient` string, phone, required — WhatsApp recipient phone number in international format.
    - `content_type` 'text' | 'template' | 'custom', required — Type of the message content.
    - `content` union, required — Content details for the message.
      - object
        - `text` Text, required — Text content for the message.
          - `message` string, required — The text message body.
      - object
        - `template` Template, required — Template details for the message content.
          - `name` string, required — The **exact name** of the WhatsApp template. - **Format:** Lowercase, alphanumeric, underscores only. - **Example:** `order_confirmation` - **Must be pre-approved** in your WhatsApp Business account.
          - `parameters` string[] — The **dynamic values** to populate placeholdes in the template message. - The number of parameters **must match** the template placeholders. - Supports **text only** (strings). Other types (e.g., images, documents) are not allowed. - **Example Usage:** - Template: `"Hello, {1}! Your order {2} has been shipped."` - Parameters: `["Tony", "#12345"]` - Final message: `"Hello, Tony! Your order #12345 has been shipped."`
          - `locale` string — Optional locale for the template (e.g., en_US), if not provided, the default locale is `en`.
      - object
        - `custom` Custom, required — Custom content following the Meta Cloud API guidelines.
    - `sms_fallback` SMSFallback — SMS fallback message details.
      - `sender` string — The sender number to use for SMS fallback, which can be in [E.164](http://en.wikipedia.org/wiki/E.164) international format or an alphanumeric sender ID.
      - `message` string, required — The message to send via SMS.
    - `created_at` string, date-time, required — Timestamp in RFC3339 format (e.g., 2025-08-26T10:30:00Z) when the message was created on the server.
    - `status` 'QUEUED' | 'SENT' | 'DELIVERED' | 'READ' | 'FAILED', required — Current status of a WhatsApp message.
    - `events` WhatsappMessageEvent[] — Array of events showing the message history.
      - `event_type` 'SENT' | 'DELIVERED' | 'READ' | 'FAILED', required — Type of event that occurred.
      - `created_at` string, date-time, required — Timestamp in RFC3339 format (e.g., 2025-08-26T10:30:00Z) when the event occurred.
      - `details` string, required — Description of the event.
  - `request` object — Optional metadata (e.g. requestId, traceId)
  - `meta` object — Optional pagination, feature flags, etc.

## Other responses

- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/kudosity/apis/transmit-sms-api.md) · [All operations](https://skmtc.net/kudosity/apis/transmit-sms-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kudosity/transmit-sms-api/revisions/9f6c34b849af/schema)
