# description
GET /api/messages/:id — the full message with its delivery history, pipeline events, per-attempt audit rows, recorded opens, and attachments.

# properties.message.description
The message itself, with bodies (text_body/html_body/headers_json) and without the list-row counters.

# properties.actor_email.description
When a team member sent this message as the domain owner: the acting member's email. null otherwise.

# properties.actor_team_name.description
When a team member sent this message as the domain owner: the team's name. null otherwise.

# properties.deliveries.description
Every webhook delivery of this message, newest last — retries and replays append.

# properties.events.description
The pipeline timeline for this message (received → routed → webhook attempts → retries). Metadata only, never bodies.

# properties.events.items.properties.target.description
Webhook URL / forward address / recipient, when relevant.

# properties.events.items.properties.code.description
HTTP or provider status code, when relevant.

# properties.events.items.properties.created_at.description
When the event was recorded, in Unix epoch milliseconds (UTC).

# properties.deliveryAttempts.description
Per-attempt audit rows (timing, response code/headers/body) behind the delivery inspector.

# properties.deliveryAttempts.items.properties.delivery_id.description
The delivery this attempt belongs to (dlv_…).

# properties.deliveryAttempts.items.properties.attempt_number.description
1-based attempt counter within the delivery.

# properties.deliveryAttempts.items.properties.reason.description
Failure classification when not ok (e.g. 'http_5xx', 'timeout', 'no-ack').

# properties.deliveryAttempts.items.properties.requested_at.description
When the attempt started, in Unix epoch milliseconds (UTC).

# properties.deliveryAttempts.items.properties.created_at.description
When the audit row was recorded, in Unix epoch milliseconds (UTC).

# properties.opens.description
Recorded opens for an outbound message; empty when tracking was off or nothing was opened.

# properties.opens.items.description
One recorded open of an outbound message (present when open tracking was on). Machine opens (Apple MPP, Gmail proxy, scanners) are flagged so human counts stay meaningful.

# properties.attachments.description
Stored attachments with signed download URLs.

# properties.attachments.items.properties.url.description
Signed, time-limited download URL — valid 7 days, no credential needed.