Skip to content

GET /v1/watches/{id}/deliveries

Call GET /v1/watches/{id}/deliveries
Price free
Scope watches:manage
Operation id listWatchDeliveries

Delivery attempts for one watch, newest first, with status, attempts and the last response code. Use it to debug your endpoint or to replay missed events by id. Free. Scope: watches:manage.

Copy it as curl. Set VERDICT_API_KEY first; uuidgen makes a fresh Idempotency-Key.

Request
curl -X GET 'https://api.askverdict.io/v1/watches/wch_01JC3Z4Y8R9K2M5N7P1Q3S5T7V/deliveries' \
-H "Authorization: Bearer $VERDICT_API_KEY"

200: A page of deliveries.

200 response
{
"data": [
{
"id": "dlv_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"watch_id": "wch_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"event_id": "evt_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"decision_id": "dec_01JC3Z4Y8R9K2M5N7P1Q3S5T7V",
"status": "delivered",
"attempts": 1,
"last_attempt_at": "2026-11-07T15:00:04Z",
"last_response_status": 200,
"next_attempt_at": null,
"delivered_at": "2026-11-07T15:00:04Z",
"created_at": "2026-11-07T15:00:03Z"
}
],
"next_cursor": null,
"has_more": false
}
Name In Type Required Description
id path string yes The watch id.
cursor query string no Opaque cursor from the next_cursor of the previous page. Omit it for the first page.
limit query integer no Page size, 1 to 200. Default 50.
status query enum: “pending”, “retrying”, “delivered”, “failed” no Only deliveries with this status.
x-verdict-version header string no API version to use, a date. Defaults to the version current when the key was created. The current version is 2026-11-01.
Field Type Required Description
data array of Delivery yes Deliveries, newest first.
data[].id string yes The delivery id; also the id of the delivered payload.
data[].watch_id string yes The watch.
data[].event_id string yes The delivered event.
data[].decision_id string or null yes The score_signal decision behind it.
data[].status enum: “pending”, “retrying”, “delivered”, “failed” yes Delivery status.
data[].attempts integer yes Attempts so far.
data[].last_attempt_at string or null (date-time) yes Time of the last attempt.
data[].last_response_status integer or null yes HTTP status of the last attempt, if a response arrived.
data[].next_attempt_at string or null (date-time) yes Time of the next retry, while retrying.
data[].delivered_at string or null (date-time) yes When a 2xx was received.
data[].created_at string (date-time) yes When the delivery was queued.
next_cursor string or null yes Pass as cursor to fetch the next page. null when this is the last page.
has_more boolean yes Whether another page follows.

Errors are RFC 9457 problem details and are never billed. Branch on type. See Errors.

Status Meaning
400 Invalid request: malformed JSON, an unknown field, a failed constraint or a size limit (invalid_request).
401 Missing, malformed, revoked or expired API key, or a bad webhook signature (unauthorized).
403 The key lacks the scope this operation needs (forbidden_scope).
404 The resource does not exist in this organization (not_found).
429 Rate limited (rate_limited). Wait Retry-After seconds.
500 Unexpected server error (internal). Not billed; retry with the same Idempotency-Key.

Open the interactive reference to send this request from the browser. The full document is at /openapi.json.