> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracecat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon S3

> Reference for the Tracecat Amazon S3 integration: registered actions, required secrets, expected inputs, and example workflow usage.

## Call S3 method

Action ID: `tools.amazon_s3.call_method`

Instantiate a S3 client and call a S3 method.

Reference: [https://docs.aws.amazon.com/boto3/latest/guide/s3-example-download-file.html](https://docs.aws.amazon.com/boto3/latest/guide/s3-example-download-file.html)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="method_name" type="string" required>
  S3 method name.
</ParamField>

<ParamField path="params" type="object" required>
  S3 method parameters.
</ParamField>

<ParamField path="endpoint_url" type="string | null">
  Endpoint URL for the AWS S3 service.

  Default: `null`.
</ParamField>

<ParamField path="region_name" type="string | null">
  AWS service region to use for this request. Overrides the AWS\_REGION secret for the service client.

  Default: `null`.
</ParamField>

## Copy S3 objects

Action ID: `tools.amazon_s3.copy_objects`

Copy S3 objects from one bucket to another.

Reference: [https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.copy\_object](https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.copy_object)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="dst_bucket" type="string" required>
  Destination S3 bucket name.
</ParamField>

<ParamField path="prefix" type="string" required>
  Prefix to filter objects (e.g., 'manuals\_' for keys starting with 'manuals\_').
</ParamField>

<ParamField path="src_bucket" type="string" required>
  Source S3 bucket name.
</ParamField>

<ParamField path="endpoint_url" type="string | null">
  Endpoint URL for the AWS S3 service.

  Default: `null`.
</ParamField>

<ParamField path="region_name" type="string | null">
  AWS service region to use for this request. Overrides the AWS\_REGION secret for the service client.

  Default: `null`.
</ParamField>

## Delete S3 object

Action ID: `tools.amazon_s3.delete_object`

Delete an object from S3.

Reference: [https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.delete\_object](https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.delete_object)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="bucket" type="string" required>
  S3 bucket name.
</ParamField>

<ParamField path="key" type="string" required>
  S3 object key.
</ParamField>

<ParamField path="endpoint_url" type="string | null">
  Endpoint URL for the AWS S3 service.

  Default: `null`.
</ParamField>

<ParamField path="region_name" type="string | null">
  AWS service region to use for this request. Overrides the AWS\_REGION secret for the service client.

  Default: `null`.
</ParamField>

## Get S3 object

Action ID: `tools.amazon_s3.get_object`

Download an object from S3 and return its body as a string.

Reference: [https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.get\_object](https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.get_object)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="bucket" type="string" required>
  S3 bucket name.
</ParamField>

<ParamField path="key" type="string" required>
  S3 object key.
</ParamField>

<ParamField path="endpoint_url" type="string | null">
  Endpoint URL for the AWS S3 service.

  Default: `null`.
</ParamField>

<ParamField path="region_name" type="string | null">
  AWS service region to use for this request. Overrides the AWS\_REGION secret for the service client.

  Default: `null`.
</ParamField>

## Get S3 objects

Action ID: `tools.amazon_s3.get_objects`

Download multiple S3 objects and return their bodies as strings.

Reference: [https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.get\_object](https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.get_object)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="bucket" type="string" required>
  S3 bucket name.
</ParamField>

<ParamField path="keys" type="array[string]" required>
  S3 object keys.
</ParamField>

<ParamField path="endpoint_url" type="string | null">
  Endpoint URL for the AWS S3 service.

  Default: `null`.
</ParamField>

<ParamField path="region_name" type="string | null">
  AWS service region to use for this request. Overrides the AWS\_REGION secret for the service client.

  Default: `null`.
</ParamField>

## List S3 objects

Action ID: `tools.amazon_s3.list_objects`

List objects in an S3 bucket.

Reference: [https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.list\_objects\_v2](https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.list_objects_v2)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="bucket" type="string" required>
  S3 bucket name.
</ParamField>

<ParamField path="endpoint_url" type="string | null">
  Endpoint URL for the AWS S3 service.

  Default: `null`.
</ParamField>

<ParamField path="limit" type="integer">
  Maximum number of objects to return.

  Default: `1000`.
</ParamField>

<ParamField path="prefix" type="string | null">
  S3 object key prefix.

  Default: `null`.
</ParamField>

<ParamField path="region_name" type="string | null">
  AWS service region to use for this request. Overrides the AWS\_REGION secret for the service client.

  Default: `null`.
</ParamField>

## Parse S3 URI

Action ID: `tools.amazon_s3.parse_uri`

Parse an S3 URI into bucket name and object key.

Reference: [https://docs.aws.amazon.com/boto3/latest/guide/s3-example-download-file.html](https://docs.aws.amazon.com/boto3/latest/guide/s3-example-download-file.html)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="uri" type="string" required />

## Put S3 object

Action ID: `tools.amazon_s3.put_object`

Uploads an object to S3. The object key is validated and content decoded.

Reference: [https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.put\_object](https://docs.aws.amazon.com/boto3/latest/reference/services/s3.html#S3.Client.put_object)

### Secrets

Optional secrets:

* `amazon_s3`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`.

### Input fields

<ParamField path="bucket" type="string" required>
  S3 bucket name.
</ParamField>

<ParamField path="file_data" type="string" required>
  Base64 encoded content of the file to upload.
</ParamField>

<ParamField path="key" type="string" required>
  S3 object key.
</ParamField>

<ParamField path="endpoint_url" type="string | null">
  Endpoint URL for the AWS S3 service.

  Default: `null`.
</ParamField>

<ParamField path="region_name" type="string | null">
  AWS service region to use for this request. Overrides the AWS\_REGION secret for the service client.

  Default: `null`.
</ParamField>
