Create a step config override
/step-config-overridesCreates an override and returns it with a Location. The deal needs a transaction workflow, or deal_id returns 422 transaction_workflow; an unknown deal returns exists. decorator_id returns 422 exists when it isn't a requirement or trigger on the deal's workflow, delegated when it keeps its own configuration, and unique when the deal already overrides it. A missing, unknown or bad config key returns 422 at config.<key>. It emits no webhook, and DELETE /step-config-overrides/{id} undoes it.
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
The deal to override the configuration for. It needs a transaction workflow.
- One of:
Whether the override replaces a step requirement's or a step trigger's configuration.
requirement,trigger The step requirement or trigger to override, from the step's
requirementsortriggers. It must be on the deal's transaction workflow.The configuration the deal uses instead of the workflow's, in the app's camelCase keys for the requirement or trigger's class_name, such as customFormId or portfolioAssetId. An unknown key returns 422 naming the keys the class takes.
{
"deal_id": "9f8e7d6c-5b4a-4938-8271-6a5b4c3d2e1f",
"decorator_type": "requirement",
"decorator_id": "7c8d9e0f-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
"config": {
"classificationIds": [
"class-z"
]
}
}Responses
{
"data": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"deal_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"workflow_step_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"decorator_type": "requirement",
"decorator_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"config": {},
"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/step-config-overrides\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"deal_id": "9f8e7d6c-5b4a-4938-8271-6a5b4c3d2e1f",
"decorator_type": "requirement",
"decorator_id": "7c8d9e0f-1a2b-4c3d-8e9f-0a1b2c3d4e5f",
"config": {
"classificationIds": [
"class-z"
]
}
}'