Update a managed workflow Generally available; added in 9.5.0

PUT /api/workflows/managed/workflow/{id}

Spaces method and path for this operation:

put /s/{space_id}/api/workflows/managed/workflow/{id}

Refer to Spaces for more information.

Partially update an existing managed workflow. This elevated route can update fields beyond the enabled state.

[Required authorization] Route required privileges: workflowsManagement:update AND workflowsManagement:managed:update.

Headers

  • kbn-xsrf string Required

    A required header to protect against CSRF attacks

Path parameters

  • id string Required

    Workflow ID

application/json

Body

  • description string
  • enabled boolean
  • name string
  • tags array[string]
  • yaml string

Responses

  • 200 application/json

    Indicates a successful response

PUT /api/workflows/managed/workflow/{id}
curl \
  -X PUT "${KIBANA_URL}/api/workflows/managed/workflow/{id}" \
  -H "Authorization: ApiKey ${API_KEY}" \
  -H "kbn-xsrf: true" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated managed workflow",
    "enabled": true,
    "tags": ["managed", "updated"]
  }'
PUT kbn://api/workflows/managed/workflow/{id}
{
  "name": "Updated managed workflow",
  "enabled": true,
  "tags": ["managed", "updated"]
}
Request example
Example request to update a managed workflow
{
  "description": "Updated managed workflow description",
  "enabled": true,
  "name": "Updated managed workflow",
  "tags": [
    "managed",
    "updated"
  ],
  "yaml": "name: Updated managed workflow\nenabled: true\ndescription: Updated managed workflow description\ntriggers:\n  - type: manual\nsteps:\n  - name: hello_world_step\n    type: console\n    with:\n      message: \"hello world\"\n"
}
Response examples (200)
Example response returning the updated managed workflow
{
  "enabled": true,
  "id": "workflow-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "lastUpdatedAt": "2026-03-23T13:38:59.568Z",
  "lastUpdatedBy": "elastic",
  "valid": true,
  "validationErrors": []
}