Comms
List messages
AuthorizationBearer <token>
Present an API key (sb_live_… / sb_test_…), an OAuth2 access token, or a static token as a Bearer credential. The operator is implied by the credential; it is never in the path. Only a SHA-256 hash of an API key is stored server-side.
In: header
Query Parameters
cursor?string
Opaque pagination cursor from meta.cursor.next of the previous page. Do not construct or parse it.
limit?integer
Page size. Values above the maximum are clamped.
Range
1 <= value <= 100Default
25contact_id?string
Filter by contact.
Format
uuidstatus?string
Filter by status.
Value in
- "queued"
- "sending"
- "sent"
- "delivered"
- "bounced"
- "failed"
- "complained"
channel?string
Filter by channel.
Value in
- "email"
- "sms"
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/messages"{ "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "object": "message", "contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598", "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc", "channel": "email", "provider": "resend", "direction": "outbound", "to_address": "string", "from_address": "string", "subject": "string", "body": "string", "status": "queued", "provider_message_ref": "string", "sent_at": "2019-08-24T14:15:22Z", "delivered_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } ], "meta": { "limit": 0, "cursor": { "next": "string", "has_more": true } }}{ "error": { "code": "unauthorized", "message": "Missing or invalid credential." }}{ "error": { "code": "insufficient_scope", "message": "The credential lacks a scope required by this endpoint." }}{ "error": { "code": "rate_limited", "message": "Rate limit exceeded. Retry after 7s." }}{ "error": { "code": "validation_error", "message": "string", "details": [ { "field": "string", "issue": "string" } ] }}