Version: 2.0.0
Ark Onboarding API
HTTP API for the Ark Flows onboarding workflows (individual, sole-trader, company).
POST /v1/onboarding/{type} starts a workflow on the
onboarding-task-queue and returns the initial WorkflowState envelope.
GET …/{workflowId}/status reads the row from ark-flows DB directly
(Temporal is not on the read path).
Workflow body (orchestrated by ark-flows-worker, not this API):
- getToken (Entra ID OAuth2 client credentials)
- lookupAddress (PAF autocomplete by caller's addressLine)
- validateAddress (metadata-by-id → canonical PAF record; supersedes caller-supplied dpid)
- initiateKyx (creates the party shell + verification id; receives canonical PAF address)
- uploadDocument(s)
- kycVerificationWorkflow (child — polls with tiered backoff, 3-day cap)
- scoreRisk (BRE rule evaluation; pre-provision so a bad risk outcome never leaves a half-provisioned entity)
- provisioningWorkflow (child — party + account + card creation as one unit; receives canonical PAF address)
The workflow's WorkflowState envelope is shared across every Ark Flows
workflow type — adding company onboarding or payment scheduling reuses
the same envelope shape.
Cancel and manual KYX approval endpoints are deferred to follow-up tickets per the solution-design Open Questions (OQ-2, OQ-3).
Authentication
- HTTP: Bearer Auth
| Security Scheme Type: | http |
|---|---|
| HTTP Authorization Scheme: | bearer |
| Bearer format: | JWT |