Skip to main content

List Emails

Retrieve a paginated list of transactional emails sent by your organization, each with an aggregate per-status count.

Endpoint

GET /email

Query Parameters

ParameterTypeDefaultDescription
limitnumber20Items per page (min: 1, max: 100)
afterstringCursor — return items after this id (exclusive).
beforestringCursor — return items before this id (exclusive).

Results are returned newest first. See Pagination for cursor details.

Response

{
"object": "list",
"has_more": true,
"data": [
{
"id": "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
"from": "noreply@yourdomain.com",
"from_name": "My App",
"subject": "Welcome to our platform",
"category": "welcome",
"status": {
"sent": 1,
"delivered": 1,
"opened": 0,
"clicked": 0,
"bounced": 0,
"complained": 0,
"rejected": 0,
"unsubscribed": 0,
"render_failure": 0
},
"created_at": "2026-03-08T12:00:00.000Z"
}
]
}

Status Fields

Each field is a count of unique recipients that reached that status. Status values match the per-recipient values returned by GET /email/:id:

FieldDescription
sentMessages accepted by the mail provider
deliveredMessages confirmed delivered to the recipient's inbox
openedUnique opens tracked
clickedUnique recipients that clicked a tracked link
bouncedMessages that bounced (hard or soft)
complainedRecipients who marked the email as spam
rejectedMessages rejected by the mail provider before delivery
unsubscribedRecipients who unsubscribed via the email's unsubscribe link
render_failureTemplate rendering failed for the recipient
tip

The subject field returns null if the email content has been purged (content retention policy).


Examples

curl "https://api.arsel.sa/v1/email?limit=10" \
-H "Authorization: Bearer be_your_api_key"