Spaces method and path for this operation:
put /s/{space_id}/api/workflows/workflow/{id}
Refer to Spaces for more information.
Partially update an existing workflow. You can update individual fields such as name, description, enabled state, tags, or the YAML definition without providing all fields.
[Required authorization] Route required privileges: workflowsManagement:update.
PUT
/api/workflows/workflow/{id}
curl
curl \
-X PUT "${KIBANA_URL}/api/workflows/workflow/{id}" \
-H "Authorization: ApiKey ${API_KEY}" \
-H "kbn-xsrf: true" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"tags": ["production"]
}'
PUT kbn://api/workflows/workflow/{id}
{
"enabled": true,
"tags": ["production"]
}
Request examples
Update workflow enable example
Example request to enable a workflow and update its tags
{
"tags": [
"production"
],
"enabled": true
}
Example request to update multiple workflow fields
{
"name": "Updated example",
"tags": [
"example",
"updated"
],
"yaml": "name: Updated example\nenabled: true\ndescription: Updated workflow description\ntriggers:\n - type: manual\ninputs:\n - name: message\n type: string\n default: \"hello world\"\nsteps:\n - name: hello_world_step\n type: console\n with:\n message: \"{{ inputs.message }}\"\n",
"enabled": true,
"description": "Updated workflow description"
}
Response examples (200)
Example response returning the updated workflow
{
"id": "workflow-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"valid": true,
"enabled": false,
"lastUpdatedAt": "2026-03-23T13:38:59.568Z",
"lastUpdatedBy": "elastic",
"validationErrors": []
}