Messages
Query messages processed by MXHook.
List Messages
GET /messages
Returns messages with optional pagination.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 50 | Maximum number of messages to return |
offset | integer | 0 | Number of messages to skip |
Response 200 OK
json
[
{
"id": "msg-123",
"message_id": "<abc123@example.com>",
"from": "sender@example.com",
"to": ["recipient@yourdomain.com"],
"subject": "Hello",
"received_at": "2025-03-19T12:00:00Z",
"state": "delivered"
}
]Get Message
GET /messages/{id}
Retrieve a single message by ID.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Message ID |
Response 200 OK
json
{
"id": "msg-123",
"message_id": "<abc123@example.com>",
"from": "sender@example.com",
"to": ["recipient@yourdomain.com"],
"subject": "Hello",
"received_at": "2025-03-19T12:00:00Z",
"state": "delivered"
}Errors
| Status | Reason |
|---|---|
401 | Invalid or missing API key |
404 | Message not found |
Message Object
| Field | Type | Description |
|---|---|---|
id | string | Internal message identifier |
message_id | string | Email Message-ID header value |
from | string | Sender address |
to | string[] | Recipient addresses |
subject | string | Email subject |
received_at | string (ISO 8601) | When the message was received |
state | string | Current lifecycle state |
Message States
| State | Description |
|---|---|
accepted | Received by SMTP server |
queued | Placed in processing queue |
parsed | Email parsed into structured data |
routed | Matched to a route |
delivered | Webhook delivery succeeded |
failed | Webhook delivery failed, retrying |
retried | Retry in progress |
dlq | All retries exhausted, in dead letter queue |