Emails
Retrieve an email
Retrieve the current normalized state and delivery timestamps for a message.
GET
/api/v1/emails/{messageId}On 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 ID returned by the send endpoint.Example: 7dd5da7f-40b0-4c29-bb78-7e0d95ef9eb7 |
Response
| Name | Type | Requirement | Description |
|---|---|---|---|
id | uuid | Always | The RouteKite message identifier. |
state | enum | Always | The normalized delivery state. |
purpose | enum | Always | Transactional for public API messages. |
from_email | Always | The Sending Address used for delivery. | |
from_name | string | null | Always | The configured sender name. |
reply_to_email | email | null | Always | The per-message reply address, or null when the Sending Address default is used. |
to_email | Always | The recipient address. | |
subject | string | Always | The submitted subject. |
queued_at | date-time | null | Always | When delivery processing began. |
submitted_at | date-time | null | Always | When the receiving delivery network accepted the message. |
delivered_at | date-time | null | Always | When delivery was confirmed. |
terminal_at | date-time | null | Always | When a final outcome was recorded. |
failure_code | string | null | Always | A stable failure category when available. |
failure_message | string | null | Always | A readable delivery explanation when available. |
created_at | date-time | Always | When the message was created. |
Behavior
The message must belong to the key's workspace. email:read or email:send can retrieve it.
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 status. | Use email:read or email:send. |
| 404 | NOT_FOUND | The message is unavailable in this workspace. | Check the ID and workspace. |
| 500 | INTERNAL_ERROR | Status could not be loaded. | Retry after a short delay. |