Get Email
Retrieve detailed delivery status for a specific email, including per-recipient tracking.
Endpoint
GET /email/:id
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The email ID returned from POST /email/send |
Response
{
"id": "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
"from": "noreply@yourdomain.com",
"from_name": "My App",
"to": [
{
"email": "user@example.com",
"status": "delivered",
"timestamp": "2026-03-08T12:00:05.000Z"
},
{
"email": "other@example.com",
"status": "bounced",
"timestamp": "2026-03-08T12:00:03.000Z"
}
],
"subject": "Welcome to our platform",
"html": "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
"text": null,
"reply_to": null,
"category": "welcome",
"attachments": [
{
"filename": "guide.pdf",
"size": 204800,
"content_type": "application/pdf"
}
],
"created_at": "2026-03-08T12:00:00.000Z"
}
Recipient Status Values
| Status | Description |
|---|---|
sent | Accepted by the mail provider, delivery pending |
delivered | Confirmed delivered to the recipient's inbox |
opened | Recipient opened the email |
clicked | Recipient clicked a link in the email |
bounced | Delivery failed (address doesn't exist or mailbox full) |
complained | Recipient reported the email as spam |
rejected | The mail provider rejected the message |
unsubscribed | Recipient unsubscribed via the email's unsubscribe link |
render_failure | The email template failed to render |
Examples
- cURL
- JavaScript
- Python
- C#
- PHP
curl "https://api.arsel.sa/v1/email/01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a" \
-H "Authorization: Bearer be_your_api_key"
const emailId = "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a";
const response = await fetch(`https://api.arsel.sa/v1/email/${emailId}`, {
headers: { Authorization: "Bearer be_your_api_key" },
});
const email = await response.json();
for (const recipient of email.to) {
console.log(`${recipient.email}: ${recipient.status}`);
}
import requests
email_id = "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a"
response = requests.get(
f"https://api.arsel.sa/v1/email/{email_id}",
headers={"Authorization": "Bearer be_your_api_key"},
)
email = response.json()
for recipient in email["to"]:
print(f"{recipient['email']}: {recipient['status']}")
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer be_your_api_key");
var emailId = "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a";
var response = await client.GetAsync($"https://api.arsel.sa/v1/email/{emailId}");
var json = await response.Content.ReadAsStringAsync();
Console.WriteLine(json);
<?php
$emailId = "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a";
$ch = curl_init("https://api.arsel.sa/v1/email/{$emailId}");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer be_your_api_key"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$email = json_decode($response, true);
foreach ($email["to"] as $recipient) {
echo "{$recipient['email']}: {$recipient['status']}\n";
}
curl_close($ch);
Error Responses
- 404 Not Found
{
"status_code": 404,
"name": "not_found",
"message": "Email not found"
}