Get one message

Search Documentation

Search across all developer documentation

messages

Get one message

GET /v1/messages/{id}
Auth required api.messages.view

Returns the aggregated detail for a single message (the same V1Message projection as the list endpoint). Lookup is by the SES-issued message id, not an internal UUID. Cross-org lookups and unknown ids both return 404 not_found — no information leak about whether a message exists in another org. Detail lookups go further back than your plan's analytics-retention window: up to 365 days of message detail is kept regardless of plan tier. Very old ids will eventually 404 once they fall outside that window.

Path parameters

id string required

SES message id (the SES-issued string, not a UUID).

Responses

Errors follow the RFC 7807 problem format — see the error reference.

200 Single-message detail application/json
id string required
channel string optional
template string optional
from string required
to string required

The recipient's full email address, in the clear. It is never masked or truncated, and api.messages.view alone is enough to read it — api.messages.unmask_recipients gates searching by a recipient, not seeing one. This field is personal data.

subject string optional
sent_at string<date-time> required
status string required
last_event_at string<date-time> optional
401 Missing, malformed, or unknown API key application/problem+json
403 Key lacks the required scope or plan limit violated application/problem+json
404 Resource not found application/problem+json
429 Per-org rate limit exceeded application/problem+json
500 Unexpected server-side failure. The code is internal_error. The request_id field can be quoted to SendOps support to investigate. application/problem+json