---
title: "Retrieve a message"
method: GET
path: "/messages/{id}"
tags: ["Messages"]
---

# Retrieve a message

`GET /messages/{id}`

Retrieves a Message object.

## Path parameters

- `id` string, required — The ID of the message to retrieve.

## Response `200`

Message

- Message — A Message is a communication sent to a Contact.
  - `attachments` Attachment[]
    - `id` string — Unique identifier for the object.
    - `type` string — The type of attachment.
    - `url` string — The URL of the attachment.
  - `blast_id` string, nullable — The ID of the blast this message belongs to, if any. This can be used to attribute messages back to a specific blast.
  - `body` string, nullable — The message body.
  - `conversation` Conversation — A conversation with a Contact
    - `contact` Contact, required — A contact who has consented to receive messages
      - `email` string, email — The contact's email address.
      - `first_name` string — The contact's first name.
      - `id` string, required — Unique identifier for the object.
      - `last_name` string — The contact's last name.
      - `metadata` Metadata — Set of key-value pairs that will be stored with the object.
      - `phone_number` string, phone-number, required — The contact's phone number in E.164 format.
    - `id` string, required — Unique identifier for the object.
    - `phone_number` ConversationPhoneNumber — This is the phone number tied to the Surge account.
      - `id` string, required — Unique identifier for the phone number
      - `number` string, phone-number, required — The canonical format of the phone number.
      - `type` 'local' | 'toll_free' | 'short_code' | 'demo', required — Whether the phone number is local, toll-free, or short code
  - `id` string — Unique identifier for the object.
  - `metadata` Metadata — Set of key-value pairs that will be stored with the object.

## Other responses

- `default` — Error

## Changes

- **2026-02-12** `562a74493339` — 1 breaking
  - the response property `blast_id` became nullable for the status `200`
- **2026-02-01** `345fdd13af9e` — 1 breaking
  - the response property `body` became nullable for the status `200`
- **2026-01-24** `41034d1fa948` — 1 info
  - added the optional property `blast_id` to the response with the `200` status
- **2026-01-18** `fd3efee5d0c8` — 1 info
  - added the optional property `metadata` to the response with the `200` status

[Change history](https://skmtc.dev/surgeapi/apis/surge/changes/messages/:id/get.md)

---

[API](https://skmtc.dev/surgeapi/apis/surge.md) · [All operations](https://skmtc.dev/surgeapi/apis/surge/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/surgeapi/surge/revisions/c0eed87cd264/schema)
