Create a classification requirement
/workflow-steps/{workflow_step_id}/classification-requirementsAdds a requirement to the step and returns it with a Location. The investor must hold at least one of classification_ids to pass the step. The requirement is not enforced until enabled is true. It emits no webhook, and DELETE /workflow-steps/{workflow_step_id}/classification-requirements/{id} undoes it.
Path parameters
The workflow step the requirements belong to.
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 · ClassificationRequirementCreate
The investor needs at least one of these classifications. They are classification ids, so they are integers. Each can appear once.
What the investor is told the step checks.
What the investor is told when the check fails.
Whether the step enforces this requirement. New requirements are not enforced unless you say so.
{
"classification_ids": [
12,
14
],
"label": "Accredited investor",
"error_message": "You must be an accredited investor to continue.",
"enabled": true
}Responses
{
"data": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"workflow_step_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"classification_ids": [
1
],
"label": "string",
"error_message": "string",
"enabled": true,
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
}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/workflow-steps/{workflow_step_id}/classification-requirements\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"classification_ids": [
12,
14
],
"label": "Accredited investor",
"error_message": "You must be an accredited investor to continue.",
"enabled": true
}'