Skip to main content

Webhook Endpoints

Manage webhook subscriptions programmatically — create, list, update, and delete webhook configurations.

Create Webhook

POST /api/webhooks

Request

{
  "url": "https://your-server.com/webhooks/invoica",
  "events": ["invoice.paid", "invoice.settled", "invoice.failed"],
  "secret": "whsec_your_secret_key"
}

Response

{
  "id": "wh_a1b2c3d4e5",
  "url": "https://your-server.com/webhooks/invoica",
  "events": ["invoice.paid", "invoice.settled", "invoice.failed"],
  "active": true,
  "createdAt": "2026-02-18T10:30:00Z"
}

List Webhooks

GET /api/webhooks
Returns all configured webhook endpoints for your account.

Update Webhook

PATCH /api/webhooks/:id
Update the URL, events, or active status of a webhook.

Request

{
  "events": ["invoice.paid", "invoice.settled", "settlement.confirmed"],
  "active": true
}

Delete Webhook

DELETE /api/webhooks/:id
Remove a webhook configuration. Pending deliveries will be cancelled.

Webhook Events Reference

EventPayload
invoice.createdFull invoice object
invoice.sentInvoice ID, status, sentAt
invoice.paidInvoice ID, status, payment details
invoice.settledInvoice ID, status, settlement tx hash
invoice.completedInvoice ID, status, completedAt
invoice.failedInvoice ID, status, failure reason
settlement.confirmedSettlement ID, tx hash, confirmations
settlement.failedSettlement ID, failure reason

Testing Webhooks

Use the Dashboard to send test webhook events to your endpoint:
  1. Go to Settings > Webhooks in the Dashboard
  2. Click Send Test Event on your webhook configuration
  3. Select the event type to test
  4. Verify your endpoint receives and processes the event correctly