List onboarding flows
/onboarding/flowsCursor-paginated list of onboarding flows — the investor journeys (KYC,
FCA classification, risk warnings, appropriateness) investors complete to
join the platform. Flows are returned in every state (draft and
published); pass ?status=PUBLISHED for only live flows. Flows are
tenant-global, so every token on the tenant sees the same set. Filter by
free-text name (q) and draft/published state (status). Create a flow
with POST /onboarding/flows.
These are the firm-level flow definitions (reusable across investors),
not per-investor runs. For an individual investor's onboarding progress,
use GET /users/{userId}/onboarding.
Deprecated: withdrawn on 2027-06-30. GET /onboarding-flows replaces it; the Link header names it.
Query parameters
- Default:
Page size (1–100). Defaults to 25; values are clamped to the range.
25 Opaque pagination cursor taken from a prior response's
meta.next_cursor.Free-text search on the flow name.
- One of:
Filter by flow state.
DRAFT= editable, not yet live;PUBLISHED= live and collecting responses.DRAFT,PUBLISHED - One of:
List flows available to this user type. Defaults to investor, so only investor flows are listed unless advisor is asked for.
investor,advisorDefault:"investor"
Responses
OK
{
"data": [
{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"name": "Investor Suitability",
"status": "published",
"expiry_type": "TWELVE_MONTH",
"mode_type": "Continuous",
"definition": null,
"forms_count": 2,
"created_at": "2026-06-15T10:30:00+00:00",
"updated_at": "2026-06-15T10:30:00+00:00"
},
{
"id": "a3f1c2d4-5e6f-4071-8293-b4c5d6e7f809",
"name": "KYC Onboarding",
"status": "draft",
"expiry_type": "NEVER_EXPIRE",
"mode_type": "Versioned",
"definition": null,
"forms_count": 1,
"created_at": "2026-06-10T09:15:00+00:00",
"updated_at": "2026-06-14T14:22:00+00:00"
}
],
"links": {
"first": null,
"last": null,
"prev": null,
"next": "https://your-org-domain/kong/core/api/v2/onboarding/flows?cursor=eyJpZCI6MjUsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0"
},
"meta": {
"path": "https://your-org-domain/kong/core/api/v2/onboarding/flows",
"per_page": 25,
"next_cursor": "eyJpZCI6MjUsIl9wb2ludHNUb05leHRJdGVtcyI6dHJ1ZX0",
"prev_cursor": null
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
Request validation failed (HTTP 422). The body is either the Laravel
validation envelope (message + field-keyed errors) or the API error
envelope for domain rejections (e.g. form_type_not_supported,
folder_locked, parent_not_found, folder_not_empty).
Examples
curl https://your-org-domain/kong/core/api/v2/onboarding/flows\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"