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 attemptsYes—WIRED_SANDBOX
Get delivery detailsYes—WIRED_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.