Webhooks are configured per invoice, not at the account level. Each invoice can have its own
webhook_url.How to configure a webhook
Pass awebhook_url when you create an invoice. Kibble generates a unique webhook_secret for that invoice and returns it in the API response.
- CLI
- API
webhook_secret. Store it securely — you will need it to verify the signature on every incoming request.
What triggers a webhook
Kibble fires the webhook when on-chain payment activity changes the invoice status. The possible trigger states are:
Kibble does not fire a webhook for
draft or sent status changes.
Webhook payload
The POST body is a JSON object with the following fields:Signature header
Every request includes anX-Kibble-Signature header. The value is the HMAC-SHA256 digest of the raw request body, prefixed with sha256=:
Retry behavior
Kibble makes a single attempt to deliver each webhook. Your endpoint should return a2xx response as quickly as possible. If processing takes time, acknowledge the request immediately and handle the work asynchronously.