API referenceWebhooks

List a webhook's recent delivery attempts

Returns the 50 most recent delivery attempts for this endpoint, newest first, as an unpaginated list.

Endpoint
GET https://api.dairo.app/v1/webhooks/{webhook}/deliveries

Returns the 50 most recent delivery attempts for this endpoint, newest first, as an unpaginated list. Each row reports eventId, eventType, status (pending, delivered, failed, or exhausted), attempts, lastStatusCode, error, nextRetryAt (set only while status is failed), deliveredAt, and redrivable. lastStatusCode is the coarse HTTP status class the endpoint returned (200, 300, 400, or 500), not its precise code. A failed delivery still has automatic retries remaining, while an exhausted one has used them all and can be redriven manually; the redrivable flag tells you which rows a redrive will accept. Requires the webhooks:read scope.

Scope: webhooks:read. Send the API key as a bearer token; Scopes lists what each one reaches.

Request

cURL
curl "https://api.dairo.app/v1/webhooks/webhook/deliveries" \
  -H "Authorization: Bearer $DAIRO_API_KEY"

Path parameters

NameTypeRequiredDescription
webhookstringyesThe webhook's ID.

Response

200 Success. Body: application/json, WebhookDeliveryListResponse.

FieldTypeRequiredDescription
object"list"yes
dataarray of WebhookDeliveryyes
paginationPaginationyes
200
{
  "object": "list",
  "data": [
    {
      "object": "webhook.delivery",
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "eventId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "eventType": "string",
      "status": "string",
      "attempts": 0,
      "lastStatusCode": null,
      "error": null,
      "nextRetryAt": "2026-10-19T09:30:00Z",
      "deliveredAt": "2026-10-19T09:30:00Z",
      "redrivable": true,
      "createdAt": "2026-10-19T09:30:00Z",
      "updatedAt": "2026-10-19T09:30:00Z"
    }
  ],
  "pagination": {
    "nextCursor": "string",
    "hasMore": true
  }
}

Errors

Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.

StatusMeaning
400The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch).
401The API key is missing or invalid.
403The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted).
404No such resource in this account (resource_not_found).
429Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached).
500An unexpected error; retry with backoff, then contact support (internal_error).

On this page