Onboarding

Set an onboarding flow's status

PATCH/onboarding/flows/{complianceId}/status
onboarding:writeset_compliance_stateDeprecatedSunset 2027-06-30

Publish an onboarding flow (making it live and collecting investor responses) or revert it to draft, driving the state machine and its allowed transitions. Define the flow's steps first with PUT /onboarding/flows/{complianceId}/definition. Deprecated: withdrawn on 2027-06-30. POST /onboarding-flows/{id}/actions/publish and unpublish replace it; the Link header names the one that matches the body, and a request for the state the flow already has now answers 200 with no change, where it answered 500.

Path parameters

  • complianceIdstring (uuid)Required#

    The compliance flow's public uuid.

Request body

application/json, required

  • statusstringRequired#

    Compliance flow state. DRAFT = editable, not yet live (not served to respondents); PUBLISHED = live and collecting responses. The state machine governs allowed transitions.

    One of: DRAFT, PUBLISHED
{
  "status": "PUBLISHED"
}

Responses

{
  "data": {
    "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
    "name": "Investor Suitability",
    "status": "published",
    "expiry_type": "TWELVE_MONTH",
    "mode_type": "Continuous",
    "definition": null,
    "forms_count": 1,
    "created_at": "2026-06-15T10:30:00+00:00",
    "updated_at": "2026-07-06T14:15:02+00:00"
  }
}
401

Authentication failed. error.code is one of invalid_token, expired, revoked.

Error
403

Authorization failed. error.code is one of org_disabled, ip_blocked, missing_scope, scope_disabled, user_disabled.

Error
404

Resource not found (error.code = not_found).

Error
422

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).

429

Rate limit exceeded (error.code = rate_limited).

Error

Examples

curl -X PATCH https://your-org-domain/kong/core/api/v2/onboarding/flows/{complianceId}/status\
  -H "Authorization: Bearer $HELM_API_KEY"\
  -H "Content-Type: application/json"\
  -d '{
  "status": "PUBLISHED"
}'