AWS Fault Injection Simulator API

The AWS Fault Injection Simulator API provides programmatic access to create and manage experiment templates, experiments, and actions for conducting chaos engineering experiments on AWS workloads.

Documentation

Specifications

Examples

Schemas & Data

Other Resources

OpenAPI Specification

amazon-fis-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Fault Injection Simulator 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'
externalDocs:
  description: AWS FIS API Reference
  url: https://docs.aws.amazon.com/fis/latest/APIReference/Welcome.html
servers:
- url: https://fis.{region}.amazonaws.com
  description: AWS FIS Regional Endpoint
  variables:
    region:
      default: us-east-1
      description: AWS Region
tags:
- name: Experiment Templates
  description: Create and manage fault injection experiment templates
- name: Experiments
  description: Start, stop, and monitor fault injection experiments
- name: Actions
  description: Discover available FIS fault injection actions
- name: Target Resource Types
  description: Discover available target resource types
- name: Safety Levers
  description: Manage safety levers for experiment control
- name: Target Account Configurations
  description: Configure multi-account experiment targets
- name: Tagging
  description: Manage tags on FIS resources
security:
- aws_signature_v4: []
paths:
  /experimentTemplates:
    post:
      operationId: createExperimentTemplate
      summary: AWS Fault Injection Simulator Create Experiment Template
      description: Creates an experiment template defining targets, actions, and stop conditions for fault injection experiments.
      tags:
      - Experiment Templates
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateExperimentTemplateRequest'
            examples:
              CreateExperimentTemplateRequestExample:
                summary: Default createExperimentTemplate request
                x-microcks-default: true
                value:
                  clientToken: token-abc123
                  description: Test EC2 instance failure
                  stopConditions:
                  - source: aws:cloudwatch:alarm
                    value: arn:aws:cloudwatch:us-east-1:123456789012:alarm/my-alarm
                  targets:
                    myTargets:
                      resourceType: aws:ec2:instance
                      resourceTags:
                        Environment: test
                      selectionMode: ALL
                  actions:
                    stopInstances:
                      actionId: aws:ec2:stop-instances
                      targets:
                        Instances: myTargets
      responses:
        '200':
          description: Template created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentTemplateResponse'
              examples:
                CreateExperimentTemplate200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experimentTemplate:
                      id: EXT123
                      description: Test EC2 instance failure
                      status:
                        status: active
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict
          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: listExperimentTemplates
      summary: AWS Fault Injection Simulator List Experiment Templates
      description: Lists your experiment templates.
      tags:
      - Experiment Templates
      parameters:
      - name: maxResults
        in: query
        description: Maximum results
        schema:
          type: integer
        example: 20
      - name: nextToken
        in: query
        description: Pagination token
        schema:
          type: string
      responses:
        '200':
          description: List of templates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExperimentTemplatesResponse'
              examples:
                ListExperimentTemplates200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experimentTemplates:
                    - id: EXT123
                      description: Test EC2 failure
                      creationTime: '2026-04-19T12:00:00Z'
        '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
  /experimentTemplates/{id}:
    get:
      operationId: getExperimentTemplate
      summary: AWS Fault Injection Simulator Get Experiment Template
      description: Gets information about the specified experiment template.
      tags:
      - Experiment Templates
      parameters:
      - name: id
        in: path
        required: true
        description: Experiment template ID
        schema:
          type: string
        example: EXT123
      responses:
        '200':
          description: Template details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentTemplateResponse'
              examples:
                GetExperimentTemplate200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experimentTemplate:
                      id: EXT123
                      description: Test EC2 failure
        '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
    patch:
      operationId: updateExperimentTemplate
      summary: AWS Fault Injection Simulator Update Experiment Template
      description: Updates the specified experiment template.
      tags:
      - Experiment Templates
      parameters:
      - name: id
        in: path
        required: true
        description: Template ID
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateExperimentTemplateRequest'
            examples:
              UpdateExperimentTemplateRequestExample:
                summary: Default request
                x-microcks-default: true
                value:
                  description: Updated description
      responses:
        '200':
          description: Template updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentTemplateResponse'
              examples:
                UpdateExperimentTemplate200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experimentTemplate:
                      id: EXT123
                      description: Updated description
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '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: deleteExperimentTemplate
      summary: AWS Fault Injection Simulator Delete Experiment Template
      description: Deletes the specified experiment template.
      tags:
      - Experiment Templates
      parameters:
      - name: id
        in: path
        required: true
        description: Template ID
        schema:
          type: string
      responses:
        '200':
          description: Template deleted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExperimentTemplateResponse'
              examples:
                DeleteExperimentTemplate200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    experimentTemplate:
                      id: EXT123
        '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
  /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
  /actions:
    get:
      operationId: listActions
      summary: AWS Fault Injection Simulator List Actions
      description: Lists the available FIS actions.
      tags:
      - Actions
      parameters:
      - name: maxResults
        in: query
        description: Maximum results
        schema:
          type: integer
      - name: nextToken
        in: query
        description: Pagination token
        schema:
          type: string
      responses:
        '200':
          description: List of actions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListActionsResponse'
              examples:
                ListActions200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    actions:
                    - id: aws:ec2:stop-instances
                      description: Stop EC2 instances
                    - id: aws:rds:failover-db-cluster
                      description: Failover RDS cluster
        '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
  /actions/{id}:
    get:
      operationId: getAction
      summary: AWS Fault Injection Simulator Get Action
      description: Gets information about the specified FIS action.
      tags:
      - Actions
      parameters:
      - name: id
        in: path
        required: true
        description: Action ID
        schema:
          type: string
        example: aws:ec2:stop-instances
      responses:
        '200':
          description: Action details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionResponse'
              examples:
                GetAction200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    action:
                      id: aws:ec2:stop-instances
                      description: Stop EC2 instances
                      targets:
                        Instances:
                          resourceType: aws:ec2:instance
                          selectionMode: ALL
        '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
  /targetResourceTypes:
    get:
      operationId: listTargetResourceTypes
      summary: AWS Fault Injection Simulator List Target Resource Types
      description: Lists the target resource types.
      tags:
      - Target Resource Types
      parameters:
      - name: maxResults
        in: query
        description: Maximum results
        schema:
          type: integer
      - name: nextToken
        in: query
        description: Pagination token
        schema:
          type: string
      responses:
        '200':
          description: List of resource types
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTargetResourceTypesResponse'
              examples:
                ListTargetResourceTypes200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    targetResourceTypes:
                    - resourceType: aws:ec2:instance
                      description: EC2 Instance
                    - resourceType: aws:rds:cluster
                      description: RDS Cluster
        '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
  /targetResourceTypes/{resourceType}:
    get:
      operationId: getTargetResourceType
      summary: AWS Fault Injection Simulator Get Target Resource Type
      description: Gets information about the specified resource type.
      tags:
      - Target Resource Types
      parameters:
      - name: resourceType
        in: path
        required: true
        description: Resource type
        schema:
          type: string
        example: aws:ec2:instance
      responses:
        '200':
          description: Resource type details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetResourceTypeResponse'
              examples:
                GetTargetResourceType200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    targetResourceType:
                      resourceType: aws:ec2:instance
                      description: EC2 Instance
                      parameters: {}
        '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
  /safetyLevers/{id}:
    get:
      operationId: getSafetyLever
      summary: AWS Fault Injection Simulator Get Safety Lever
      description: Gets information about the specified safety lever.
      tags:
      - Safety Levers
      parameters:
      - name: id
        in: path
        required: true
        description: Safety lever ID
        schema:
          type: string
        example: SL123
      responses:
        '200':
          description: Safety lever details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SafetyLeverResponse'
              examples:
                GetSafetyLever200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    safetyLever:
                      id: SL123
                      arn: arn:aws:fis:us-east-1:123456789012:safety-lever/SL123
                      state:
                        status: engaged
                        reason: No active experiments
        '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
    patch:
      operationId: updateSafetyLeverState
      summary: AWS Fault Injection Simulator Update Safety Lever State
      description: Updates the state of the safety lever.
      tags:
      - Safety Levers
      parameters:
      - name: id
        in: path
        required: true
        description: Safety lever ID
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSafetyLeverStateRequest'
            examples:
              UpdateSafetyLeverStateRequestExample:
                summary: Default request
                x-microcks-default: true
                value:
                  state:
                    status: disengaged
                    reason: Running planned experiment
      responses:
        '200':
          description: Safety lever updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SafetyLeverResponse'
              examples:
                UpdateSafetyLeverState200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    safetyLever:
                      id: SL123
                      state:
                        status: disengaged
                        reason: Running planned experiment
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '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
  /tags/{resourceArn}:
    get:
      operationId: listTagsForResource
      summary: AWS Fault Injection Simulator List Tags for Resource
      description: Lists the tags for the specified resource.
      tags:
      - Tagging
      parameters:
      - name: resourceArn
        in: path
        required: true
        description: Resource ARN
        schema:
          type: string
      responses:
        '200':
          description: Tags returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTagsResponse'
              examples:
                ListTagsForResource200Example:
                  summary: Default response
                  x-microcks-default: true
                  value:
                    tags:
                      Environment: test
                      Team: platform
        '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
    post:
      operationId: tagResource
      summary: AWS Fault Injection Simulator Tag a Resource
      description: Applies tags to the specified resource.
      tags:
      - Tagging
      parameters:
      - name: resourceArn
        in: path
        required: true
        description: Resource ARN
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagResourceRequest'
            examples:
              TagResourceRequestExample:
                summary: Default request
                x-microcks-default: true
                value:
                  tags:
                    Environment: test
                    Team: platform
      responses:
        '200':
          description: Tags applied
          content:
            application/json:
              schema:
                type: object
              examples:
                TagResource200Example:
                  summary: Default response
                  x-microcks-default: true
                  value: {}
        '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
    delete:
      operationId: untagResource
      summary: AWS Fault Injection Simulator Untag a Resource
      description: Removes tags from the specified resource.
      tags:
      - Tagging
      parameters:
      - name: resourceArn
        in: path
        required: true
        description: Resource ARN
        schema:
          type: string
      - name: tagKeys
        in: query
        description: Tag keys to remove
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Tags removed
          content:
            application/json:
              schema:
                type: object
              examples:
                UntagResource200Example:
                  summary: Default response
                  x-microcks-default: true
                  value: {}
        '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
