latestOpenAPI 3.1.02026-08-2211754502.4 KB

76cfbed5eb40

Webhooks

Receive a BillingServ webhook event

BillingServ sends this request to the HTTPS endpoint configured on the API Information page. When a Webhook Signing Secret is configured, verify the BillingServ-Signature header against the exact raw request body before parsing it. Persist or enqueue the event and respond within 10 seconds. Deliveries may be retried and should be deduplicated using the event ID.

postWebhookbillingServEvent

Headers

Webhook-Idstring uuid required

Unique event ID. Matches the payload id and can be used as an idempotency key.

Webhook-Event'webhook.test' | 'payment.succeeded' | 'payment.failed' | 'customer.created' | 'customer.updated' | 'customer.deleted' | 'customer.restored' | 'order.created' | 'order.updated' | 'order.deleted' | 'order.restored' | 'subscription.cancelled' | 'subscription.renewed' | 'invoice.created' | 'invoice.updated' | 'invoice.paid' | 'invoice.deleted' | 'invoice.restored' | 'credit_note.created' | 'credit_note.updated' | 'credit_note.deleted' | 'support_ticket.created' | 'support_ticket.updated' | 'support_ticket.deleted' | 'support_ticket.message_created' required

Event name. Matches the payload type.

BillingServ-Signaturestring

Optional HMAC-SHA-256 signature. When a Webhook Signing Secret is configured, the format is t=<unix_timestamp>,v1=<hex_signature> and the signature covers timestamp + "." + raw request body.

Payload

idstring uuid required

Unique event ID.

type'webhook.test' | 'payment.succeeded' | 'payment.failed' | 'customer.created' | 'customer.updated' | 'customer.deleted' | 'customer.restored' | 'order.created' | 'order.updated' | 'order.deleted' | 'order.restored' | 'subscription.cancelled' | 'subscription.renewed' | 'invoice.created' | 'invoice.updated' | 'invoice.paid' | 'invoice.deleted' | 'invoice.restored' | 'credit_note.created' | 'credit_note.updated' | 'credit_note.deleted' | 'support_ticket.created' | 'support_ticket.updated' | 'support_ticket.deleted' | 'support_ticket.message_created' required
version'1' required

Webhook envelope version. The current version is 1.

created_atstring date-time required

Example payload

{
  "data": {
    "message": "This is a test webhook from BillingServ."
  }
}

Response

Event accepted