curl --request GET \
--url https://app.sendmux.ai/api/v1/emails/logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.sendmux.ai/api/v1/emails/logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.sendmux.ai/api/v1/emails/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.sendmux.ai/api/v1/emails/logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"ok": true,
"data": [
{
"accepted_recipient_count": 25,
"attempts": 123,
"created_at": "<string>",
"from_email": "<string>",
"id": "dlog_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"message_id": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"recipient_count": 25,
"rejected_recipient_count": 25,
"sent_at": "<string>",
"sent_from_email": "<string>",
"size_bytes": 123,
"status_reason": "<string>",
"subject": "<string>",
"to_email": "<string>"
}
],
"pagination": {
"has_more": true,
"next_cursor": "<string>"
}
}{
"error": {
"code": "invalid_parameter",
"message": "<string>",
"retryable": false,
"doc_url": "<string>",
"errors": [
{
"code": "invalid_string",
"field": "recipient.email",
"message": "<string>"
}
],
"param": "<string>"
},
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"ok": false
}{
"error": {
"code": "invalid_parameter",
"message": "<string>",
"retryable": false,
"doc_url": "<string>",
"errors": [
{
"code": "invalid_string",
"field": "recipient.email",
"message": "<string>"
}
],
"param": "<string>"
},
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"ok": false
}List delivery logs
Returns paginated delivery logs with cursor-based pagination and filters.
curl --request GET \
--url https://app.sendmux.ai/api/v1/emails/logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.sendmux.ai/api/v1/emails/logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.sendmux.ai/api/v1/emails/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.sendmux.ai/api/v1/emails/logs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"ok": true,
"data": [
{
"accepted_recipient_count": 25,
"attempts": 123,
"created_at": "<string>",
"from_email": "<string>",
"id": "dlog_clxxxxxxxxxxxxxxxxxxxxxxxxx",
"message_id": "<string>",
"provider_id": "<string>",
"provider_name": "<string>",
"recipient_count": 25,
"rejected_recipient_count": 25,
"sent_at": "<string>",
"sent_from_email": "<string>",
"size_bytes": 123,
"status_reason": "<string>",
"subject": "<string>",
"to_email": "<string>"
}
],
"pagination": {
"has_more": true,
"next_cursor": "<string>"
}
}{
"error": {
"code": "invalid_parameter",
"message": "<string>",
"retryable": false,
"doc_url": "<string>",
"errors": [
{
"code": "invalid_string",
"field": "recipient.email",
"message": "<string>"
}
],
"param": "<string>"
},
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"ok": false
}{
"error": {
"code": "invalid_parameter",
"message": "<string>",
"retryable": false,
"doc_url": "<string>",
"errors": [
{
"code": "invalid_string",
"field": "recipient.email",
"message": "<string>"
}
],
"param": "<string>"
},
"meta": {
"request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"ok": false
}Authorizations
Sendmux API key. Use a root API key for Management API routes, or a mailbox credential for Mailbox API routes. Obtain keys from the dashboard under API Keys.
Query Parameters
Max results (default 25)
1 <= x <= 100Cursor from previous page
Filter by delivery status.
pending, sent, failed, rejected ISO 8601 start date. Date-only values start at 00:00 UTC.
ISO 8601 end date. Date-only values include the full UTC day.
Filter by provider publicId
Search to_email, from_email, sent_from_email, subject, message_id
Response
Delivery log list
true Hide child attributes
Hide child attributes
Recipient occurrences accepted by the provider, or null when no recipient snapshot exists
0 <= x <= 50ISO 8601 creation timestamp
Log public ID
"dlog_clxxxxxxxxxxxxxxxxxxxxxxxxx"
Email Message-ID header
Provider public ID
Provider display name
Total recipient occurrences, or null when no recipient snapshot exists
0 <= x <= 50Recipient occurrences rejected by the provider, or null when no recipient snapshot exists
0 <= x <= 50ISO 8601 timestamp when email was sent
The actual from address used for delivery after transformation. NULL if no transformation occurred or for older log entries.
pending, sent, failed, rejected Was this page helpful?