---
title: "Retrieve a message"
method: GET
path: "/v3/messages/{id}"
tags: ["SMS and MMS"]
---

# Retrieve a message

`GET /v3/messages/{id}`

Returns the SMS or MMS message identified by `id`, including its delivery status and content.

## Path parameters

- `id` string, required

## Response `200`

Returns the message.

- object
  - `message_id` string, required — Message ID.
  - `message_type` string, required — Message type. Possible values are `sms`, `mms`.
  - `from` string, required — Sender ID.
  - `to` string, required — Recipient phone number.
  - `direction` string, required — Message direction. Possible values are `outbound`, `inbound`.
  - `mcc` string, nullable, required — Mobile country code.
  - `mnc` string, nullable, required — Mobile network code.
  - `message_body` MessageBody, required
    - `text` string, required — Message text.
    - `media` string[], nullable, required — List of media URLs. If provided, the message is sent as an MMS; otherwise, it is sent as an SMS.
  - `tag` string, nullable, required — Tag to group messages, such as for a specific campaign.
  - `status` 'accepted' | 'pending' | 'sent' | 'delivered' | 'undelivered' | 'expired' | 'rejected' | 'dlr_expired', required — Current delivery status of the message. One of: - `accepted` — the message was accepted by the platform for sending. - `pending` — the message is queued and awaiting a carrier response. - `sent` — the message was handed to the carrier. - `delivered` — the carrier confirmed delivery to the handset. - `undelivered` — the carrier reported that delivery failed. - `expired` — the validity period elapsed before the message was sent. - `rejected` — the message was rejected before sending. - `dlr_expired` — no delivery receipt arrived from the carrier within the expected window.
  - `segments` integer, required — Number of SMS segments. Always 1 for MMS.
  - `charge` string, required — Total charge for the message in USD.
  - `submitted_at` string, required — Date and time the message was accepted in ISO 8601 format.
  - `sent_at` string, nullable, required — Date and time the message was sent in ISO 8601 format. For mobile-terminated messages only.
  - `delivered_at` string, nullable, required — Date and time the message was delivered in ISO 8601 format. Refers to DLR reception for mobile-terminated messages or webhook relay for mobile-originated messages.
  - `error_message` string, nullable, required — Human-readable error message.
  - `carrier_fees` string, nullable — Mobile carrier fees in USD.

## Other responses

- `403` — Request failed. The feature is disabled for your account.
- `404` — Request failed. An object with the specified ID is not found.

---

[API](https://skmtc.net/wavix/apis/wavix-apis.md) · [All operations](https://skmtc.net/wavix/apis/wavix-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wavix/wavix-apis/versions/b22f170488b6/schema)
