Skip to main content
GET
Get a message

Authorizations

Authorization
string
header
required

API key with an sk_live_ or sk_test_ prefix.

Path Parameters

id
string
required

Public message ID (e.g. msg_...).

Response

The message.

A message row. vars, metadata, and timeline are JSON.

id
string<uuid>
workspaceId
string<uuid>
publicId
string
Example:

"msg_0a1b2c3d4e5f6g7h"

templateSlug
string | null

Null for raw sends.

channel
enum<string>
Available options:
email,
sms,
push,
web-push
status
enum<string>

Lifecycle status of a message. scheduled is the initial status for a send with a future scheduledAt; queued is the initial status for an immediate send. canceled is terminal and reached when a scheduled or queued message is canceled before dispatch.

suppressed means the provider accepted the request but never attempted delivery — the recipient address failed validation, or was already suppressed for this sender. It is distinct from failed, which is a bounce reported by the receiving mail server.

Available options:
scheduled,
queued,
rendered,
dispatched,
sent,
delivered,
failed,
opted_out,
suppressed,
blocked,
canceled
livemode
boolean
recipient
string
vars
object
metadata
object

Caller-supplied tags/IDs. Values must be string, number, or boolean.

fromOverride
string | null
fromNameOverride
string | null
interpolate
boolean

Raw sends only — whether Mustache interpolation was run over the inline content. Always false for template sends.

pinnedVersion
integer | null

Template sends only — the explicit template version pinned by the caller, or null when resolved by environment.

provider
string | null
providerConnectionId
string<uuid> | null
providerMessageId
string | null
latencyMs
integer | null
openedAt
string<date-time> | null

First provider-reported open (email open tracking), or null. Set once; later opens don't update it.

clickedAt
string<date-time> | null

First provider-reported link click, or null. Set once; later clicks don't update it.

error
string | null
timeline
object[]
createdAt
string<date-time>
scheduledAt
string<date-time> | null

When the send was scheduled for, or null for an immediate send.

idempotencyKey
string | null

The Idempotency-Key supplied on the send request, or null if none was provided.