API reference
Webhooks
GET /v1/admin/webhooks/deliveries
List webhook delivery attempts
Every delivery the gateway has attempted, newest first — with attempt count, the response code your endpoint returned, and the error if it failed. This is how you debug a webhook your server never acknowledged.
Management surface: requires an admin key.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
status | query | string | One of: pending, delivered, exhausted |
payment_id | query | string | |
limit | query | integer |
Responses
- 200 Deliveries, newest first.
Request
curl -X GET "$KULPAY_URL/v1/admin/webhooks/deliveries" \ -H "Authorization: Bearer $KULPAY_KEY"
200 Response application/json
{
"data": [],
"limit": 50,
"offset": 0,
"total": 0
}
GET /v1/admin/webhooks/deliveries/{id}
Get one delivery, including the signed body
Returns the frozen payload — the exact bytes the signature was computed over. Re-serialising that JSON changes key order or spacing and produces a different HMAC, which sends people hunting a signature bug that is not there. Compare against the raw body your server received.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id required | path | string |
Responses
- 200 The delivery, with
payloadas a verbatim string.
Request
curl -X GET "$KULPAY_URL/v1/admin/webhooks/deliveries/{id}" \
-H "Authorization: Bearer $KULPAY_KEY"
200 Response application/json
{}
KulPay