Email log

What happened to everything you sent, for 30 days.

Your email log lists every email you have sent through the API for 30 days, with what happened to it. The same list is in your workspace under Emails.

GET /v1/emails?limit=50&status=delivered&cursor=…
Authorization: Bearer hme_yourkeyid_yoursecret
{
  "emails": [
    {
      "messageId": "…",
      "at": 1756800000000,
      "from": "receipts@yourcompany.com.au",
      "to": "customer@example.com",
      "subject": "Your receipt",
      "category": "transactional",
      "status": "delivered",
      "lastEventAt": 1756800004000,
      "detail": null
    }
  ],
  "nextCursor": null,
  "retentionDays": 30
}

Statuses

StatusMeans
queuedaccepted, not yet sent
senthanded to the receiving server
deliveredthe receiving server accepted it
bouncedpermanently rejected — the address is now suppressed
complainedmarked as spam — the address is now suppressed
suppressednot sent, because the address was already suppressed
failedcould not be sent

detail carries the reason on a bounced, complained or failed row. It is the receiving server's own words, which is exactly what you want when a customer says they never got their receipt.

Paging

Pass nextCursor back as cursor to get older rows. When nextCursor is null you have reached the end.

curl "https://api.hamanimail.com/v1/emails?limit=100&cursor=$CURSOR" \
  -H "Authorization: Bearer hme_yourkeyid_yoursecret"

Filter with status= to fetch one kind — status=bounced is the query worth running weekly.

The 30 days is real

Rows older than 30 days are gone, not archived. If you need a longer history, store the events yourself: take the webhook stream, or page this list on a schedule, and write it to your own database. Many businesses need to prove they sent something months later — build that on your side, not ours.