openapi: 3.1.0 info: title: Chaos Mesh Dashboard Archives Templates API description: The Chaos Mesh Dashboard API provides REST endpoints for managing chaos experiments, schedules, workflows, and events on Kubernetes clusters. Chaos Mesh is a cloud-native chaos engineering platform that supports fault injection into pods, nodes, networks, IO subsystems, and cloud provider resources. The Dashboard API is served by the chaos-dashboard component and is the backend for the Chaos Mesh web UI, accessible at /api on the dashboard server. version: '2.5' 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 servers: - url: http://localhost:2333/api description: Default Chaos Mesh Dashboard server tags: - name: Templates description: Manage reusable status check templates for workflows paths: /templates/statuschecks: get: operationId: listStatusCheckTemplates summary: Chaos Mesh List status check templates description: Returns a list of status check templates available for use in workflows. Status checks allow workflows to conditionally proceed based on external HTTP endpoint health checks. tags: - Templates parameters: - $ref: '#/components/parameters/namespaceParam' - name: name in: query description: Filter templates by name. required: false schema: type: string responses: '200': description: List of status check templates returned successfully. content: application/json: schema: type: array items: $ref: '#/components/schemas/StatusCheckTemplateBase' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' post: operationId: createStatusCheckTemplate summary: Chaos Mesh Create a status check template description: Creates a new status check template that can be referenced in workflow definitions. The template defines an HTTP endpoint to poll and the criteria for determining success or failure. tags: - Templates requestBody: description: Status check template to create. required: true content: application/json: schema: $ref: '#/components/schemas/StatusCheckTemplate' responses: '200': description: Template created successfully. content: application/json: schema: $ref: '#/components/schemas/StatusCheckTemplate' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /templates/statuschecks/statuscheck: get: operationId: getStatusCheckTemplate summary: Chaos Mesh Get a status check template description: Returns the detailed definition of a specific status check template identified by namespace and name query parameters. tags: - Templates parameters: - $ref: '#/components/parameters/namespaceParam' - name: name in: query description: Name of the status check template. required: true schema: type: string responses: '200': description: Status check template returned successfully. content: application/json: schema: $ref: '#/components/schemas/StatusCheckTemplateDetail' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' put: operationId: updateStatusCheckTemplate summary: Chaos Mesh Update a status check template description: Updates an existing status check template. The full template definition must be provided in the request body. tags: - Templates requestBody: description: Updated status check template definition. required: true content: application/json: schema: $ref: '#/components/schemas/StatusCheckTemplate' responses: '200': description: Template updated successfully. content: application/json: schema: $ref: '#/components/schemas/StatusCheckTemplate' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: operationId: deleteStatusCheckTemplate summary: Chaos Mesh Delete a status check template description: Deletes a status check template identified by namespace and name query parameters. tags: - Templates parameters: - $ref: '#/components/parameters/namespaceParam' - name: name in: query description: Name of the status check template to delete. required: true schema: type: string responses: '200': description: Template 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' components: responses: InternalServerError: description: Internal server error. 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' NotFound: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/APIError' schemas: HTTPStatusCheckSpec: type: object description: HTTP-specific configuration for a status check. properties: url: type: string format: uri description: URL to poll for the health check. method: type: string enum: - GET - POST description: HTTP method to use. headers: type: object description: HTTP headers to include in the request. additionalProperties: type: array items: type: string body: type: string description: Request body for POST requests. criteria: $ref: '#/components/schemas/HTTPCriteria' HTTPCriteria: type: object description: Criteria for determining a successful status check response. properties: statusCode: type: string description: Expected HTTP status code or range (e.g., "200" or "200-299"). StatusCheckSpec: type: object description: Specification for a status check that polls an HTTP endpoint. properties: type: type: string description: Type of status check (currently HTTP). enum: - HTTP intervalSeconds: type: integer minimum: 1 description: Polling interval in seconds. timeoutSeconds: type: integer minimum: 1 description: Timeout for each HTTP request in seconds. successThreshold: type: integer minimum: 1 description: Number of consecutive successes required to mark healthy. failureThreshold: type: integer minimum: 1 description: Number of consecutive failures required to mark unhealthy. http: $ref: '#/components/schemas/HTTPStatusCheckSpec' StatusCheckTemplate: type: object description: A status check template for use in workflow status check nodes. properties: namespace: type: string description: Kubernetes namespace. name: type: string description: Template name. spec: $ref: '#/components/schemas/StatusCheckSpec' StatusCheckTemplateDetail: type: object description: Detailed status check template with full spec. properties: namespace: type: string description: Kubernetes namespace. name: type: string description: Template name. created_at: type: string format: date-time description: Timestamp when the template was created. spec: $ref: '#/components/schemas/StatusCheckSpec' 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). 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. StatusCheckTemplateBase: type: object description: Base summary of a status check template. properties: namespace: type: string description: Kubernetes namespace of the template. name: type: string description: Name of the status check template. created_at: type: string format: date-time description: Timestamp when the template was created. parameters: namespaceParam: name: namespace in: query description: Kubernetes namespace to scope the request to. required: false schema: type: string externalDocs: description: Chaos Mesh Documentation url: https://chaos-mesh.org/docs/