Elastic Stack (ELK Stack) Workflows API

Workflows enable you to automate multi-step processes directly in Kibana. Define sequences of steps in YAML to transform data insights into automated actions and outcomes, without needing external automation tools. Use the workflows APIs to create, manage, and run workflows programmatically. You can also search, export, import, and monitor workflow executions.

Operations 31

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

DELETE /api/workflows Delete several workflows at once · Bulk delete workflows #
Ask an LLM
“How do I delete a batch of workflows by their IDs in one call?”
“Can I force-delete multiple workflows even if they would normally be protected?”
Tell an agent destructive · confirm first
Bulk delete workflows {ids}.
Force-delete the workflows with IDs {ids} using force {force}.
GET /api/workflows List and search workflows · Get workflows #
Ask an LLM
“How do I list the automation workflows defined in my Kibana space?”
“Can I filter workflows by tag, creator or whether they're enabled?”
Tell an agent
List my workflows matching {query}.
Show enabled workflows tagged {tags}, sorted by {sortField}.
POST /api/workflows Create several workflows at once · Bulk create workflows #
Ask an LLM
“Can I import a batch of workflow definitions in a single request?”
“Is there a dry-run mode to check a bulk workflow import before it saves anything?”
Tell an agent
Bulk create workflows {workflows}.
Bulk import {workflows}, overwriting existing ones when overwrite is {overwrite}.
GET /api/workflows/aggs Aggregate workflows by field · Get workflow aggregations #
Ask an LLM
“How many workflows do I have per tag or per creator?”
“Can I get facet counts over my workflows for building filters?”
Tell an agent
Aggregate my workflows by fields {fields}.
Count managed workflows grouped by {fields}.
GET /api/workflows/connectors List connectors available to workflows · Get available connectors #
Ask an LLM
“Which connectors can my workflow steps call?”
“What integrations are available to use inside a workflow?”
Tell an agent
List the connectors I can use in workflows.
Show available workflow connector types and instances.
GET /api/workflows/executions/{executionId} Get a workflow execution · Get a workflow execution #
Ask an LLM
“How do I check the status of one workflow run?”
“Can I see the input and output that a particular workflow execution used?”
Tell an agent
Get workflow execution {executionId}.
Show execution {executionId} including its output.
POST /api/workflows/executions/{executionId}/cancel Cancel a workflow execution · Cancel a workflow execution #
Ask an LLM
“How do I stop a single workflow run that's stuck or running too long?”
“Can I cancel one specific execution without touching the workflow's other runs?”
Tell an agent destructive · confirm first
Cancel workflow execution {executionId}.
Abort the running execution {executionId}.
GET /api/workflows/executions/{executionId}/children List child executions of a workflow run · Get child executions #
Ask an LLM
“Which sub-workflow runs did a parent workflow execution spawn?”
“How do I trace the child executions started by one workflow run?”
Tell an agent
List child executions of {executionId}.
Show sub-workflow runs spawned by execution {executionId}.
GET /api/workflows/executions/{executionId}/logs Get logs for a workflow execution · Get execution logs #
Ask an LLM
“Where can I read the logs of a failed workflow run?”
“Can I narrow execution logs down to a single step?”
Tell an agent
Get logs for workflow execution {executionId}.
Show logs of execution {executionId} for step run {stepExecutionId}.
POST /api/workflows/executions/{executionId}/resume Resume a paused workflow execution · Resume a workflow execution #
Ask an LLM
“How do I continue a workflow run that's waiting for input?”
“Can I pass values back into a paused execution when resuming it from inside Kibana?”
Tell an agent
Resume execution {executionId} with input {input}.
Continue paused workflow run {executionId}, supplying {input}.
GET /api/workflows/executions/{executionId}/step/{stepExecutionId} Get one step execution of a workflow run · Get a step execution #
Ask an LLM
“How do I inspect what happened in a single step of a workflow run?”
“Can I see the result of one step execution by its ID?”
Tell an agent
Get step execution {stepExecutionId} of run {executionId}.
Show the details of step run {stepExecutionId} in execution {executionId}.
GET /api/workflows/executions/{executionId}/steps/{stepId}/resume/external Approve or reject a paused step via external link · Resume a workflow execution from an external link #
Ask an LLM
“Can someone outside Kibana approve a paused workflow step from a link?”
“What does the token in an external approval link for a workflow step do?”
Tell an agent
Approve step {stepId} of execution {executionId} using link token {token}.
Reject paused step {stepId} in run {executionId} with token {token} and approved {approved}.
POST /api/workflows/executions/{executionId}/steps/{stepId}/resume/external Submit external form input to a paused step · Submit external input for a paused workflow execution #
Ask an LLM
“How does an external user submit form data to a paused workflow step?”
“Can an outside reviewer post their answers into a waiting workflow run?”
Tell an agent
Submit form input to step {stepId} of run {executionId} with token {token}.
Post the external reviewer's answers for {stepId} in execution {executionId} using token {token}.
GET /api/workflows/executions/{executionId}/steps/{stepId}/resume/external/form Get the external input form for a paused step · Get the external input form for a paused workflow execution #
Ask an LLM
“What form does an external reviewer see for a paused workflow step?”
“Can I fetch the input fields a waiting step expects before submitting them?”
Tell an agent
Get the external form for step {stepId} in run {executionId} with token {token}.
Show the fields paused step {stepId} of {executionId} is asking for, using token {token}.
POST /api/workflows/export Export workflows · Export workflows #
Ask an LLM
“How do I export workflow definitions to move them to another space or cluster?”
“Can I back up a selected set of workflows as files?”
Tell an agent
Export workflows {ids}.
Download the definitions of workflows {ids} for backup.
PUT /api/workflows/managed/workflow/{id} Update a managed workflow · Update a managed workflow #
Ask an LLM
“Can I change a managed (system-provided) workflow's YAML or enable it?”
“How do I disable a managed workflow I don't need?”
Tell an agent
Update managed workflow {id} with YAML {yaml}.
Set managed workflow {id} enabled to {enabled}.
POST /api/workflows/mget Get several workflows by ID · Get workflows by IDs #
Ask an LLM
“Can I fetch a handful of workflows by their IDs in one request?”
“Is it possible to limit which fields come back when looking up workflows by ID?”
Tell an agent
Fetch workflows {ids}.
Look up workflows {ids} returning only fields {source}.
GET /api/workflows/schema Get the workflow definition JSON schema · Get workflow JSON schema #
Ask an LLM
“Where can I get the JSON schema for validating workflow YAML in my editor?”
“Is there a looser version of the workflow schema for partial definitions?”
Tell an agent
Get the workflow JSON schema with loose mode {loose}.
Download the strict schema for workflow definitions, loose set to {loose}.
GET /api/workflows/stats Get workflow statistics · Get workflow statistics #
Ask an LLM
“How many workflows and executions do I have overall?”
“What are the usage stats for workflows in this space?”
Tell an agent
Show workflow statistics.
Summarize my workflow and execution counts.
POST /api/workflows/step/test Test a single workflow step · Test a workflow step #
Ask an LLM
“Can I run just one step of a workflow to debug it?”
“How do I test a step with a mocked context before running the whole workflow?”
Tell an agent
Test step {stepId} of workflow YAML {workflowYaml} with context {contextOverride}.
Run only step {stepId} from {workflowYaml} using overridden context {contextOverride}.
POST /api/workflows/test Test run a whole workflow · Test a workflow #
Ask an LLM
“Can I try out a workflow definition before saving it?”
“How do I test-run a draft workflow with sample inputs?”
Tell an agent
Test workflow YAML {workflowYaml} with inputs {inputs}.
Do a test run of saved workflow {workflowId} using inputs {inputs}.
POST /api/workflows/workflow Create a workflow · Create a workflow #
Ask an LLM
“How do I create a new automation workflow from YAML?”
“Can I choose the ID of a workflow when I create it?”
Tell an agent
Create a workflow from YAML {yaml}.
Create workflow {id} defined by {yaml}.
DELETE /api/workflows/workflow/{id} Delete a workflow · Delete a workflow #
Ask an LLM
“How do I delete one workflow permanently?”
“Can I force the deletion of a single workflow?”
Tell an agent destructive · confirm first
Delete workflow {id}.
Remove workflow {id} with force {force}.
GET /api/workflows/workflow/{id} Get a workflow · Get a workflow #
Ask an LLM
“How do I view a single workflow's definition and settings?”
“Can I see the YAML behind a workflow by its ID?”
Tell an agent
Get workflow {id}.
Show the definition of workflow {id}.
PUT /api/workflows/workflow/{id} Update a workflow · Update a workflow #
Ask an LLM
“How do I edit the YAML or name of a workflow I created?”
“Can I turn one of my workflows off without deleting it?”
Tell an agent
Update workflow {id} with YAML {yaml}.
Rename workflow {id} to {name}.
POST /api/workflows/workflow/{id}/clone Clone a workflow · Clone a workflow #
Ask an LLM
“Can I duplicate an existing workflow as a starting point for a new one?”
“How do I make a copy of a workflow?”
Tell an agent
Clone workflow {id}.
Make a copy of workflow {id}.
POST /api/workflows/workflow/{id}/run Run a workflow · Run a workflow #
Ask an LLM
“How do I trigger a saved workflow manually?”
“Can I pass inputs and metadata when starting a workflow run?”
Tell an agent
Run workflow {id} with inputs {inputs}.
Start workflow {id} using inputs {inputs} and metadata {metadata}.
GET /api/workflows/workflow/{workflowId}/executions List executions of one workflow · Get workflow executions #
Ask an LLM
“How do I see the run history of one particular workflow?”
“Can I filter a workflow's executions to only failed ones in a date range?”
Tell an agent
List executions of workflow {workflowId}.
Show runs of workflow {workflowId} with status {statuses} started after {startedAfter}.
POST /api/workflows/workflow/{workflowId}/executions/cancel Cancel all active runs of a workflow · Cancel all active workflow executions #
Ask an LLM
“How do I stop every running execution of one workflow at once?”
“Can I halt all in-progress runs of a workflow that's misbehaving?”
Tell an agent destructive · confirm first
Cancel all active executions of workflow {workflowId}.
Stop every in-flight run of {workflowId}.
GET /api/workflows/workflow/{workflowId}/executions/steps List step executions across a workflow's runs · Get workflow step executions #
Ask an LLM
“How do I see how one step has performed across all runs of a workflow?”
“Can I pull the step-level execution history of a workflow with inputs and outputs?”
Tell an agent
List step executions for workflow {workflowId}.
Show every run of step {stepId} in workflow {workflowId} including output.
GET /api/workflows/workflow/executions Search executions across all workflows · Search workflow executions #
Ask an LLM
“How do I search workflow runs across every workflow in the space?”
“Can I query all executions with KQL, for example everything that failed yesterday?”
Tell an agent
Search all workflow executions matching KQL {kql}.
Find executions across all workflows with status {statuses} finished before {finishedBefore}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elk-stack:elk-stack-workflows-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elk-stack-workflows-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: Kibana Team
  description: The Kibana REST APIs enable you to manage resources such as connectors, data views, and saved objects.
  title: Kibana Workflows API
  version: ''
  x-doc-license:
    name: Attribution-NonCommercial-NoDerivatives 4.0 International
    url: https://creativecommons.org/licenses/by-nc-nd/4.0/
  x-feedbackLink:
    label: Feedback
    url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+
servers:
- url: https://{kibana_url}
  variables:
    kibana_url:
      default: localhost:5601
security:
- apiKeyAuth: []
- basicAuth: []
tags:


# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elk-stack/refs/heads/main/openapi/elk-stack-workflows-api-openapi.yml