naftiko: 1.0.0-alpha2 info: label: Chaos Mesh Dashboard API — Experiments description: 'Chaos Mesh Dashboard API — Experiments. 8 operations. Lead operation: Chaos Mesh List chaos experiments. Self-contained Naftiko capability covering one Chaos Mesh business surface.' tags: - Chaos Mesh - Experiments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CHAOS_MESH_API_KEY: CHAOS_MESH_API_KEY capability: consumes: - type: http namespace: dashboard-experiments baseUri: http://localhost:2333/api description: Chaos Mesh Dashboard API — Experiments business capability. Self-contained, no shared references. resources: - name: experiments path: /experiments operations: - name: listexperiments method: GET description: Chaos Mesh List chaos experiments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Filter experiments by name (partial match supported). - name: kind in: query type: string description: Filter experiments by chaos kind (e.g., PodChaos, NetworkChaos, IOChaos, StressChaos, TimeChaos, HTTPChaos). - name: status in: query type: string description: Filter experiments by status (e.g., running, paused, finished). - name: createexperiment method: POST description: Chaos Mesh Create a new chaos experiment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: batchdeleteexperiments method: DELETE description: Chaos Mesh Batch delete chaos experiments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uids in: query type: string description: Comma-separated list of experiment UIDs to delete. required: true - name: force in: query type: boolean description: Force delete experiments without waiting for fault cleanup. - name: experiments-pause-uid path: /experiments/pause/{uid} operations: - name: pauseexperiment method: PUT description: Chaos Mesh Pause a chaos experiment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: experiments-start-uid path: /experiments/start/{uid} operations: - name: startexperiment method: PUT description: Chaos Mesh Start a chaos experiment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: experiments-state path: /experiments/state operations: - name: getexperimentsstate method: GET description: Chaos Mesh Get the status of all experiments outputRawFormat: json outputParameters: - name: result type: object value: $. - name: experiments-uid path: /experiments/{uid} operations: - name: getexperiment method: GET description: Chaos Mesh Get a chaos experiment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteexperiment method: DELETE description: Chaos Mesh Delete a chaos experiment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: force in: query type: boolean description: Force delete without waiting for fault cleanup. exposes: - type: rest namespace: dashboard-experiments-rest port: 8080 description: REST adapter for Chaos Mesh Dashboard API — Experiments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/experiments name: experiments description: REST surface for experiments. operations: - method: GET name: listexperiments description: Chaos Mesh List chaos experiments call: dashboard-experiments.listexperiments with: name: rest.name kind: rest.kind status: rest.status outputParameters: - type: object mapping: $. - method: POST name: createexperiment description: Chaos Mesh Create a new chaos experiment call: dashboard-experiments.createexperiment with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: batchdeleteexperiments description: Chaos Mesh Batch delete chaos experiments call: dashboard-experiments.batchdeleteexperiments with: uids: rest.uids force: rest.force outputParameters: - type: object mapping: $. - path: /v1/experiments/pause/{uid} name: experiments-pause-uid description: REST surface for experiments-pause-uid. operations: - method: PUT name: pauseexperiment description: Chaos Mesh Pause a chaos experiment call: dashboard-experiments.pauseexperiment outputParameters: - type: object mapping: $. - path: /v1/experiments/start/{uid} name: experiments-start-uid description: REST surface for experiments-start-uid. operations: - method: PUT name: startexperiment description: Chaos Mesh Start a chaos experiment call: dashboard-experiments.startexperiment outputParameters: - type: object mapping: $. - path: /v1/experiments/state name: experiments-state description: REST surface for experiments-state. operations: - method: GET name: getexperimentsstate description: Chaos Mesh Get the status of all experiments call: dashboard-experiments.getexperimentsstate outputParameters: - type: object mapping: $. - path: /v1/experiments/{uid} name: experiments-uid description: REST surface for experiments-uid. operations: - method: GET name: getexperiment description: Chaos Mesh Get a chaos experiment call: dashboard-experiments.getexperiment outputParameters: - type: object mapping: $. - method: DELETE name: deleteexperiment description: Chaos Mesh Delete a chaos experiment call: dashboard-experiments.deleteexperiment with: force: rest.force outputParameters: - type: object mapping: $. - type: mcp namespace: dashboard-experiments-mcp port: 9090 transport: http description: MCP adapter for Chaos Mesh Dashboard API — Experiments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: chaos-mesh-list-chaos-experiments description: Chaos Mesh List chaos experiments hints: readOnly: true destructive: false idempotent: true call: dashboard-experiments.listexperiments with: name: tools.name kind: tools.kind status: tools.status outputParameters: - type: object mapping: $. - name: chaos-mesh-create-new-chaos description: Chaos Mesh Create a new chaos experiment hints: readOnly: false destructive: false idempotent: false call: dashboard-experiments.createexperiment with: body: tools.body outputParameters: - type: object mapping: $. - name: chaos-mesh-batch-delete-chaos description: Chaos Mesh Batch delete chaos experiments hints: readOnly: false destructive: true idempotent: true call: dashboard-experiments.batchdeleteexperiments with: uids: tools.uids force: tools.force outputParameters: - type: object mapping: $. - name: chaos-mesh-pause-chaos-experiment description: Chaos Mesh Pause a chaos experiment hints: readOnly: false destructive: false idempotent: true call: dashboard-experiments.pauseexperiment outputParameters: - type: object mapping: $. - name: chaos-mesh-start-chaos-experiment description: Chaos Mesh Start a chaos experiment hints: readOnly: false destructive: false idempotent: true call: dashboard-experiments.startexperiment outputParameters: - type: object mapping: $. - name: chaos-mesh-get-status-all description: Chaos Mesh Get the status of all experiments hints: readOnly: true destructive: false idempotent: true call: dashboard-experiments.getexperimentsstate outputParameters: - type: object mapping: $. - name: chaos-mesh-get-chaos-experiment description: Chaos Mesh Get a chaos experiment hints: readOnly: true destructive: false idempotent: true call: dashboard-experiments.getexperiment outputParameters: - type: object mapping: $. - name: chaos-mesh-delete-chaos-experiment description: Chaos Mesh Delete a chaos experiment hints: readOnly: false destructive: true idempotent: true call: dashboard-experiments.deleteexperiment with: force: tools.force outputParameters: - type: object mapping: $.