KulPayAPI Live

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

NameInTypeDescription
statusquerystring
One of: pending, delivered, exhausted
payment_idquerystring
limitqueryinteger

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

NameInTypeDescription
id requiredpathstring

Responses

  • 200 The delivery, with payload as a verbatim string.

Request

curl -X GET "$KULPAY_URL/v1/admin/webhooks/deliveries/{id}" \
  -H "Authorization: Bearer $KULPAY_KEY"
200 Response application/json
{}