A 202 from the send endpoint confirms queueing only. Delivery then runs asynchronously. Use this endpoint to check the state of a message, including per-recipient progress for multi-recipient sends.
Endpoint and headers
GET https://email.useinsider.com/mail/v2/messages/{message_id}
Header | Value | Purpose |
|---|---|---|
X-INS-AUTH-KEY | API token, in INS.{id}.{secret} format | Authentication. The partner is implicit; a message_id belonging to another partner returns 404. |
Request parameter
Below are the parameters required for the request.
Parameter | Description | Data type | Required |
|---|---|---|---|
message_id | The ID returned by the send endpoint. | String (UUID) | Yes |
Sample responses
The aggregate status is pending (all recipients pending), partial (some sent), or sent (all sent). Per-recipient status is pending or sent; the email is omitted when the recipient was sent by UUID only.
Mid-delivery, some delivered
{
"message_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "partial",
"submitted_at": 1700000000,
"completed_at": null,
"recipient_count": 3,
"summary": {
"pending": 1,
"sent": 2,
"dropped": 0
},
"recipients": [
{
"email": "alice@example.com",
"status": "sent",
"last_updated": 1700000100
},
{
"email": "bob@example.com",
"status": "sent",
"last_updated": 1700000105
},
{
"status": "pending",
"last_updated": 1700000000
}
]
}Finished, all delivered
{
"message_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "sent",
"submitted_at": 1700000000,
"completed_at": 1700000160,
"recipient_count": 3,
"summary": {
"pending": 0,
"sent": 3,
"dropped": 0
}
}Keep in mind
Poll periodically until the status is sent or completed_at is set. Timestamps are Unix seconds; completed_at stays null until every recipient reaches a terminal state.
Status is available for 2 days after submission; older IDs return 404.
The rate limit is 1000 requests per minute per partner.
For status codes, refer to the Error Codes.