Create A Journey

Backend-only API-key call. The platform starts a Hybrid personal-loan application attempt for the borrower, stores the supplied profile prefill, and starts the offer-fetch pipeline. `borrowerProviderID` is client-scoped and must remain stable for the same borrower across sessions and application attempts. Prefer sending a fresh `Idempotency-Key` for each new Start attempt; reuse the same key only to retry the same Start request. If omitted, the platform creates a fresh non-idempotent attempt with a server-generated internal key. Store `data.journey.id` from the response and pass it as `journeyID` on Offers and Hosted handoff calls. Optionally, buyer-apps can include buyer-supplied bureau data in the top-level `bureau` object. When `bureau` is provided, `journey.bureauConsent` must be `true`.

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.

Headers

Idempotency-KeystringOptional1-255 characters

Start-attempt retry key. Use a fresh key for each new application attempt. Reuse the same key only when retrying the same Start request after a timeout or temporary failure. If omitted, the platform creates a fresh non-idempotent attempt with a server-generated internal key for compatibility; retries without a client key can create duplicate attempts.

x-correlation-idstringOptional1-128 characters

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

Request

This endpoint expects an object.
personalobjectRequired
Personal Loan borrower profile fields for Hybrid journey start.
journeyTypeenumOptional

Optional credit product discriminator. Omit it or send PERSONAL_LOAN on the personal-loan Hybrid path.

workobjectOptional
addressobjectOptional
bankingInformationobjectOptional
Optional complete bank prefill. If supplied, send the full object.
banking_informationobjectOptional

Optional complete bank prefill. This snake_case shape is accepted and normalized to the platform banking model.

journeyobjectOptional
bureauobject or nullOptional

Optional buyer-supplied bureau data. When this object is provided, journey.bureauConsent must be true.

Response

Hybrid journey accepted and offer fetch started. Replays of the same Start attempt return the same journey.
request_idstringformat: "uuid"
correlation_idstring
timestampdatetime
dataobject
errorany

Errors

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