Skip to main content

Overview

A journey has two parts: start it (Step 1), then drive it to a decision (Step 2). Step 2 differs by mode — Option A is headless, Option B is hosted.
Do not assume a fixed sequence of steps — the exact order depends on the lender. Always branch on currentNextAction.category, not on the step name.

Step 1 — Start a Loan Journey

Required scope: leads:create

Request Body

customer Object

goldLoanDetails Object (Gold Loan Only)

Responses

Example — Start a Headless Personal Loan


Step 2 (Option A) — Drive the Journey Yourself (Headless)

Poll the journey, then act on whatever it asks for.

Read Journey State

Required scope: leads:status:read
Headers: x-api-key, x-timestamp, x-nonce, x-signature, X-Journey-Session

Branch on the Category


COLLECT — Submit a Customer Action

Required scope: offers:select
Body: { "kind": "<ActionKind>", "payload": { ... } }
Naming note: For bank details the action kind is SUBMIT_BANK_ACCOUNT, but the journey step is reported as SUBMIT_BANK_DETAILS. Send the kind, match on the step.

Where Offer and Branch Values Come From

When the journey reaches an offer step, the offers[] array in the journey state is populated. For gold loans, each offer also carries a branchLocations[] array:
Send the chosen entry’s id as branchLocationId:

Example — Select an Offer

After any action, resume the GET poll loop immediately.

When the category is REDIRECT, open currentNextAction.url for the customer (new tab or WebView). It leads to a secure hosted page for KYC, e-sign, or e-NACH mandate. When the customer returns to your app, signal the return:
Required scope: offers:select
Body: { "kind": "KYC" } — one of KYC | ESIGN | MANDATE
Then resume the GET poll loop.

Step 2 (Option B) — Hand Off to EasyCred (Hosted)

After starting an API_HOSTED journey, hand hostedUrl to the customer (deep-link, WebView, or browser redirect). EasyCred’s screens handle every step through to completion — your backend makes no further journey calls. To track progress:

Poll Application Status

Requires only your API key — no journey session.

Subscribe to Webhooks

Subscribe with scope webhooks:manage to receive real-time push notifications as status changes happen.

Journey Outcomes (Terminal States)

When the category is TERMINAL, read data.outcome: