Chaos Mesh Workflows API
Create and manage chaos engineering workflows with multiple steps
Create and manage chaos engineering workflows with multiple steps
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/chaos-mesh-workflows-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Chaos Mesh Workflows API
contact:
name: Chaos Mesh Community
url: https://chaos-mesh.org/community/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: '1.0'
description: 'Operations tagged Workflows across 2 of this provider''s published API definitions: chaos-mesh-dashboard-api-openapi.yml, chaos-mesh-dashboard-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: http://localhost:2333/api
description: Default Chaos Mesh Dashboard server
- url: http://{dashboardHost}:{dashboardPort}
description: Chaos Mesh Dashboard API server
variables:
dashboardHost:
default: chaos-dashboard.chaos-testing
description: Hostname or service name for the Chaos Mesh Dashboard.
dashboardPort:
default: '2333'
description: Port on which the Chaos Mesh Dashboard API listens.
tags:
- name: Workflows
description: Create and manage chaos engineering workflows with multiple steps
paths:
/workflows:
get:
operationId: listWorkflows
summary: Chaos Mesh List workflows
description: Returns a list of chaos engineering workflows from the Kubernetes cluster. Workflows allow orchestrating multiple chaos experiments as a sequence of steps with parallel execution, conditional branching, and timing controls. Results can be filtered by namespace, name, and status.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/namespaceParam'
- name: name
in: query
description: Filter workflows by name.
required: false
schema:
type: string
- name: status
in: query
description: Filter workflows by status.
required: false
schema:
type: string
responses:
'200':
description: List of workflows returned successfully.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WorkflowMeta'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
post:
operationId: createWorkflow
summary: Chaos Mesh Create a new workflow
description: Creates a new chaos engineering workflow in the Kubernetes cluster. The request body is a Chaos Mesh Workflow custom resource that defines the entry point and sequence of chaos steps to execute, including serial and parallel task groups, suspends, and HTTP tasks.
tags:
- Workflows
requestBody:
description: Workflow custom resource definition.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KubeObjectDesc'
responses:
'200':
description: Workflow created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDetail'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
servers:
- url: http://localhost:2333/api
description: Default Chaos Mesh Dashboard server
/workflows/{uid}:
get:
operationId: getWorkflow
summary: Chaos Mesh Get workflow details
description: Returns detailed information about a specific chaos workflow identified by its UID. The response includes the workflow topology, node states, and execution progress of each step.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/uidParam'
responses:
'200':
description: Workflow details returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDetail'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
put:
operationId: updateWorkflow
summary: Chaos Mesh Update a workflow
description: Updates an existing chaos workflow with a new definition. The workflow spec is replaced with the provided Kubernetes object description.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/uidParam'
requestBody:
description: Updated workflow custom resource definition.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/KubeObjectDesc'
responses:
'200':
description: Workflow updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDetail'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
delete:
operationId: deleteWorkflow
summary: Chaos Mesh Delete a workflow
description: Deletes a specific chaos workflow by its UID. The workflow and all its associated Kubernetes resources are removed.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/uidParam'
responses:
'200':
description: Workflow deleted successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/StatusResponse'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
servers:
- url: http://localhost:2333/api
description: Default Chaos Mesh Dashboard server
/workflows/parse-task/http:
post:
operationId: parseWorkflowHttpTask
summary: Chaos Mesh Parse an HTTP workflow task
description: Parses a rendered HTTP workflow task template back to the original request form. Used by the UI to convert between internal representations and editable form data for HTTP tasks in workflows.
tags:
- Workflows
requestBody:
description: Rendered HTTP task template to parse.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Template'
responses:
'200':
description: Task parsed successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/HttpRequestForm'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
servers:
- url: http://localhost:2333/api
description: Default Chaos Mesh Dashboard server
/workflows/render-task/http:
post:
operationId: renderWorkflowHttpTask
summary: Chaos Mesh Render an HTTP workflow task
description: Renders an HTTP workflow task from a request form into the final template format used in workflow definitions. This converts the UI form submission into the internal Template representation.
tags:
- Workflows
requestBody:
description: HTTP task request form to render.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/HttpRequestForm'
responses:
'200':
description: Task rendered successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/Template'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
servers:
- url: http://localhost:2333/api
description: Default Chaos Mesh Dashboard server
/workflows/validate-task/http:
post:
operationId: validateWorkflowHttpTask
summary: Chaos Mesh Validate an HTTP workflow task
description: Validates that a given rendered Template is a valid HTTP task. Returns true if the template is valid, false or an error if it is not.
tags:
- Workflows
requestBody:
description: Rendered template to validate.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Template'
responses:
'200':
description: Validation result returned.
content:
application/json:
schema:
type: boolean
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
servers:
- url: http://localhost:2333/api
description: Default Chaos Mesh Dashboard server
/api/workflows:
get:
operationId: listWorkflows
summary: Chaos Mesh List workflows
description: Returns a list of Chaos Mesh workflows. Workflows allow orchestrating multiple chaos experiments in serial or parallel sequences. Results can be filtered by namespace, name, and status.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/NamespaceQuery'
- $ref: '#/components/parameters/NameQuery'
- $ref: '#/components/parameters/StatusQuery'
responses:
'200':
description: List of workflows
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WorkflowSummary'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
security:
- bearerAuth: []
post:
operationId: createWorkflow
summary: Chaos Mesh Create a workflow
description: Creates a new Chaos Mesh workflow for orchestrating multiple chaos experiments. The workflow spec defines a directed acyclic graph of tasks that can run in serial, parallel, or with suspend steps. Each task can reference a chaos template or be a sub-workflow.
tags:
- Workflows
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowCreateRequest'
responses:
'200':
description: Workflow created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDetail_2'
'400':
$ref: '#/components/responses/BadRequest_2'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalError'
security:
- bearerAuth: []
servers:
- url: http://{dashboardHost}:{dashboardPort}
description: Chaos Mesh Dashboard API server
variables:
dashboardHost:
default: chaos-dashboard.chaos-testing
description: Hostname or service name for the Chaos Mesh Dashboard.
dashboardPort:
default: '2333'
description: Port on which the Chaos Mesh Dashboard API listens.
/api/workflows/{uid}:
get:
operationId: getWorkflow
summary: Chaos Mesh Get a workflow
description: Returns detailed information about a specific workflow including its current execution state, the status of each task node, and associated event history.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/WorkflowUID'
responses:
'200':
description: Workflow details
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDetail_2'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound_2'
'500':
$ref: '#/components/responses/InternalError'
security:
- bearerAuth: []
put:
operationId: updateWorkflow
summary: Chaos Mesh Update a workflow
description: Updates an existing workflow definition. The updated spec replaces the existing workflow configuration. Running workflow nodes are not interrupted; changes take effect on future executions.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/WorkflowUID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowCreateRequest'
responses:
'200':
description: Workflow updated
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDetail_2'
'400':
$ref: '#/components/responses/BadRequest_2'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound_2'
security:
- bearerAuth: []
delete:
operationId: deleteWorkflow
summary: Chaos Mesh Delete a workflow
description: Deletes a Chaos Mesh workflow and stops any running chaos tasks within it. The deleted workflow is moved to the archives.
tags:
- Workflows
parameters:
- $ref: '#/components/parameters/WorkflowUID'
responses:
'200':
description: Workflow deleted successfully
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound_2'
security:
- bearerAuth: []
servers:
- url: http://{dashboardHost}:{dashboardPort}
description: Chaos Mesh Dashboard API server
variables:
dashboardHost:
default: chaos-dashboard.chaos-testing
description: Hostname or service name for the Chaos Mesh Dashboard.
dashboardPort:
default: '2333'
description: Port on which the Chaos Mesh Dashboard API listens.
components:
schemas:
HttpRequestForm:
type: object
description: Form representation of an HTTP workflow task for use in the UI.
properties:
url:
type: string
format: uri
description: Target URL for the HTTP request.
method:
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
- HEAD
description: HTTP method to use.
headers:
type: object
description: HTTP headers to include in the request.
additionalProperties:
type: string
body:
type: string
description: Request body content.
follow_redirects:
type: boolean
description: Whether to follow HTTP redirects.
timeout:
type: string
description: Request timeout duration.
Topology:
type: object
description: Workflow execution topology showing nodes and their states.
properties:
nodes:
type: array
description: List of workflow nodes representing individual steps.
items:
$ref: '#/components/schemas/Node'
ConditionalBranch:
type: object
description: A conditional branch in a workflow that executes based on an expression.
properties:
target:
type: string
description: Name of the template to execute if the condition is true.
expression:
type: string
description: Boolean expression that determines whether to take this branch.
WorkflowDetail:
type: object
description: Detailed information about a chaos workflow including node topology.
properties:
uid:
type: string
format: uuid
description: Unique identifier of the workflow.
name:
type: string
description: Name of the workflow.
namespace:
type: string
description: Kubernetes namespace of the workflow.
entry:
type: string
description: Entry point template name for the workflow.
created_at:
type: string
format: date-time
description: Timestamp when the workflow was created.
end_time:
type: string
format: date-time
description: Timestamp when the workflow finished.
status:
type: string
description: Current status of the workflow.
topology:
$ref: '#/components/schemas/Topology'
kube_object:
$ref: '#/components/schemas/KubeObjectDesc'
Node:
type: object
description: A node in the workflow topology representing a single execution step.
properties:
name:
type: string
description: Name of the workflow node.
uid:
type: string
description: UID of the workflow node.
type:
type: string
description: Type of workflow node (e.g., ChaosNode, SerialNode, ParallelNode, SuspendNode, TaskNode).
state:
type: string
description: Execution state of the node (e.g., Running, Succeeded, Failed, Pending).
template:
type: string
description: Template name this node is executing.
serial:
type: boolean
description: Whether this node is executing in serial order.
WorkflowMeta:
type: object
description: Summary metadata for a Chaos Mesh workflow.
properties:
uid:
type: string
format: uuid
description: Unique identifier of the workflow.
name:
type: string
description: Name of the workflow Kubernetes resource.
namespace:
type: string
description: Kubernetes namespace of the workflow.
entry:
type: string
description: Name of the entry template in the workflow.
created_at:
type: string
format: date-time
description: Timestamp when the workflow was created.
end_time:
type: string
format: date-time
description: Timestamp when the workflow finished, if applicable.
status:
type: string
description: Current status of the workflow.
StatusResponse:
type: object
description: Generic status response for operations that do not return a resource.
properties:
status:
type: string
description: Status of the operation (e.g., success).
KubeObjectMeta:
type: object
description: Kubernetes object metadata fields.
properties:
name:
type: string
description: Name of the Kubernetes resource.
namespace:
type: string
description: Kubernetes namespace of the resource.
labels:
type: object
description: Labels applied to the resource.
additionalProperties:
type: string
annotations:
type: object
description: Annotations applied to the resource.
additionalProperties:
type: string
Template:
type: object
description: A workflow template defining a single step or group in a chaos workflow.
properties:
name:
type: string
description: Unique name of the template within the workflow.
templateType:
type: string
description: Type of the template (e.g., Task, Serial, Parallel, Suspend, Schedule).
deadline:
type: string
description: Maximum duration for this template step.
task:
type: object
description: Task-specific configuration for HTTP or chaos tasks.
additionalProperties: true
children:
type: array
description: Child template names for serial or parallel groups.
items:
type: string
conditionalBranches:
type: array
description: Conditional branches for workflow decision points.
items:
$ref: '#/components/schemas/ConditionalBranch'
KubeObjectDesc:
type: object
description: A Kubernetes object description used to represent chaos custom resources. Contains the full spec of a Kubernetes resource including apiVersion, kind, metadata, and spec.
properties:
apiVersion:
type: string
description: Kubernetes API version (e.g., chaos-mesh.org/v1alpha1).
kind:
type: string
description: Kubernetes resource kind (e.g., PodChaos, NetworkChaos).
metadata:
$ref: '#/components/schemas/KubeObjectMeta'
spec:
type: object
description: Resource-specific spec object containing the chaos configuration.
additionalProperties: true
APIError:
type: object
description: Error response returned when an API request fails.
required:
- code
- message
properties:
code:
type: integer
description: HTTP status code of the error.
message:
type: string
description: Human-readable description of the error.
full_text:
type: string
description: Full error text including stack trace or detailed cause.
WorkflowDetail_2:
type: object
description: Full details of a Chaos Mesh workflow including spec and node status.
properties:
uid:
type: string
format: uuid
description: Unique identifier for the workflow.
namespace:
type: string
description: Kubernetes namespace of the workflow.
name:
type: string
description: Name of the workflow resource.
spec:
type: object
description: Full workflow specification as a Kubernetes custom resource spec.
additionalProperties: true
status:
type: string
description: Overall execution status.
topology:
type: object
description: Execution graph topology showing the current state of each task node in the workflow.
additionalProperties: true
WorkflowCreateRequest:
type: object
description: Request body for creating or updating a Chaos Mesh workflow.
required:
- apiVersion
- kind
- metadata
- spec
properties:
apiVersion:
type: string
const: chaos-mesh.org/v1alpha1
description: Chaos Mesh API version.
kind:
type: string
const: Workflow
description: Resource kind identifier.
metadata:
type: object
description: Kubernetes object metadata.
required:
- name
- namespace
properties:
name:
type: string
description: Name of the workflow resource.
namespace:
type: string
description: Kubernetes namespace for the workflow.
spec:
type: object
description: Workflow specification defining the entry point, templates, and task graph.
required:
- entry
- templates
properties:
entry:
type: string
description: Name of the entry point template in the workflow.
templates:
type: array
description: List of workflow task templates defining chaos experiments, suspend steps, serial sequences, or parallel groups.
items:
type: object
additionalProperties: true
WorkflowSummary:
type: object
description: Summary of a Chaos Mesh workflow as returned in list operations.
properties:
uid:
type: string
format: uuid
description: Unique identifier for the workflow.
namespace:
type: string
description: Kubernetes namespace of the workflow.
name:
type: string
description: Name of the workflow resource.
example: resilience-test-workflow
entry:
type: string
description: Entry point task name for the workflow graph.
status:
type: string
description: Overall execution status of the workflow.
created_at:
type: string
format: date-time
description: Timestamp when the workflow was created.
end_time:
type: string
format: date-time
description: Timestamp when the workflow completed, if finished.
ErrorResponse:
type: object
description: Error response returned when an API operation fails.
properties:
code:
type: integer
description: HTTP status code.
example: 404
message:
type: string
description: Human-readable error message.
example: experiment not found
parameters:
namespaceParam:
name: namespace
in: query
description: Kubernetes namespace to scope the request to.
required: false
schema:
type: string
uidParam:
name: uid
in: path
description: UUID of the chaos resource.
required: true
schema:
type: string
format: uuid
NamespaceQuery:
name: namespace
in: query
required: false
description: Kubernetes namespace to filter results by. If omitted, returns results from all namespaces.
schema:
type: string
example: default
NameQuery:
name: name
in: query
required: false
description: Name substring to filter results by.
schema:
type: string
WorkflowUID:
name: uid
in: path
required: true
description: Unique identifier (UUID) of the workflow.
schema:
type: string
format: uuid
StatusQuery:
name: status
in: query
required: false
description: Status to filter experiments or schedules by.
schema:
type: string
enum:
- injecting
- running
- finished
- paused
- stopped
responses:
NotFound:
description: Resource not found.
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
BadRequest:
description: Bad request — invalid parameters or request body.
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
InternalServerError:
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/APIError'
NotFound_2:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized — authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
InternalError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest_2:
description: Bad request — invalid parameters or malformed body
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Bearer token for authenticating API requests. Typically a Kubernetes service account token with RBAC permissions to read/write Chaos Mesh custom resources in the target namespaces.
externalDocs:
description: Chaos Mesh Documentation
url: https://chaos-mesh.org/docs/
x-refined-from:
- chaos-mesh-dashboard-api-openapi.yml
- chaos-mesh-dashboard-openapi.yml