openapi: 3.1.0 info: title: Chaos Mesh Dashboard Archives Schedules 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: Schedules description: Create and manage scheduled chaos experiments paths: /schedules: get: operationId: listSchedules summary: Chaos Mesh List chaos schedules description: Returns a list of chaos schedules from the Kubernetes cluster. Schedules define recurring chaos experiments using cron expressions. Results can be filtered by namespace, name, and kind. tags: - Schedules parameters: - $ref: '#/components/parameters/namespaceParam' - name: name in: query description: Filter schedules by name. required: false schema: type: string - name: kind in: query description: Filter schedules by chaos kind. required: false schema: type: string - name: status in: query description: Filter schedules by status. required: false schema: type: string responses: '200': description: List of schedules returned successfully. content: application/json: schema: type: array items: $ref: '#/components/schemas/Schedule' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' post: operationId: createSchedule summary: Chaos Mesh Create a new schedule description: Creates a new chaos schedule that runs a chaos experiment on a recurring cron schedule. The request body is a Chaos Mesh Schedule custom resource which wraps a chaos experiment spec with scheduling parameters including the cron expression, history limit, and concurrency policy. tags: - Schedules requestBody: description: Schedule custom resource definition. required: true content: application/json: schema: $ref: '#/components/schemas/KubeObjectDesc' responses: '200': description: Schedule created successfully. content: application/json: schema: $ref: '#/components/schemas/KubeObjectDesc' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' delete: operationId: batchDeleteSchedules summary: Chaos Mesh Batch delete schedules description: Deletes multiple chaos schedules in a single request using a comma-separated list of UIDs. tags: - Schedules parameters: - name: uids in: query description: Comma-separated list of schedule UIDs to delete. required: true schema: type: string - name: force in: query description: Force delete schedules without graceful cleanup. required: false schema: type: boolean default: false responses: '200': description: Schedules deleted successfully. content: application/json: schema: $ref: '#/components/schemas/StatusResponse' '400': $ref: '#/components/responses/BadRequest' '500': $ref: '#/components/responses/InternalServerError' /schedules/{uid}: get: operationId: getSchedule summary: Chaos Mesh Get a schedule description: Returns detailed information about a specific chaos schedule identified by its UID, including its cron expression, experiment template, and execution history. tags: - Schedules parameters: - $ref: '#/components/parameters/uidParam' responses: '200': description: Schedule details returned successfully. content: application/json: schema: $ref: '#/components/schemas/ScheduleDetail' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' delete: operationId: deleteSchedule summary: Chaos Mesh Delete a schedule description: Deletes a specific chaos schedule by its UID. The schedule and all its associated Kubernetes resources are removed. tags: - Schedules parameters: - $ref: '#/components/parameters/uidParam' - name: force in: query description: Force delete without graceful cleanup. required: false schema: type: boolean default: false responses: '200': description: Schedule 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' /schedules/pause/{uid}: put: operationId: pauseSchedule summary: Chaos Mesh Pause a schedule description: Pauses a chaos schedule by its UID, preventing future scheduled runs from executing. Currently running experiments triggered by the schedule are not affected. tags: - Schedules parameters: - $ref: '#/components/parameters/uidParam' responses: '200': description: Schedule paused successfully. content: application/json: schema: $ref: '#/components/schemas/StatusResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /schedules/start/{uid}: put: operationId: startSchedule summary: Chaos Mesh Start a schedule description: Resumes a paused chaos schedule by its UID, allowing future cron-triggered runs to execute again. tags: - Schedules parameters: - $ref: '#/components/parameters/uidParam' responses: '200': description: Schedule started successfully. content: application/json: schema: $ref: '#/components/schemas/StatusResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /api/schedules: get: operationId: listSchedules summary: Chaos Mesh List schedules description: Returns a list of chaos experiment schedules. Schedules use cron expressions to trigger chaos experiments automatically at configured intervals. Results can be filtered by namespace, name, and status. tags: - Schedules parameters: - $ref: '#/components/parameters/NamespaceQuery' - $ref: '#/components/parameters/NameQuery' - $ref: '#/components/parameters/StatusQuery' responses: '200': description: List of schedules content: application/json: schema: type: array items: $ref: '#/components/schemas/ScheduleSummary' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' post: operationId: createSchedule summary: Chaos Mesh Create a schedule description: Creates a new chaos experiment schedule. The schedule wraps a chaos experiment spec with a cron expression and optional history limits. The chaos experiment is instantiated automatically each time the schedule fires. tags: - Schedules requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ScheduleCreateRequest' responses: '200': description: Schedule created successfully content: application/json: schema: $ref: '#/components/schemas/ScheduleDetail_2' '400': $ref: '#/components/responses/BadRequest_2' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' /api/schedules/{uid}: get: operationId: getSchedule summary: Chaos Mesh Get a schedule description: Returns detailed information about a specific chaos schedule including its cron expression, embedded chaos spec, and history of triggered experiment instances. tags: - Schedules parameters: - $ref: '#/components/parameters/ScheduleUID' responses: '200': description: Schedule details content: application/json: schema: $ref: '#/components/schemas/ScheduleDetail_2' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound_2' delete: operationId: deleteSchedule summary: Chaos Mesh Delete a schedule description: Deletes a chaos experiment schedule. No further experiment instances will be created. Running experiments triggered by the schedule are not affected. tags: - Schedules parameters: - $ref: '#/components/parameters/ScheduleUID' responses: '200': description: Schedule deleted successfully '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound_2' /api/schedules/{uid}/pause: put: operationId: pauseSchedule summary: Chaos Mesh Pause a schedule description: Pauses a chaos schedule so that no new experiment instances are created while the schedule is suspended. Existing running experiments are not affected. tags: - Schedules parameters: - $ref: '#/components/parameters/ScheduleUID' responses: '200': description: Schedule paused '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound_2' /api/schedules/{uid}/start: put: operationId: startSchedule summary: Chaos Mesh Start (resume) a schedule description: Resumes a paused chaos schedule so that new experiment instances are created again on the configured cron schedule. tags: - Schedules parameters: - $ref: '#/components/parameters/ScheduleUID' responses: '200': description: Schedule resumed '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound_2' components: schemas: ScheduleDetail: type: object description: Detailed information about a chaos schedule. properties: uid: type: string format: uuid description: Unique identifier of the schedule. name: type: string description: Name of the schedule. namespace: type: string description: Kubernetes namespace of the schedule. kind: type: string description: Chaos kind used by this schedule. created_at: type: string format: date-time description: Timestamp when the schedule was created. status: type: string description: Current status of the schedule. kube_object: $ref: '#/components/schemas/KubeObjectDesc' Schedule: type: object description: Summary of a Chaos Mesh schedule. properties: uid: type: string format: uuid description: Unique identifier of the schedule. name: type: string description: Name of the schedule resource. namespace: type: string description: Kubernetes namespace of the schedule. kind: type: string description: Chaos kind used by this schedule. created_at: type: string format: date-time description: Timestamp when the schedule was created. status: type: string description: Current status of the schedule. 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. ScheduleDetail_2: type: object description: Full details of a chaos schedule including spec and experiment history. properties: uid: type: string format: uuid description: Unique identifier for the schedule. namespace: type: string description: Kubernetes namespace of the schedule. name: type: string description: Name of the schedule resource. spec: type: object description: Full schedule specification as a Kubernetes custom resource spec. additionalProperties: true status: type: string description: Current execution status. 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 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 ScheduleSummary: type: object description: Summary of a chaos schedule as returned in list operations. properties: uid: type: string format: uuid description: Unique identifier for the schedule. namespace: type: string description: Kubernetes namespace of the schedule. name: type: string description: Name of the schedule resource. kind: type: string description: Chaos type kind of the wrapped experiment. status: type: string description: Current status of the schedule. created_at: type: string format: date-time description: Timestamp when the schedule was created. ScheduleCreateRequest: type: object description: Request body for creating a chaos experiment schedule. required: - apiVersion - kind - metadata - spec properties: apiVersion: type: string const: chaos-mesh.org/v1alpha1 description: Chaos Mesh API version. kind: type: string const: Schedule description: Resource kind identifier. metadata: type: object description: Kubernetes object metadata. required: - name - namespace properties: name: type: string description: Name of the schedule resource. namespace: type: string description: Kubernetes namespace for the schedule. spec: type: object description: Schedule specification containing the cron expression, concurrency policy, history limits, and embedded chaos experiment spec. required: - schedule - type properties: schedule: type: string description: Cron expression defining when to trigger the experiment, e.g., '@every 10m' or '0 * * * *'. example: '@every 1h' concurrencyPolicy: type: string description: Policy controlling what to do when a new experiment trigger fires while a previous one is still running. enum: - Forbid - Allow default: Forbid historyLimit: type: integer description: Maximum number of completed experiment instances to retain. minimum: 0 default: 1 type: type: string description: Chaos type kind for the embedded experiment. example: PodChaos 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 responses: 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' NotFound_2: description: Resource not found 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' InternalError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Unauthorized — authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalServerError: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/APIError' parameters: NameQuery: name: name in: query required: false description: Name substring to filter results by. schema: type: string StatusQuery: name: status in: query required: false description: Status to filter experiments or schedules by. schema: type: string enum: - injecting - running - finished - paused - stopped ScheduleUID: name: uid in: path required: true description: Unique identifier (UUID) of the schedule. schema: type: string format: uuid uidParam: name: uid in: path description: UUID of the chaos resource. required: true schema: type: string format: uuid namespaceParam: name: namespace in: query description: Kubernetes namespace to scope the request to. required: false schema: type: string 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 externalDocs: description: Chaos Mesh Documentation url: https://chaos-mesh.org/docs/