Request
Bearer <api_key>Number of messages to return. Maximum
200.Number of messages to skip. Use with
limit to paginate.Filter by message direction.
| Value | Description |
|---|---|
OUTBOUND | Messages sent by your platform to a user |
INBOUND | Messages sent by a user to your platform (RCS replies, inbound SMS) |
Filter by current delivery status.
| Value | Meaning |
|---|---|
QUEUED | Accepted, not yet dispatched |
SENT | Dispatched to the carrier / network |
DELIVERED | Confirmed on the recipient’s device |
READ | User opened the message |
CLICKED | Link in the message was clicked (email) |
BOUNCED | Hard or soft bounce (email) |
FAILED | Permanent delivery failure |
UNSUBSCRIBED | One-click unsubscribe processed (email) |
Filter to a specific channel (
ch_ prefixed ID). See Identifiers.Filter to messages for a specific contact.
Filter to messages sent as part of a specific campaign.
Filter by message type:
MESSAGE, CONVERSATION, or NEWSLETTER.ISO 8601 start of the date range (inclusive). Example:
2026-03-01T00:00:00Z.ISO 8601 end of the date range (inclusive). Example:
2026-03-31T23:59:59Z.Response
- 200 OK
- 400 Bad Request
Message ID. Use with
GET /v1/messages/{id} to fetch the full content and delivery timeline.OUTBOUND for sends you initiated; INBOUND for user replies and incoming SMS.Shape of the message content:
TEXT, TEMPLATE, MEDIA, or INTERACTIVE (rich card / carousel).Settled cost in EUR as a decimal string (e.g.
"0.0800"). null for inbound messages (not billed). Returned as a string to preserve decimal precision — unlike the numeric hold_amount / message_price fields in the send response.Timestamp the user read the message.
null if no read receipt was received.Total matching messages across all pages.