Emails
Retrieve email events
Retrieve the ordered delivery timeline for a transactional message.
GET
/api/v1/emails/{messageId}/eventsOn this page
Authentication
Send a RouteKite API key as a Bearer token. This endpoint requires the email:read or email:send scope.
| Name | Type | Requirement | Description |
|---|---|---|---|
Authorization | string | Required | Bearer API key with the required workspace scope.Example: Bearer rk_your_key |
Path parameters
| Name | Type | Requirement | Description |
|---|---|---|---|
messageId | uuid | Required | The message whose timeline should be loaded.Example: 7dd5da7f-40b0-4c29-bb78-7e0d95ef9eb7 |
Response
| Name | Type | Requirement | Description |
|---|---|---|---|
object | string | Always | Always list. |
data | event[] | Always | Ordered events matching the message. |
id | uuid | Always | The immutable event identifier. |
event_type | string | Always | The recorded delivery event. |
state | enum | null | Always | The normalized message state associated with the event. |
occurred_at | date-time | Always | When the event occurred. |
has_more | boolean | Always | Whether another bounded request may be needed. |
Behavior
Events are returned oldest first and contain RouteKite-normalized state without exposing internal delivery payloads.
Errors
| Status | Code | What it means | What to do |
|---|---|---|---|
| 401 | UNAUTHORIZED | The key is invalid. | Check the Bearer header. |
| 403 | FORBIDDEN | The key cannot read events. | Use email:read or email:send. |
| 404 | NOT_FOUND | The message is unavailable in this workspace. | Check the ID and workspace. |
| 429 | RATE_LIMITED | Too many reads were requested. | Honor Retry-After before retrying. |
| 500 | INTERNAL_ERROR | Events could not be loaded. | Retry after a short delay. |