Skip to main content

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

ParameterRequiredDefaultDescription
projectIdNo-Filter logs by a specific project
messageTypeNo-Filter by channel: email, sms, app or push
statusNo-Filter by delivery status (see below)
pageNo1Page number for pagination
limitNo50Items per page (max: 100)

Delivery Statuses

StatusDescription
pendingQueued, not yet attempted
sentAccepted by provider
deliveredConfirmed delivered to recipient
failedAll providers failed
bouncedRejected by recipient's server
rejectedRejected 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.