List your endpoints
GET/v1/webhooks
scope webhooks.manage
Also returns available_events, the full list you may subscribe to.
Response#
| Field | Type | Description |
|---|---|---|
count | integer | How many endpoints you have registered. |
data | array | Your webhook endpoints. |
data[]. | integer | The endpoint id. |
data[]. | string | Where we POST events. |
data[]. | string[] | Which events this endpoint is subscribed to. |
data[]. | boolean | Whether we are still delivering to it. An endpoint that fails 20 consecutive times is switched OFF automatically rather than retried forever — re-enable it with POST /v1/webhooks/{id}/enable once your receiver is fixed. |
data[]. | integer | How many deliveries have failed in a row. Resets to 0 on the first success. Watch it: it is the early warning before the endpoint is disabled. |
data[]. | string|null | ISO-8601 UTC of when it was switched off, or null while active. |
data[]. | array | Custom request headers we send to this endpoint, as {name, preview}. The values are stored encrypted and never returned. Replace them with PUT /v1/webhooks/{id}. |
data[]. | string | The header name we send. |
data[]. | string | The first four characters of the value, then dots. Enough to tell two credentials apart, useless to anyone who does not already have it. |
data[]. | string | The first few characters of the signing secret, so you can tell two endpoints apart. The full secret is shown ONCE, when the endpoint is created, and never again. |
available_events | string[] | Every event name this API can send. The authoritative list — subscribing to anything outside it is rejected. |
Example
{
"count": 1,
"data": [
{
"id": 1,
"url": "https://erp.example.com/hooks",
"events": [
"order.created"
],
"is_active": true,
"consecutive_failures": 0,
"disabled_at": null,
"headers": [
{
"name": "X-Api-Key",
"preview": "the ••••••••"
}
],
"secret_prefix": "whsec_64Ky4…"
}
],
"available_events": [
"order.created",
"order.status_changed"
]
}