heruAPI
Webhooks

Get a webhook subscription

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

GET
/webhooks/{id}

Returns the subscription without secret; secret_last4 tells which secret signs and secret_rotating_until whether a previous one still does.

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}$

Response body

OK

application/json
  1. response
id*string
Match^whk_[0-7][0-9a-hjkmnp-tv-z]{25}$
url*string
Formaturi
description*string
event_types*array<string>
merchant_ids*array<>
status*string

active delivers; paused you set it and deliveries wait; disabled heru set it (see disabled_reason) and deliveries wait until you send status: active.

Value in"active""paused""disabled"
disabled_reason*|null
disabled_at*|null
headers*array<>
secret?string

Only in the answer of POST /webhooks and POST /webhooks/{id}/secret. Store it: it is never shown again.

Match^whsec_[A-Za-z0-9_-]{43}$
secret_last4*string
secret_rotating_until*|null
consecutive_failures*integer

Failed deliveries in a row. A 2xx resets it to zero.

failing_since*|null
environment*string
Value in"sandbox""production"
created_at*string
Formatdate-time
updated_at*string
Formatdate-time
deliveries*

Where the delivery log of this subscription is.

curl -X GET 'https://api.dev.b2b.heru.app/v1/webhooks/whk_01m53g5zw414zt6vg08fqbacgm'
{  "id": "whk_01m53g5zw414zt6vg08fqbacgm",  "url": "https://partner.example.com/heru/webhooks",  "description": "POS production",  "event_types": [    "invoice.stamped",    "charge.invoiced"  ],  "merchant_ids": [    "mer_01m4ra8wsyfh3s0tr4nrq3y96j"  ],  "status": "active",  "disabled_reason": null,  "disabled_at": null,  "headers": [    {      "name": "X-Partner-Token",      "value": "****abcd"    }  ],  "secret_last4": "L2Do",  "secret_rotating_until": null,  "consecutive_failures": 0,  "failing_since": null,  "environment": "production",  "created_at": "2026-10-25T12:00:00.000Z",  "updated_at": "2026-10-25T12:00:00.000Z",  "deliveries": {    "path": "/v1/webhooks/whk_01m53g5zw414zt6vg08fqbacgm/deliveries"  }}
© 2026 Kuarto Inc. (heru)heru.appQuestions about your integration? Contact your heru account team.