Skip to content

GET /webhook-deliveries

The delivery log for your account’s webhooks: every forwarded event, its state, and your endpoint’s response.

Scope webhook
Auth Authorization: Bearer mk_live_…

Only deliveries for a destination on a currently usable rental (active/past_due) belonging to your account are returned. A previous lease’s deliveries — even if you rent the same number again — never appear here; deleting a destination deletes its delivery history.

Name Type Default Notes
deviceId string all devices Blank is ignored
limit integer 25 Clamped to 1–100. A non-integer is ignored and the default applies.
offset integer 0 Negative is treated as 0
Terminal window
curl "https://app.maukirim.com/api/v1/webhook-deliveries?deviceId=gwd_…&limit=25&offset=0" \
-H "Authorization: Bearer mk_live_…"

200

{
"ok": true,
"deliveries": [{
"id": "whd_…", "deviceId": "gwd_…", "event": "message",
"state": "delivered", "attempts": 1, "responseStatus": 200,
"errorCode": null, "payload": { "…": "sanitized event body" },
"createdAt": "2026-09-28T13:05:00.000Z", "completedAt": "2026-09-28T13:05:00.412Z"
}],
"hasMore": false
}

Newest first. hasMore is true when the number of rows returned equals the effective limit, so a full page means “ask for the next offset”.

Field Meaning
state queued, delivered, failed or exhausted
attempts Attempts used so far, out of 5
responseStatus The HTTP status your endpoint returned, when it answered
errorCode endpoint_unreachable, endpoint_rejected, webhook_inactive, webhook_secret_unreadable
payload The event body, with anything credential-shaped replaced by "[redacted]" when it was stored

A delivery is exhausted when it used all 5 attempts, or immediately when the webhook is inactive.

HTTP Code
401 api_key_invalid / api_key_revoked / api_key_expired
403 api_key_scope_denied (needs webhook)
500 server_error

Query values are never rejected: a malformed limit or offset is ignored and the default is used.