Skip to main content

Delivery Attempts API

An attempt is one delivery execution — Zen Mesh's attempt to deliver an event to a target.

Status: WIRED_SANDBOX. This page describes the current contract surface and known non-claims. It is not a production-live availability claim.

Audience

Customer / developer monitoring delivery status.

Base path

/v1/tenants/{tenant_id}/deliveries

Endpoint table

MethodPathDescriptionRead/WriteStatusAuth/scopesIdempotencyOpenAPI
GET/tenants/{tid}/deliveriesList delivery attemptsReadWIRED_SANDBOXread:deliveriesNot requiredPartial (zen-back)
GET/tenants/{tid}/deliveries/{did}Get delivery detailsReadWIRED_SANDBOXread:deliveriesNot requiredPartial (zen-back)

Read/write status

OperationReadWriteStatus
List delivery attemptsYesWIRED_SANDBOX
Get delivery detailsYesWIRED_SANDBOX

Delivery Attempts API is read-only for public customer use. Delivery attempts are created by the runtime/sandbox delivery path, not by direct customer write. Mutating delivery state (retry, replay) is handled through the Retry API and Replay API.

See Write Safety Model for details.

Query parameters

ParameterTypeDescription
statusstringFilter by status: delivered, failed, retrying, pending
destination_idstringFilter by target/destination
event_idstringFilter by event
limitintegerMax results per page (default 20, max 100)
cursorstringCursor from previous response for pagination

List example

curl -sS -H "Authorization: Bearer <api_key>" \
"https://api.zen-mesh.io/v1/tenants/<tenant_id>/deliveries?limit=10"

List failed example

curl -sS -H "Authorization: Bearer <api_key>" \
"https://api.zen-mesh.io/v1/tenants/<tenant_id>/deliveries?status=failed&limit=10"

Response fields

FieldTypeDescription
idstringDelivery attempt identifier
event_idstringSource event identifier
destination_idstringTarget/destination identifier
statusstringCurrent status
response_codeintegerHTTP response code from target
attempt_numberintegerRetry attempt count
attempted_atdatetimeWhen the attempt occurred
error_messagestringError detail on failure
evidence_idstringCorrelation ID for evidence chain

Status values

StatusDescription
deliveredSuccessfully delivered to target
failedDelivery failed
retryingAutomatic retry in progress
pendingQueued for delivery

Error examples

400 Invalid status filter

{
"type": "https://api.zen-mesh.io/errors/validation-error",
"title": "Validation Error",
"status": 400,
"detail": "status: 'invalid_status' is not a valid status value",
"instance": "req_abc123"
}

404 Not found

{
"type": "https://api.zen-mesh.io/errors/not-found",
"title": "Not Found",
"status": 404,
"detail": "Delivery dlv_abc123 not found.",
"instance": "req_abc123"
}

Pagination

List deliveries supports cursor-based pagination with limit and cursor parameters. The response includes next_cursor when more results are available. See Pagination and Filtering.

Auth

Bearer JWT or API key in Authorization header. Tenant-scoped via path parameter. See Authentication for scope model.

OpenAPI coverage

Partially covered in zen-back.v1.yaml. See OpenAPI Spec Index.

UI mapping

Traffic → Deliveries, Traffic → Attempts, Traffic → Traces

Non-claims

  • WIRED_SANDBOX: implemented in local/sandbox runtime. Not production-live.
  • Delivery attempt history is subject to retention limits per plan.
  • Status values may expand as runtime matures.
  • Delivery attempts are read-only; use the Retry API to re-attempt failed deliveries.