Skip to content

Sending

Retrieve, list, reschedule, and cancel emails

Look up what you sent, and change your mind about what hasn't gone yet.

Retrieve an email

GET/emails/4ef9a417-02e9-4d39-ad75-9611e0fcc33c
Request
curl https://api.chebu.io/emails/4ef9a417-02e9-4d39-ad75-9611e0fcc33c \
  -H "Authorization: Bearer $CHEBU_API_KEY"
JSON

Events

last_event is the latest thing that happened to the email:

ValueMeaning
queuedAccepted and waiting to send.
scheduledWaiting for its scheduled_at time.
sentHanded to the sending network.
deliveredAccepted by the recipient's server.
delivery_delayedDelivery failed for now and is being retried.
bouncedRejected for good by the recipient's server.
complainedMarked as spam by the recipient.
openedOpened, with open tracking on.
clickedA link was clicked, with click tracking on.
failedCouldn't be sent.
canceledCanceled before it was sent.
suppressedSkipped because the address is suppressed.

List emails

Newest first. limit is 1 to 100 (default 20). To page, pass the last id you saw as after for older emails, or the first as before for newer ones. has_more says whether there's another page. List items leave html and text as null; fetch an email by ID to read its body.

GET/emails
Request
curl https://api.chebu.io/emails?limit=20 \
  -H "Authorization: Bearer $CHEBU_API_KEY"
JSON

Reschedule an email

Only while the email is still scheduled. scheduled_at takes the same formats as when sending.

PATCH/emails/4ef9a417-02e9-4d39-ad75-9611e0fcc33c
Request
curl -X PATCH https://api.chebu.io/emails/4ef9a417-02e9-4d39-ad75-9611e0fcc33c \
  -H "Authorization: Bearer $CHEBU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "scheduled_at": "2026-10-01T09:00:00Z" }'
JSON

Cancel an email

Works while the email is scheduled or still queued. Its last_event becomes canceled.

POST/emails/4ef9a417-02e9-4d39-ad75-9611e0fcc33c/cancel
Request
curl -X POST https://api.chebu.io/emails/4ef9a417-02e9-4d39-ad75-9611e0fcc33c/cancel \
  -H "Authorization: Bearer $CHEBU_API_KEY"
JSON