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: type: object selectionMode: type: string description: Selection mode example: ALL enum: - ALL - COUNT(n) - PERCENT(n) ExperimentTemplateAction: type: object description: Action definition in an experiment template properties: actionId: type: string description: FIS action ID example: aws:ec2:stop-instances description: type: string description: Action description parameters: type: object description: Action parameters additionalProperties: type: string targets: type: object description: Target mappings additionalProperties: type: string startAfter: type: array description: Actions that must complete first items: type: string ExperimentTemplateStopCondition: type: object description: Stop condition for an experiment properties: source: type: string description: Stop condition source example: aws:cloudwatch:alarm value: type: string description: CloudWatch alarm ARN or none example: arn:aws:cloudwatch:us-east-1:123456789012:alarm/my-alarm 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 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 Action: type: object description: An available FIS fault injection action properties: id: type: string description: Action ID example: aws:ec2:stop-instances arn: type: string description: Action ARN description: type: string description: Action description example: Stop EC2 instances parameters: type: object description: Action parameters additionalProperties: type: object targets: type: object description: Target definitions additionalProperties: type: object tags: type: object description: Resource tags additionalProperties: type: string TargetResourceType: type: object description: An available target resource type for FIS experiments properties: resourceType: type: string description: Resource type identifier example: aws:ec2:instance description: type: string description: Resource type description example: EC2 Instance parameters: type: object description: Resource type parameters additionalProperties: type: object SafetyLever: type: object description: A safety mechanism that can stop or prevent FIS experiments properties: id: type: string description: Safety lever ID example: SL123 arn: type: string description: Safety lever ARN example: arn:aws:fis:us-east-1:123456789012:safety-lever/SL123 state: $ref: '#/components/schemas/SafetyLeverState' SafetyLeverState: type: object description: State of a safety lever properties: status: type: string description: Safety lever status example: engaged enum: - engaged - disengaged - engaging - disengaging reason: type: string description: Status reason example: No active experiments ErrorResponse: type: object description: Error response from the FIS API properties: message: type: string description: Error message example: The specified resource does not exist. CreateExperimentTemplateRequest: type: object required: - clientToken - stopConditions - targets - actions - roleArn description: Request body for CreateExperimentTemplate properties: clientToken: type: string description: Idempotency token example: token-abc123 description: type: string description: Template description stopConditions: type: array description: Stop conditions items: $ref: '#/components/schemas/ExperimentTemplateStopCondition' targets: type: object description: Targets additionalProperties: $ref: '#/components/schemas/ExperimentTemplateTarget' actions: type: object description: Actions additionalProperties: $ref: '#/components/schemas/ExperimentTemplateAction' roleArn: type: string description: IAM role ARN tags: type: object description: Tags additionalProperties: type: string UpdateExperimentTemplateRequest: type: object description: Request body for UpdateExperimentTemplate properties: description: type: string description: Updated description stopConditions: type: array description: Updated stop conditions items: $ref: '#/components/schemas/ExperimentTemplateStopCondition' targets: type: object description: Updated targets additionalProperties: $ref: '#/components/schemas/ExperimentTemplateTarget' actions: type: object description: Updated actions additionalProperties: $ref: '#/components/schemas/ExperimentTemplateAction' roleArn: type: string description: Updated IAM role ARN ExperimentTemplateResponse: type: object description: Response containing experiment template properties: experimentTemplate: $ref: '#/components/schemas/ExperimentTemplate' ListExperimentTemplatesResponse: type: object description: List of experiment templates properties: experimentTemplates: type: array items: $ref: '#/components/schemas/ExperimentTemplate' nextToken: type: string description: Pagination token 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 ExperimentResponse: type: object description: Response containing experiment properties: experiment: $ref: '#/components/schemas/Experiment' ListExperimentsResponse: type: object description: List of experiments properties: experiments: type: array items: $ref: '#/components/schemas/Experiment' nextToken: type: string description: Pagination token ListActionsResponse: type: object description: List of actions properties: actions: type: array items: $ref: '#/components/schemas/Action' nextToken: type: string description: Pagination token ActionResponse: type: object description: Response containing action details properties: action: $ref: '#/components/schemas/Action' ListTargetResourceTypesResponse: type: object description: List of target resource types properties: targetResourceTypes: type: array items: $ref: '#/components/schemas/TargetResourceType' nextToken: type: string description: Pagination token TargetResourceTypeResponse: type: object description: Response containing target resource type properties: targetResourceType: $ref: '#/components/schemas/TargetResourceType' SafetyLeverResponse: type: object description: Response containing safety lever properties: safetyLever: $ref: '#/components/schemas/SafetyLever' UpdateSafetyLeverStateRequest: type: object required: - state description: Request to update safety lever state properties: state: $ref: '#/components/schemas/SafetyLeverState' TagResourceRequest: type: object required: - tags description: Request to tag a resource properties: tags: type: object description: Tags to apply additionalProperties: type: string ListTagsResponse: type: object description: Response containing resource tags properties: tags: type: object description: Resource tags additionalProperties: type: string