# Stop EC2 instances

Canonical URL: https://docs.fuse.init.inc/integrations/aws/actions/ec2.instances.stop

Stop up to 50 EC2 instances without force, hibernate, or skip-OS-shutdown flags. Unsafe with one SDK attempt. Requires ec2:StopInstances.

Action ID: `ec2.instances.stop`
Provider: AWS (`aws`)
Contract version: 1

## Risk and exposure

- Risk: Destructive
- Idempotency: Unsafe — Retries may duplicate side effects; callers must coordinate carefully.
- Availability: Default
- Exposure: REST, SDK
- MCP hints: readOnly=false, destructive=true, idempotent=false, openWorld=true

## Required scopes

- `ec2:StopInstances`

## Input schema fields

- `instance_ids`
- `instance_ids[]`
- `region`

## Output schema fields

- `instances`
- `instances[]`
- `instances[].resource_id`
- `instances[].previous_state`
- `instances[].current_state`

Provider overview: https://docs.fuse.init.inc/integrations/aws
Actions index: https://docs.fuse.init.inc/integrations/aws/actions
Exact canonical JSON contract: https://docs.fuse.init.inc/api/catalog/v1/providers/aws/actions/ec2.instances.stop
Deployment-effective discovery: https://api.fuse.init.inc/v1/tenants/%7Btenant_id%7D/providers/aws/actions
