Delivery Logs
Delivery logs, available in the dashboard gives you visibility into every message sent through MessagePipe. This includes the status of the message, the provider used and timestamps. You can also use delivery log IDs to retry failed emails.
Get Delivery Logs
Retrieve logs with optional filtering by project, message type and delivery status:
GET /delivery-log?projectId={projectId}&messageType=email&status=failed&page=1&limit=20
Authorization: Bearer {your-jwt-token}
Query Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
projectId | No | - | Filter logs by a specific project |
messageType | No | - | Filter by channel: email, sms, app or push |
status | No | - | Filter by delivery status (see below) |
page | No | 1 | Page number for pagination |
limit | No | 50 | Items per page (max: 100) |
Delivery Statuses
| Status | Description |
|---|---|
pending | Queued, not yet attempted |
sent | Accepted by provider |
delivered | Confirmed delivered to recipient |
failed | All providers failed |
bounced | Rejected by recipient's server |
rejected | Rejected by the provider |
Example Response
{
"data": [
{
"id": "delivery-log-uuid",
"messageType": "email",
"recipient": "user@example.com",
"status": "delivered",
"provider": "sendgrid",
"templateId": "template-uuid",
"projectId": "project-uuid",
"createdAt": "2024-01-01T10:00:00Z"
}
],
"meta": {
"total": 100,
"page": 1,
"limit": 50,
"totalPages": 2,
"hasNextPage": true,
"hasPreviousPage": false
}
}
Retrying Failed Emails
Use the id from a delivery log to retry a failed email:
POST /email/retry
Content-Type: application/json
x-api-key: {your-api-key}
{
"deliveryLogId": "delivery-log-uuid"
}
See Sending Emails — Retrying Failed Emails for full details including bulk retry.
Analytics
For aggregated statistics (sent counts, failure rates, etc.) broken down by project or channel, see Analytics.