components:
  securitySchemes:
    aws_signature_v4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4 authentication
  schemas:
    ExperimentTemplate:
      type: object
      description: An experiment template defining fault injection targets, actions, and stop conditions
      properties:
        id:
          type: string
          description: Template ID
          example: EXT123
        arn:
          type: string
          description: Template ARN
          example: arn:aws:fis:us-east-1:123456789012:experiment-template/EXT123
        description:
          type: string
          description: Template description
          example: Test EC2 instance failure
        targets:
          type: object
          description: Target definitions
          additionalProperties:
            $ref: '#/components/schemas/ExperimentTemplateTarget'
        actions:
          type: object
          description: Action definitions
          additionalProperties:
            $ref: '#/components/schemas/ExperimentTemplateAction'
        stopConditions:
          type: array
          description: Stop conditions
          items:
            $ref: '#/components/schemas/ExperimentTemplateStopCondition'
        creationTime:
          type: string
          format: date-time
          description: Template creation time
          example: '2026-04-19T12:00:00Z'
        lastUpdateTime:
          type: string
          format: date-time
          description: Last update time
        roleArn:
          type: string
          description: IAM role ARN for experiment execution
        tags:
          type: object
          description: Resource tags
          additionalProperties:
            type: string
    ExperimentTemplateTarget:
      type: object
      description: Target definition in an experiment template
      properties:
        resourceType:
          type: string
          description: AWS resource type
          example: aws:ec2:instance
        resourceArns:
          type: array
          description: Specific resource ARNs
          items:
            type: string
        resourceTags:
          type: object
          description: Tags to filter resources
          additionalProperties:
            type: string
        filters:
          type: array
          description: Resource filters
          items:
     

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-fault-injection-simulator/refs/heads/main/openapi/amazon-fis-openapi.yml