Amazon Fault Injection Simulator Experiments API

Start, stop, and monitor fault injection experiments

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

amazon-fault-injection-simulator-experiments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Fault Injection Simulator Actions Experiments API
  description: AWS Fault Injection Simulator (FIS) is a fully managed service for running fault injection experiments on AWS. This API enables creating experiment templates, starting and stopping experiments, managing safety levers, and configuring multi-account targets for chaos engineering.
  version: '2020-12-01'
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  termsOfService: https://aws.amazon.com/service-terms/
  x-generated-from: documentation
  x-last-validated: '2026-04-19'
servers:
- url: https://fis.{region}.amazonaws.com
  description: AWS FIS Regional Endpoint
  variables:
    region:
      default: us-east-1
      description: AWS Region
security:
- aws_signature_v4: []
tags:
- name: Experiments
  description: Start, stop, and monitor fault injection experiments
paths:
  /experiments:
    post:
      operationId: startExperiment
      summary: AWS Fault Injection Simulator Start Experiment
      description: Starts running an experiment from the specified experiment template.
      tags:
      - Experiments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartExperimentRequest'
            examples:
              StartExperimentRequestExample:
                summary: Default request
                x-microcks-default: true
                value:
                  clientToken: token-abc123
                  experimentTemplateId: EXT123
                  tags:
                    Name: my-experiment
      responses:
        '200':
          description: Experiment started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentResponse'
              examples:
                StartExperiment200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experiment:
                      id: EXP123
                      experimentTemplateId: EXT123
                      state:
                        status: running
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Template not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: listExperiments
      summary: AWS Fault Injection Simulator List Experiments
      description: Lists your experiments.
      tags:
      - Experiments
      parameters:
      - name: maxResults
        in: query
        description: Maximum results
        schema:
          type: integer
      - name: nextToken
        in: query
        description: Pagination token
        schema:
          type: string
      - name: experimentTemplateId
        in: query
        description: Filter by template ID
        schema:
          type: string
      responses:
        '200':
          description: List of experiments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExperimentsResponse'
              examples:
                ListExperiments200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experiments:
                    - id: EXP123
                      experimentTemplateId: EXT123
                      state:
                        status: completed
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /experiments/{id}:
    get:
      operationId: getExperiment
      summary: AWS Fault Injection Simulator Get Experiment
      description: Gets information about the specified experiment.
      tags:
      - Experiments
      parameters:
      - name: id
        in: path
        required: true
        description: Experiment ID
        schema:
          type: string
        example: EXP123
      responses:
        '200':
          description: Experiment details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentResponse'
              examples:
                GetExperiment200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experiment:
                      id: EXP123
                      experimentTemplateId: EXT123
                      state:
                        status: running
                        reason: Experiment running normally
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: stopExperiment
      summary: AWS Fault Injection Simulator Stop Experiment
      description: Stops the specified experiment.
      tags:
      - Experiments
      parameters:
      - name: id
        in: path
        required: true
        description: Experiment ID
        schema:
          type: string
      responses:
        '200':
          description: Experiment stopped
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentResponse'
              examples:
                StopExperiment200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experiment:
                      id: EXP123
                      state:
                        status: stopping
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ListExperimentsResponse:
      type: object
      description: List of experiments
      properties:
        experiments:
          type: array
          items:
            $ref: '#/components/schemas/Experiment'
        nextToken:
          type: string
          description: Pagination token
    ErrorResponse:
      type: object
      description: Error response from the FIS API
      properties:
        message:
          type: string
          description: Error message
          example: The specified resource does not exist.
    ExperimentState:
      type: object
      description: Current state of an experiment
      properties:
        status:
          type: string
          description: Experiment status
          example: running
          enum:
          - pending
          - initiating
          - running
          - completed
          - stopping
          - stopped
          - failed
        reason:
          type: string
          description: Status reason
          example: Experiment running normally
    StartExperimentRequest:
      type: object
      required:
      - clientToken
      - experimentTemplateId
      description: Request body for StartExperiment
      properties:
        clientToken:
          type: string
          description: Idempotency token
        experimentTemplateId:
          type: string
          description: Template ID to start
          example: EXT123
        experimentOptions:
          type: object
          description: Experiment options
        tags:
          type: object
          description: Tags
          additionalProperties:
            type: string
    Experiment:
      type: object
      description: A fault injection experiment instance
      properties:
        id:
          type: string
          description: Experiment ID
          example: EXP123
        arn:
          type: string
          description: Experiment ARN
          example: arn:aws:fis:us-east-1:123456789012:experiment/EXP123
        experimentTemplateId:
          type: string
          description: Source template ID
          example: EXT123
        roleArn:
          type: string
          description: IAM role used
        state:
          $ref: '#/components/schemas/ExperimentState'
        targets:
          type: object
          description: Resolved targets
          additionalProperties:
            type: object
        actions:
          type: object
          description: Experiment actions
          additionalProperties:
            type: object
        stopConditions:
          type: array
          description: Stop conditions
          items:
            type: object
        startTime:
          type: string
          format: date-time
          description: Experiment start time
        endTime:
          type: string
          format: date-time
          description: Experiment end time
        tags:
          type: object
          description: Resource tags
          additionalProperties:
            type: string
    ExperimentResponse:
      type: object
      description: Response containing experiment
      properties:
        experiment:
          $ref: '#/components/schemas/Experiment'
  securitySchemes:
    aws_signature_v4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4 authentication
externalDocs:
  description: AWS FIS API Reference
  url: https://docs.aws.amazon.com/fis/latest/APIReference/Welcome.html