Your AWS SES. Your dedicated Mailat. See how it works
Documentation

List Deliveries

Request, response and authentication details for your Mailat instance.

← All API operations
GET/api/v1/webhook-deliveries

ListDeliveries User-owned subscriptions. Secret returned only on create/rotate. Events: version,id,type,createdAt,data.messageUuid (+data.identityUuid where available). Verify X-Webhook-Signature t=<unix>,v1=<HMAC-SHA256(timestamp+'.'+rawBody)> with 5-minute timestamp tolerance; deduplicate id. 8 delivery attempts, then dead letter; replay keeps event id. Tests return real HTTP outcome. Key revocation does not delete subscriptions; disabled owners pause delivery. Public HTTPS only; redirects are blocked.

Authentication & compatibility

Use a scoped bearer API key with webhooks:manage. The key is bound to its user and organization.

Mailat application, account or shared resource API. Individual operations can require configured external services; this label is not a runtime-readiness guarantee.

Contract 2026-10-04. Your running instance's /api/v1/openapi.json is authoritative for its deployed release.

Request

Set MAILAT_BASE_URL to your instance origin (without /api/v1) and MAILAT_TOKEN to an appropriate credential. Replace path placeholders and example data before running. These examples do not execute in this page.

cURL request
curl --request GET "$MAILAT_BASE_URL/api/v1/webhook-deliveries" \
  --header "Authorization: Bearer $MAILAT_TOKEN"

Parameters

query
pageinteger

Default: 1

minimum: 1

query
pageSizeinteger

Values outside 1–100 use 50.

Default: 50

minimum: 1 · maximum: 100

query
statusstring

Optional exact delivery status filter; unmatched values return an empty collection.

Responses

HTTP statuses and body shapes below come from the pinned contract. Not every shared error applies to every request. Retain the original idempotency key when retrying a send.

200 · Success
Header: X-RateLimit-Remaininginteger

Remaining requests in this API key's current minute window (present for API-key authentication).

minimum: 0

application/json

responseobject
Fields
codeintegerrequired
dataall of · nullable
Variant 1object
Fields · eventoutbox.DeliveryPage
deliveriesarray
Each itemobject
Fields · eventoutbox.Delivery
attemptsinteger (int64)
createdAtstring (date-time)
errorstring
eventIdstring
httpStatusinteger (int64)
idstring
nextAttemptAtstring (date-time)
payloadall of

Immutable event body returned by delivery detail; omitted from the paginated list. Replay preserves this body and event ID.

Variant 1object
Fields · eventoutbox.Envelope
createdAtstring (date-time)
dataobject

Event-specific fields. Mail events include messageUuid; additional fields depend on event type. Verify the signature over raw bytes before parsing.

Additional valuesany value
idstring (uuid)
typestring

Allowed: "email.received" | "email.sent" | "email.delivered" | "email.failed" | "email.unknown" | "email.bounced" | "email.complained" | "webhook.test"

versionstring

Allowed: "1"

replayCountinteger (int64)
statusstring
typestring
pageinteger (int64)
pageSizeinteger (int64)
totalinteger (int64)
messagestringrequired
400 · Invalid input

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
401 · Missing, expired or revoked authentication

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
403 · Insufficient permission

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
404 · Resource not found

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
409 · Conflict or changed idempotency payload

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
410 · Recovery cursor expired; resynchronize

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
429 · Rate limit exceeded; respect Retry-After
Header: Retry-Afterinteger

Seconds until the next fixed-minute request window.

minimum: 1

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
500 · Internal failure; retain the idempotency key

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
Download the full OpenAPI contract