Get Email Logs
curl --request GET \
--url https://api.thepurplebox.io/v1/emails/{email_id}/logs \
--header 'Authorization: Bearer <token>'{
"status": 200,
"message": "email logs retrieved successfully.",
"data": [
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "delivered",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 2.0.0 OK xxxxx 6a1803df08f44-882866ae38bsi47823636d6.1634 - gsmtp",
"code": "250",
"mx_hostname": "gmail-smtp-in.l.google.com",
"time": 1763491342,
"queued_at": "2025-11-18T18:42:23.494Z",
"recipient": "user@example.com",
"recipient_type": "to"
},
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "queued",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 Message queued as xxxxx",
"code": "250",
"mx_hostname": "",
"time": 1763491343,
"queued_at": "2025-11-18T18:42:23Z",
"recipient": "user@example.com",
"recipient_type": "to"
},
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "processing",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 2.0.0 Ok: queued as xxxxx",
"code": "250",
"mx_hostname": "",
"time": 1763491341,
"queued_at": "",
"recipient": "user@example.com",
"recipient_type": "to"
}
]
}
Emails
Get Email Logs
Retrieve delivery logs for a specific email, showing its journey through the sending process.
GET
/
v1
/
emails
/
{email_id}
/
logs
Get Email Logs
curl --request GET \
--url https://api.thepurplebox.io/v1/emails/{email_id}/logs \
--header 'Authorization: Bearer <token>'{
"status": 200,
"message": "email logs retrieved successfully.",
"data": [
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "delivered",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 2.0.0 OK xxxxx 6a1803df08f44-882866ae38bsi47823636d6.1634 - gsmtp",
"code": "250",
"mx_hostname": "gmail-smtp-in.l.google.com",
"time": 1763491342,
"queued_at": "2025-11-18T18:42:23.494Z",
"recipient": "user@example.com",
"recipient_type": "to"
},
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "queued",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 Message queued as xxxxx",
"code": "250",
"mx_hostname": "",
"time": 1763491343,
"queued_at": "2025-11-18T18:42:23Z",
"recipient": "user@example.com",
"recipient_type": "to"
},
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "processing",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 2.0.0 Ok: queued as xxxxx",
"code": "250",
"mx_hostname": "",
"time": 1763491341,
"queued_at": "",
"recipient": "user@example.com",
"recipient_type": "to"
}
]
}
Headers
application/jsonPath Parameters
The unique identifier of the email to retrieve logs for.
Response
HTTP status code. Returns
200 when logs are retrieved successfully.A human-readable message describing the result of the operation.
Array of log entries in chronological order, tracking the email’s delivery status.
Show properties
Show properties
The email identifier this log entry belongs to.
The team ID that owns this email.
Status at this point in delivery. Possible values:
processing, queued, delivered, failed, bounced, complaint.Sender email address.
Recipient email address for this log entry.
Email subject line.
SMTP server response message. Contains detailed information from the receiving mail server.
SMTP response code (e.g.,
250 for success, 550 for rejection).The MX hostname of the receiving mail server. Empty during initial processing stages.
Unix timestamp of when this log entry was created.
ISO 8601 timestamp when the email was queued at this stage. May be empty for initial processing.
The recipient email address.
Type of recipient. Possible values:
to, cc, bcc.{
"status": 200,
"message": "email logs retrieved successfully.",
"data": [
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "delivered",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 2.0.0 OK xxxxx 6a1803df08f44-882866ae38bsi47823636d6.1634 - gsmtp",
"code": "250",
"mx_hostname": "gmail-smtp-in.l.google.com",
"time": 1763491342,
"queued_at": "2025-11-18T18:42:23.494Z",
"recipient": "user@example.com",
"recipient_type": "to"
},
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "queued",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 Message queued as xxxxx",
"code": "250",
"mx_hostname": "",
"time": 1763491343,
"queued_at": "2025-11-18T18:42:23Z",
"recipient": "user@example.com",
"recipient_type": "to"
},
{
"email_id": "xxxxx",
"team_id": "xxxxx",
"status": "processing",
"from": "hello@yourdomain.com",
"to": "user@example.com",
"subject": "Test from http client",
"response": "250 2.0.0 Ok: queued as xxxxx",
"code": "250",
"mx_hostname": "",
"time": 1763491341,
"queued_at": "",
"recipient": "user@example.com",
"recipient_type": "to"
}
]
}
⌘I