Add a classification to an onboarding flow
/onboarding-flows/{onboarding_flow_id}/classificationsLinks one of your organisation's classifications to the flow and returns the link with a Location. A classification that is not yours, or does not exist, returns 422 exists. Adding one the flow already has returns 200 with the existing link and creates nothing. dry_run shows the result without saving it. Sends no email and emits no webhook. DELETE /onboarding-flows/{onboarding_flow_id}/classifications/{id} undoes it.
Path parameters
The onboarding flow's id, a uuid. An unknown or deleted id returns 404.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Request body
application/json, required · OnboardingFlowClassificationCreate
The classification to award, one of your organisation's. Any other id is 422
exists.
{
"classification_id": 42
}Responses
The classification was already linked, so nothing changed. This is the existing link.
{
"data": {
"id": "c3a5e0d1-7b24-4f19-8e66-1a9d2b4c6e77",
"classification_id": 42,
"created_at": "2026-11-08T10:30:00Z",
"updated_at": "2026-11-08T10:30:00Z"
}
}{
"data": {
"id": "c3a5e0d1-7b24-4f19-8e66-1a9d2b4c6e77",
"classification_id": 42,
"created_at": "2026-11-08T10:30:00Z",
"updated_at": "2026-11-08T10:30:00Z"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/onboarding-flows/{onboarding_flow_id}/classifications\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"classification_id": 42
}'