heruAPI
Webhooks

List deliveries of a subscription

BuildingIn development for the v1 API. The contract is set; the route is not served yet.

GET
/webhooks/{id}/deliveries

Every delivery to the subscription, newest first, each with its attempts. Filter by status, event type, event id or when it was created.

Needs the webhooks:read scope.

Authorization

oauth2 webhooks:read
headerAuthorizationBearer <token>

OAuth 2.0 client credentials. Exchange your client_id and client_secret at /oauth/token of the environment for a bearer token valid for one hour. The playground of every operation asks for your own client and keeps it in your browser tab only.

Scope: webhooks:read

Path parameters

id*string

The subscription id.

Match^whk_[0-7][0-9a-hjkmnp-tv-z]{25}$

Query parameters

status?string

Filter by status.

Value in"pending""delivering""delivered""retrying""failed""held""expired"
event_type?string

Filter by event type.

event_id?string

Filter by event.

Match^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$
from?string

Deliveries created at or after this time (RFC 3339).

Formatdate-time
to?string

Deliveries created before this time (RFC 3339).

Formatdate-time
cursor?string

From next_cursor of the previous page.

limit?integer

1 to 100.

Range1 <= value <= 100
Default20

Response body

OK

application/json
  1. response
data*array<>
next_cursor*|null
curl -X GET 'https://api.dev.b2b.heru.app/v1/webhooks/whk_01m53g5zw414zt6vg08fqbacgm/deliveries?event_type=invoice.stamped&event_id=evt_01m53g5zw414zt6vg08fqbacgm&from=2026-10-25T00%3A00%3A00Z&to=2026-10-26T00%3A00%3A00Z'
{  "data": [    {      "id": "dlv_01m53gw5jbe6rk2p9x0ztn4vmc",      "event_id": "evt_01m53gw5fhe2bq7w4m1kyr8n3t",      "event_type": "charge.invoiced",      "subscription_id": "whk_01m53g5zw414zt6vg08fqbacgm",      "status": "retrying",      "attempt_count": 2,      "attempts": [        {          "n": 1,          "started_at": "2026-10-25T12:05:00.000Z",          "latency_ms": 2100,          "status_code": 502,          "error_class": "http",          "error": "endpoint answered 502",          "response_snippet": "upstream down"        },        {          "n": 2,          "started_at": "2026-10-25T12:05:30.000Z",          "latency_ms": 10000,          "status_code": null,          "error_class": "timeout",          "error": "no response within 10s",          "response_snippet": ""        }      ],      "next_retry_at": "2026-10-25T12:07:30.000Z",      "last_status_code": null,      "last_error": "no response within 10s",      "delivered_at": null,      "replay_of": null,      "created_at": "2026-10-25T12:05:00.000Z",      "updated_at": "2026-10-25T12:05:40.000Z"    },    {      "id": "dlv_01m53g5zw414zt6vg08fqbacgm",      "event_id": "evt_01m53g5zw414zt6vg08fqbacgm",      "event_type": "invoice.stamped",      "subscription_id": "whk_01m53g5zw414zt6vg08fqbacgm",      "status": "delivered",      "attempt_count": 1,      "attempts": [        {          "n": 1,          "started_at": "2026-10-25T12:00:00.000Z",          "latency_ms": 143,          "status_code": 200,          "error_class": null,          "error": null,          "response_snippet": "ok"        }      ],      "next_retry_at": null,      "last_status_code": 200,      "last_error": null,      "delivered_at": "2026-10-25T12:00:00.143Z",      "replay_of": null,      "created_at": "2026-10-25T12:00:00.000Z",      "updated_at": "2026-10-25T12:00:00.143Z"    }  ],  "next_cursor": null}
© 2026 Kuarto Inc. (heru)heru.appQuestions about your integration? Contact your heru account team.