Webhooks
Manage webhook subscriptions and inspect the delivery event log. Create subscriptions to receive real-time notifications for case lifecycle events, payments, and chats. Use GET /webhooks/events to verify deliveries and POST /webhooks/events/{id}/replay to re-deliver a specific event.
- Base URL
https://collectionpartner-api.debitura.com- Authentication
- API key in the
XApiKeyheader
List all webhook subscriptions for the authenticated collection partner.
/webhooksReturns all webhook subscriptions for the authenticated collection partner. Secrets are never returned in list operations.
Returns
200 List of webhook subscriptions — a list of the objects below.
iduuidurlstringnullableeventsarray of stringsnullableisActivebooleancreatedUtcdatetimeupdatedUtcdatetimedisabledReasonstringnullablesecretstringnullableisTestModeboolean
curl https://collectionpartner-api.debitura.com/webhooks \-H "XApiKey: $DEBITURA_API_KEY"
[{"id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31","url": "https://app.debitura.com/…","events": ["string"],"isActive": true,"createdUtc": "2026-10-01T14:05:00Z","updatedUtc": "2026-10-01T14:05:00Z","disabledReason": null,"secret": "string","isTestMode": true}]
Create a new webhook subscription.
/webhooksCreates a new webhook subscription for receiving real-time event notifications.
Available Events (assigned/working-partner role):
case.assigned- Case validated by Debitura and assigned to your agencycase.updated- Case lifecycle changed (e.g., Active → Paused). Does not cover engagement phase changes (Pre-legal/Legal/Enforcement) — pollGET /cases/{id}orGET /cases/{id}/timelinefor the current phase; there is no phase-change event today.case.closed- Case closedpayment.created- Payment registered on casepayment.deleted- Payment reversed (deleted) on casechat.created- Chat message created on case
Managing-role events (explicit opt-in):
managed_case.created, managed_case.assigned, managed_case.updated, managed_case.closed,
managed_case.declined, managed_case.payment.created, managed_case.payment.deleted, managed_case.chat.created.
You may configure these subscriptions before managing-webhook delivery is enabled. Notifications remain
inactive until enabled; synthetic managed fire returns 422 while disabled. Notifications contain minimal
event facts; chat body and close/decline comments are omitted. Detailed content uses the authorized managing-case API.
Managed chat notifications and history require the current active engagement. Payment deletion repeats
the original payment snapshot; the event name identifies its reversal.
Existing subscriptions are never automatically opted in.
Security: Response includes Base64-encoded signing secret (shown only once). Store it to verify HMAC-SHA256 signatures on deliveries.
Requirements: HTTPS URL required. Deliveries retry with exponential backoff (8 attempts). Webhook auto-disables after max failures.
Request body
urlstringRequiredMax 800 characters · URLeventsarray of stringsRequiredisTestModeboolean
Returns
201 Webhook created successfully
iduuidurlstringnullableeventsarray of stringsnullableisActivebooleancreatedUtcdatetimeupdatedUtcdatetimedisabledReasonstringnullablesecretstringnullableisTestModeboolean
Errors
400 | Invalid request |
401 | API key is missing or invalid |
422 | Business rule violation |
See Error handling.
curl -X POST https://collectionpartner-api.debitura.com/webhooks \-H "XApiKey: $DEBITURA_API_KEY" \-H "Content-Type: application/json" \-d '{"url": "https://example.com/webhooks/debitura","events": ["string"]}'
{"id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31","url": "https://app.debitura.com/…","events": ["string"],"isActive": true,"createdUtc": "2026-10-01T14:05:00Z","updatedUtc": "2026-10-01T14:05:00Z","disabledReason": null,"secret": "string","isTestMode": true}
Get a specific webhook subscription by ID.
/webhooks/{id}Returns details of a specific webhook subscription. Secret is never returned in this operation.
Path parameters
iduuidRequiredThe unique identifier of the webhook subscription.
Returns
200 Webhook subscription found
iduuidurlstringnullableeventsarray of stringsnullableisActivebooleancreatedUtcdatetimeupdatedUtcdatetimedisabledReasonstringnullablesecretstringnullableisTestModeboolean
curl https://collectionpartner-api.debitura.com/webhooks/3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31 \-H "XApiKey: $DEBITURA_API_KEY"
{"id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31","url": "https://app.debitura.com/…","events": ["string"],"isActive": true,"createdUtc": "2026-10-01T14:05:00Z","updatedUtc": "2026-10-01T14:05:00Z","disabledReason": null,"secret": "string","isTestMode": true}
Update an existing webhook subscription.
/webhooks/{id}Updates webhook URL, events, or active status. Set RegenerateSecret=true to rotate signing secret (returned in response). Use IsActive=true to re-enable auto-disabled webhooks after fixing delivery issues. Secret only included if RegenerateSecret=true.
Path parameters
iduuidRequiredThe unique identifier of the webhook subscription to update.
Request body
urlstringnullableMax 800 characters · URLeventsarray of stringsnullableisActivebooleannullableregenerateSecretbooleanisTestModebooleannullable
Returns
200 Webhook updated successfully
iduuidurlstringnullableeventsarray of stringsnullableisActivebooleancreatedUtcdatetimeupdatedUtcdatetimedisabledReasonstringnullablesecretstringnullableisTestModeboolean
curl -X PUT https://collectionpartner-api.debitura.com/webhooks/3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31 \-H "XApiKey: $DEBITURA_API_KEY" \-H "Content-Type: application/json" \-d '{}'
{"id": "3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31","url": "https://app.debitura.com/…","events": ["string"],"isActive": true,"createdUtc": "2026-10-01T14:05:00Z","updatedUtc": "2026-10-01T14:05:00Z","disabledReason": null,"secret": "string","isTestMode": true}
Delete a webhook subscription.
/webhooks/{id}Permanently deletes webhook subscription. Cannot be undone. Consider setting IsActive=false to temporarily disable instead.
Path parameters
iduuidRequiredThe unique identifier of the webhook subscription to delete.
Returns
204 Webhook deleted successfully — no response body.
curl -X DELETE https://collectionpartner-api.debitura.com/webhooks/3f2b6c1e-8a4d-4b7f-9c2e-5d1a0b9e7f31 \-H "XApiKey: $DEBITURA_API_KEY"
204 Webhook deleted successfully. No response body.