Read Business Loan Offer And Hand-Off URL

Backend-only API-key call. Use after the borrower selects either a BUSINESS_LOAN or self-employed PERSONAL_LOAN offer returned by the Business path. Pass the public root as `journeyID`; the platform resolves the actual source lender internally while preserving the public root in `target_journey_id` and `journey.id`. Omit `isOfferAccepted` or send exact lowercase `false` for legacy behavior. Send exact lowercase `true` after explicit borrower acceptance. A true request skips the Hosted loan-amount-adjustment step for this call even when the actual source lender normally allows adjustment. The actual source lender's configured policy determines whether acceptance is applied: `API_ALLOWED` returns pollable stage metadata, while `HOSTED_REQUIRED` returns the Aarthik Hosted offer/KFS review URL without claiming or accepting the source. If the source journey is already owned by Hosted Experience, the call does not replay acceptance and instead returns a fresh continuation URL for an active Hosted stage; a terminal source returns `hosted_url=null` and `polling.shouldPoll=false`. Inspect `offer_acceptance.requested`, `applied`, and `mode`.

Authentication

AuthorizationBearer

Send Authorization: Bearer <PLATFORM_API_KEY> from a trusted back-end.

Path parameters

borrowerProviderIDstringRequired1-128 characters

Stable borrower identity from the partner system. Keep a 1:1 mapping between the borrower and borrowerProviderID across sessions and application attempts to preserve resume, history, and post-disbursal continuity.

offerIDstringRequired>=1 character

Offer identifier returned in data.lenders.<lenderName>.offers[].offerID.

Headers

x-correlation-idstringOptional1-128 characters

Optional caller-supplied trace identifier. When omitted, the API generates one and mirrors it as correlation_id.

Query parameters

journeyIDstringOptional>=1 character

Journey ID returned as data.journey.id by Start. Send this on Offers and Hosted handoff calls to continue the intended application attempt. The journey_id query parameter and x-aarthiklabs-journey-id header aliases are also accepted. If more than one alias is sent, all values must match.

isOfferAcceptedenumOptional
Optional borrower offer-acceptance request. Only the exact lowercase strings `true` and `false` are accepted. Omit it or send `false` to keep the standard Hosted flow. Send `true` only after capturing the borrower's explicit consent, then inspect `offer_acceptance.applied`. When acceptance is applied, use `polling` until a fresh `hosted_url` is available and open that URL immediately.
Allowed values:

Response

Hosted URL issued for the selected Business Loan offer.
request_idstring
correlation_idstring
timestampdatetime
dataobject
errorany

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error