API reference / Token auth
Messages
Read the message log — the Activity feed and Dev Inbox — and a per-message delivery timeline for end-to-end observability.
| Method | Path | Description |
|---|---|---|
| GET | /v1/messages | List recent messages (newest first). |
| GET | /v1/messages/{id} | Get one message with its rendered HTML/text bodies. |
| GET | /v1/messages/{id}/events | Get a message’s delivery timeline (the flagship observability view). |
GET /v1/messages
Token + X-MailStack-Org
Query params: test (Dev Inbox filter) and limit (1–200, default 50).
Response
[ { "id": "...", "toEmail": "user@example.com", "subject": "Welcome", "status": 3 } ] GET /v1/messages/{id}
Token + X-MailStack-Org
Get one message with its rendered HTML/text bodies.
Response
{ "message": { "id": "...", "status": 3 }, "htmlBody": "<p>...</p>", "textBody": "..." } GET /v1/messages/{id}/events
Token + X-MailStack-Org
Returns the ordered provider events for a message. Each event carries a type, an occurredAt timestamp, and metadata (clicked link, bounce subtype, user agent/IP). Event types are integer-encoded: Sent=0, Delivered=1, Bounce=2, Complaint=3, Open=4, Click=5, Reject=6, DeliveryDelay=7.
Response
[
{ "id": "...", "type": 0, "occurredAt": "2026-06-18T10:00:02Z", "metadata": null },
{ "id": "...", "type": 1, "occurredAt": "2026-06-18T10:00:05Z", "metadata": { "smtpResponse": "250 OK" } },
{ "id": "...", "type": 4, "occurredAt": "2026-06-18T10:14:31Z", "metadata": { "userAgent": "Mozilla/5.0" } }
] curl https://api.mailstack.voostack.com/v1/messages/8f3a1c2e-.../events \
-H "Authorization: Bearer <jwt>" \
-H "X-MailStack-Org: org_..."SDKs
Prefer a typed client? The Messages endpoints are covered by the official Node, .NET, Go, and Flutter/Dart SDKs.