Skip to main content

Onboarding — lifecycle

This is the canonical description of the onboarding journey — the states an onboarding moves through and the end-to-end process behind them. The same status envelope and the same five states apply to all three flows; the journey diverges only in the provisioning tail.

A caller starts an onboarding and then polls its status. Behind that single handle, Ark runs the applicant through address validation, identity verification, a risk assessment, and provisioning — reporting progress as a status and a granular currentStep at each point.

States (shared across all three flows)

StatusMeaning
INITIATEDAccepted by the API; not yet executing. This is the status returned by the start call.
IN_PROGRESSSteps are executing (address validation, risk assessment, provisioning).
PENDING_ACTIONWaiting on the identity verification — in particular a manual review, which can take up to ~3 days.
COMPLETEDTerminal success — the party, account, and card have been provisioned.
FAILEDTerminal failure — a step failed, identity was not verified, or the risk assessment routed the applicant to manual review. The reason is on the state's errors.

Which flow

Three flows share the same envelope and the same pre-provisioning trunk (address → KYX → risk). They differ only in the request shape (what the caller supplies on party) and the provisioning tail (what gets created in core banking).

FlowWhen to useProvisioning tail
IndividualAn individual applicant onboarding for themselves.party → account → card.
Sole-traderAn individual operating a sole-trader business — same person, with an ABN.party (with ABN on entityDetails) → account → card.
CompanyA company onboarding, where the caller has already onboarded the directors and one of them will be the authorised signatory on the company's account.party (with relationships[] to existing directors) → account → addSignatories → card.

The workflowType field on the WorkflowStateResponse (individual, sole-trader, or company) is the runtime discriminator. The status and currentStep fields are common shape across all three.