Get Delivery
Request, response and authentication details for your Mailat instance.
/api/v1/webhook-deliveries/{uuid}GetDelivery 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 GET "$MAILAT_BASE_URL/api/v1/webhook-deliveries/{uuid}" \
--header "Authorization: Bearer $MAILAT_TOKEN"Parameters
uuidstringrequiredResponses
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-RemainingintegerRemaining requests in this API key's current minute window (present for API-key authentication).
minimum: 0
application/json
responseobjectFields
codeintegerrequireddataobjectFields
attemptsarrayEach itemobjectFields · eventoutbox.Attempt
attemptinteger (int64)createdAtstring (date-time)durationMsinteger (int64)errorstringhttpStatusinteger (int64)replayinteger (int64)responseBodystringdeliveryall of · nullableVariant 1objectFields · eventoutbox.Delivery
attemptsinteger (int64)createdAtstring (date-time)errorstringeventIdstringhttpStatusinteger (int64)idstringnextAttemptAtstring (date-time)payloadall ofImmutable event body returned by delivery detail; omitted from the paginated list. Replay preserves this body and event ID.
Variant 1objectFields · eventoutbox.Envelope
createdAtstring (date-time)dataobjectEvent-specific fields. Mail events include messageUuid; additional fields depend on event type. Verify the signature over raw bytes before parsing.
Additional valuesany valueidstring (uuid)typestringAllowed: "email.received" | "email.sent" | "email.delivered" | "email.failed" | "email.unknown" | "email.bounced" | "email.complained" | "webhook.test"
versionstringAllowed: "1"
replayCountinteger (int64)statusstringtypestringmessagestringrequired400 · Invalid input
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired401 · Missing, expired or revoked authentication
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired403 · Insufficient permission
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired404 · Resource not found
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired409 · Conflict or changed idempotency payload
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired410 · Recovery cursor expired; resynchronize
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired429 · Rate limit exceeded; respect Retry-After
Header: Retry-AfterintegerSeconds until the next fixed-minute request window.
minimum: 1
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired500 · Internal failure; retain the idempotency key
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired