Accessing Email Logs via API
Query email logs and delivery events programmatically.
Use the email logs API to observe delivery and engagement from your application — the same data shown in the dashboard logs.
List email logs
curl -X GET https://notify.cx/api/public/v1/email_logs \
-H "x-api-key: your_api_key"
Filter and paginate
curl -X GET "https://notify.cx/api/public/v1/email_logs?eventType=Delivery&from=2025-04-01T00:00:00Z&to=2025-04-10T23:59:59Z&page=2&limit=50" \
-H "x-api-key: your_api_key"
| Parameter | Description | Example |
|---|---|---|
eventType | Filter by event type | Delivery, Open, Click, etc. |
from | Start date (ISO 8601) | 2025-04-01T00:00:00Z |
to | End date (ISO 8601) | 2025-04-10T23:59:59Z |
page | Page number | 1, 2 |
limit | Results per page (max 100) | 50 |
Response
{
"success": true,
"data": [
{
"messageId": "SOME-MESSAGE-ID",
"sentAt": "2025-04-10T12:00:00Z",
"events": [
{
"eventType": "Click",
"timestamp": "2025-04-10T12:05:00Z",
"source": "SOME-MESSAGE-ID",
"destination": "recipient@example.com",
"processingTimeMillis": 1234,
"clickLink": "https://example.com/click"
},
{
"eventType": "Open",
"timestamp": "2025-04-10T12:03:00Z",
"source": "SOME-MESSAGE-ID",
"destination": "recipient@example.com",
"processingTimeMillis": 987,
"openTimestamp": "2025-04-10T12:03:00Z"
}
]
}
],
"pagination": {
"page": 1,
"limit": 20,
"totalItems": 45,
"totalPages": 3
}
}
Log retention
Free plan API queries return logs from the last 48 hours only. Pro and Scale plans return permanent history. See Logs & Monitoring.
Event types
| Event Type | Description |
|---|---|
Send | Email accepted by Notify |
Delivery | Delivered to recipient's mail server |
Open | Recipient opened the email |
Click | Recipient clicked a link |
Bounce | Delivery failed |
Complaint | Marked as spam |
DeliveryDelay | Delivery temporarily delayed |
Error responses
| Error Code | Description |
|---|---|
API_KEY_MISSING | No x-api-key header provided |
INVALID_API_KEY | Invalid or expired API key |
INVALID_REQUEST_DATA | Invalid query parameters |
INTERNAL_SERVER_ERROR | Unexpected server error |
Next steps
- Webhooks & Notifications — real-time events
- Email Logs API Reference
- Troubleshooting