List messages you have sent
Newest first, cursor-paginated. Filters narrow the list; they do not change the shape of what comes back.
Try it — GET /messages
Kept for this tab only — it disappears when you close it, and it is never sent anywhere except as the Authorization header on the call below.
Authorization
bearerAuth messages:readAuthorization: Bearer sk_live_.... Keys in the query string or the
request body are refused — a URL is logged by every proxy it passes,
and that is how customer keys leak.
A key carries scopes. A call outside them answers 403 with
insufficient_scope and names the scope it wanted.
In: header
Scope: messages:read
Query Parameters
The meta.next_cursor from the previous page.
Rows per page. Defaults to 20, capped at 100.
1 <= value <= 100Only messages on this channel.
Value in
- "email"
- "sms"
- "whatsapp"
Only messages in this state.
Value in
- "queued"
- "scheduled"
- "sending"
- "sent"
- "delivered"
- "opened"
- "clicked"
- "replied"
- "bounced"
- "failed"
- "cancelled"
date-timedate-timeResponse Body
application/json
application/json
application/json
application/json
application/json
curl -X GET https://app.sendkuy.com/api/v1/messages \ -H "Authorization: Bearer sk_live_YOUR_API_KEY"{ "meta": { "has_more": true, "next_cursor": "string" }, "data": [ { "object": "message", "id": "msg_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3", "channel": "email", "status": "queued", "to": "+6281234567890", "body": "string", "subject": "string", "contact_id": "con_9cBe3A1H-SLhW5fONWZ32wb-IIio5Ts3", "campaign_id": "string", "scheduled_at": "2019-08-24T14:15:22Z", "sent_at": "2019-08-24T14:15:22Z", "error": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } ]}Automation
Workflows that run on their own — what starts them, what they can do, and how to see what happened.
Send one message to one or more recipients POST
One call, one body, one channel, many recipients — and one message object back per recipient. A message is one row of delivery: one person, one status. Sending to three numbers returns three objects. Recipients must be in E.164 form, with the +. A local number is refused rather than guessed: guessing the wrong country sends a stranger a message and bills you for it.