Skip to main content
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):

  1. getToken (Entra ID OAuth2 client credentials)
  2. lookupAddress (PAF autocomplete by caller's addressLine)
  3. validateAddress (metadata-by-id → canonical PAF record; supersedes caller-supplied dpid)
  4. initiateKyx (creates the party shell + verification id; receives canonical PAF address)
  5. uploadDocument(s)
  6. kycVerificationWorkflow (child — polls with tiered backoff, 3-day cap)
  7. scoreRisk (BRE rule evaluation; pre-provision so a bad risk outcome never leaves a half-provisioned entity)
  8. 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

Security Scheme Type: http
HTTP Authorization Scheme: bearer
Bearer format: JWT