List workflow steps
/workflow-stepsLists workflow steps, oldest first. Send filter[workflow_id] or filter[deal_id] (the deal's assigned workflow), or the call returns 422. Branches are listed too: filter on kind to tell them apart. Use filter[requires_config]=true for the steps that still need a setting from the deal.
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.Comma-separated top-level fields to return.
idis always returned.Comma-separated fields to sort by, from the operation's allowed list. Prefix a field with
-for descending. The record id is always the final tiebreak.Steps of this workflow. Send this or
filter[deal_id].Steps of the workflow assigned to this deal. Send this or
filter[workflow_id].Only steps with a requirement or trigger the deal still has to configure (true), or only the others (false).
- One of:
Only steps of this kind: linear, branched or branch. Takes
[in]and[not_in]with a comma-separated list.linear,branched,branch
Responses
{
"data": [
{
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"workflow_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"name": "string",
"label": "string",
"type": "string",
"kind": "linear",
"description": "string",
"is_protected": true,
"is_floating": true,
"order": 1,
"has_custom_form": true,
"is_internal_only": true,
"show_default_internal_message": true,
"document_upload": {
"optional": true,
"document_name": "string",
"document_instruction": "string"
},
"minimum_investment": {
"optional": true,
"disclaimer": "string"
},
"document_release": {
"folder_name": "string"
},
"webhook": {
"webhook_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"leading_edge": true
},
"posts_to_portfolio": true,
"info_banner": {
"title": "string",
"body": "string",
"delegated_to_deal": true
},
"requirements": [
{}
],
"triggers": [
{}
],
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
],
"meta": {
"limit": 1,
"next_cursor": "string",
"prev_cursor": "string"
}
}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 https://your-org-domain/kong/core/api/v2/workflow-steps\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"