Webhooks
Webhooks allow you to receive real-time HTTP notifications when events occur in your Covered account.How webhooks work
- You register a webhook endpoint URL in your dashboard or via API
- When an event occurs (e.g., a payment is completed), Covered sends an HTTP POST request to your endpoint
- Your server processes the event and returns a 2xx response
Event types
Payables (Accounts Payable)
| Event | Description |
|---|---|
payable.created | A new payable was created or imported |
payable.approved | A payable was approved for payment |
payable.processing | Payment is being processed |
payable.paid | Vendor payment completed successfully |
payable.failed | Vendor payment failed |
Receivables (Accounts Receivable)
| Event | Description |
|---|---|
receivable.created | A new receivable was created |
receivable.sent | Invoice was sent to customer |
receivable.viewed | Customer viewed the invoice |
receivable.paid | Customer payment received |
receivable.overdue | Invoice is past due date |
Treasury
| Event | Description |
|---|---|
treasury.deposit | Funds deposited to treasury |
treasury.withdrawal | Funds withdrawn from treasury |
Webhook payload
All webhook payloads follow this structure:Verifying signatures
Webhook requests include a signature in thesvix-signature header. Always verify this signature to ensure the webhook is from Covered.
Retry policy
If your endpoint returns a non-2xx status code or times out, Covered will retry the webhook:- Immediate retry: After 5 seconds
- Second retry: After 5 minutes
- Third retry: After 30 minutes
- Fourth retry: After 2 hours
- Fifth retry: After 5 hours
- Final retry: After 10 hours
Best practices
Return 200 quickly
Return 200 quickly
Process webhooks asynchronously. Return a 200 response immediately and handle the event in a background job.
Handle duplicates
Handle duplicates
Use the webhook
id to deduplicate events. The same event may be delivered multiple times.Use HTTPS
Use HTTPS
Always use HTTPS endpoints to ensure webhook data is encrypted in transit.
Monitor failures
Monitor failures
Check the Svix dashboard (accessible from Settings → Webhooks → Open Dashboard) to monitor delivery status.
