# Presign S3 object GET

Canonical URL: https://docs.fuse.init.inc/integrations/aws/actions/s3.objects.presign_get

Create a time-limited GET URL for one object key. Signing does not prove the eventual request has permission; the URL is reusable until expiry. Requires s3:GetObject capability. Excluded from MCP.

Action ID: `s3.objects.presign_get`
Provider: AWS (`aws`)
Contract version: 1

## Risk and exposure

- Risk: Read
- Idempotency: Safe — Safe to retry without coordination; repeats do not create additional side effects.
- Availability: Default
- Exposure: REST, SDK
- MCP hints: readOnly=true, destructive=false, idempotent=true, openWorld=true

## Required scopes

- `s3:GetObject`

## Input schema fields

- `bucket`
- `key`
- `region`
- `expires_in_seconds`

## Output schema fields

- `url`
- `method`
- `expires_at`
- `required_headers`
- `required_headers.content-length`
- `required_headers.content-type`
- `required_headers.x-amz-checksum-sha256`

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/s3.objects.presign_get
Deployment-effective discovery: https://api.fuse.init.inc/v1/tenants/%7Btenant_id%7D/providers/aws/actions
