Overview
Partners can receive live HTTP POST events when lead statuses change on the EASYCRED system. This eliminates the need to poll for status updates — instead, EASYCRED pushes events directly to your server when something happens. Required scope:webhooks:manage
Webhook Management
Register a Webhook
List Webhooks
Rotate Webhook Signing Secret
Delete a Webhook
Webhook Events
| Event | Triggered When |
|---|---|
journey.initiated | A loan journey has been started |
journey.offers_received | Lender offers are available for selection |
journey.offer_selected | An offer has been selected by the partner |
journey.kyc_done | Customer KYC verification completed |
journey.enach_done | eNACH mandate authorized |
journey.esign_done | Loan agreement eSigned |
journey.completed | Loan disbursed — journey in SANCTIONED state |
journey.rejected | Lender declined the application |
journey.abandoned | Journey inactive for 7+ days |
Verifying Incoming Webhooks
EASYCRED signs every webhook payload sent to your endpoint. Always verify the signature before processing the event to ensure it genuinely came from EASYCRED.Read the Signature Header
Every incoming webhook POST includes an
x-easycred-signature header containing the HMAC-SHA256 signature.Compute the Expected Signature
Using your Webhook Signing Secret, compute the HMAC-SHA256 over the raw JSON request body (not parsed — the exact bytes received).
Compare Signatures
If the computed signature matches the header value, the event is authentic and safe to process.If they don’t match, reject the request with
400 Bad Request — it may be tampered or spoofed.Webhook Reliability
Retry Policy
Retry Policy
If your endpoint returns a non-
2xx response or times out, EASYCRED will retry delivery using exponential backoff. Ensure your endpoint is idempotent — the same event may be delivered more than once.Event Ordering
Event Ordering
Events are delivered in order on a best-effort basis. For critical state management, always reconcile against the current journey state via
GET /journey/{journeyId}.Idempotency
Idempotency
Each webhook delivery includes a unique event ID. Store processed event IDs to avoid double-processing retries.
Webhooks vs. Polling
| Webhooks | Polling | |
|---|---|---|
| Latency | Near real-time | Depends on poll interval |
| API Calls | Minimal (only management calls) | Many (GET every N seconds) |
| Reliability | Requires public HTTPS endpoint | Works anywhere |
| Best For | Production integrations | Development & testing |