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

# amazon-s3

> Buckets, objects, and presigned URLs

**Server path:** `/amazon-s3` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`amazon-s3_list_buckets`](#amazon-s3_list_buckets)           | List all buckets in your S3 account                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [`amazon-s3_list_objects`](#amazon-s3_list_objects)           | List objects within a bucket with optional prefix and delimiter                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [`amazon-s3_list_folder`](#amazon-s3_list_folder)             | List contents of a specific folder in a bucket, showing both files and subfolders                                                                                                                                                                                                                                                                                                                                                                                                                           |
| [`amazon-s3_upload_file`](#amazon-s3_upload_file)             | Upload a file to S3 from a URL source                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [`amazon-s3_download_file`](#amazon-s3_download_file)         | Download a file from S3. IN WORKFLOWS: Files are automatically saved to Node Outputs - no manual save step needed. By default, automatically extracts text from supported document formats (PDF, DOCX, PPTX, XLSX) and includes it in the response. Text files (TXT, CSV) do not need extraction. STREAMING IS PREFERRED: Use stream=true (default) to get a pre-signed downloadUrl for efficient downloading of large files. Only use stream=false for small files (\<2MB) that need immediate processing. |
| [`amazon-s3_delete_file`](#amazon-s3_delete_file)             | Delete a file from S3                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [`amazon-s3_create_folder`](#amazon-s3_create_folder)         | Create an empty folder in an S3 bucket                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [`amazon-s3_delete_folder`](#amazon-s3_delete_folder)         | Delete a folder and all its contents from S3                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [`amazon-s3_get_presigned_url`](#amazon-s3_get_presigned_url) | Generate a pre-signed URL for temporary access to an S3 object                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| [`amazon-s3_copy_object`](#amazon-s3_copy_object)             | Copy an object from one S3 location to another                                                                                                                                                                                                                                                                                                                                                                                                                                                              |

***

## amazon-s3\_list\_buckets

List all buckets in your S3 account

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_list\_objects

List objects within a bucket with optional prefix and delimiter

**Parameters:**

| Parameter   | Type   | Required | Default | Description                                         |
| ----------- | ------ | -------- | ------- | --------------------------------------------------- |
| `bucket`    | string | Yes      | —       | Name of the S3 bucket                               |
| `prefix`    | string | No       | —       | Prefix to filter objects (e.g., "folder-name/")     |
| `delimiter` | string | No       | —       | Delimiter to group objects (typically "/")          |
| `maxKeys`   | number | No       | `1000`  | Maximum number of objects to return (default: 1000) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "prefix": {
        "type": "string",
        "description": "Prefix to filter objects (e.g., \"folder-name/\")"
      },
      "delimiter": {
        "type": "string",
        "description": "Delimiter to group objects (typically \"/\")"
      },
      "maxKeys": {
        "type": "number",
        "default": 1000,
        "description": "Maximum number of objects to return (default: 1000)"
      }
    },
    "required": [
      "PCID",
      "bucket"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_list\_folder

List contents of a specific folder in a bucket, showing both files and subfolders

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                         |
| ------------ | ------ | -------- | ------- | --------------------------------------------------- |
| `bucket`     | string | Yes      | —       | Name of the S3 bucket                               |
| `folderName` | string | Yes      | —       | Name of the folder to list (without trailing slash) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "folderName": {
        "type": "string",
        "description": "Name of the folder to list (without trailing slash)"
      }
    },
    "required": [
      "PCID",
      "bucket",
      "folderName"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_upload\_file

Upload a file to S3 from a URL source

**Parameters:**

| Parameter | Type   | Required | Default | Description                                   |
| --------- | ------ | -------- | ------- | --------------------------------------------- |
| `bucket`  | string | Yes      | —       | Name of the S3 bucket                         |
| `key`     | string | Yes      | —       | Object key/path where the file will be stored |
| `fileUrl` | string | Yes      | —       | URL of the file to upload to S3               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "key": {
        "type": "string",
        "description": "Object key/path where the file will be stored"
      },
      "fileUrl": {
        "type": "string",
        "description": "URL of the file to upload to S3"
      }
    },
    "required": [
      "PCID",
      "bucket",
      "key",
      "fileUrl"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_download\_file

Download a file from S3. IN WORKFLOWS: Files are automatically saved to Node Outputs - no manual save step needed. By default, automatically extracts text from supported document formats (PDF, DOCX, PPTX, XLSX) and includes it in the response. Text files (TXT, CSV) do not need extraction. STREAMING IS PREFERRED: Use stream=true (default) to get a pre-signed downloadUrl for efficient downloading of large files. Only use stream=false for small files (\<2MB) that need immediate processing.

**Parameters:**

| Parameter     | Type    | Required | Default | Description                                                                                                                                                                     |
| ------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bucket`      | string  | Yes      | —       | Name of the S3 bucket                                                                                                                                                           |
| `key`         | string  | Yes      | —       | Object key/path of the file to download                                                                                                                                         |
| `stream`      | boolean | No       | `true`  | RECOMMENDED: true (default). Returns a pre-signed downloadUrl for efficient streaming. Set to false only for small files (\<2MB) requiring immediate base64 content.            |
| `expiresIn`   | number  | No       | `3600`  | Expiration time for the pre-signed URL in seconds (default: 3600 = 1 hour). Only used when stream is true.                                                                      |
| `extractText` | boolean | No       | `true`  | Automatically extracts text from supported formats (PDF, DOCX, PPTX, XLSX) and includes it in the response. Text files do not need extraction. Set to false to skip extraction. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "key": {
        "type": "string",
        "description": "Object key/path of the file to download"
      },
      "stream": {
        "type": "boolean",
        "default": true,
        "description": "RECOMMENDED: true (default). Returns a pre-signed downloadUrl for efficient streaming. Set to false only for small files (<2MB) requiring immediate base64 content."
      },
      "expiresIn": {
        "type": "number",
        "default": 3600,
        "description": "Expiration time for the pre-signed URL in seconds (default: 3600 = 1 hour). Only used when stream is true."
      },
      "extractText": {
        "type": "boolean",
        "default": true,
        "description": "Automatically extracts text from supported formats (PDF, DOCX, PPTX, XLSX) and includes it in the response. Text files do not need extraction. Set to false to skip extraction."
      }
    },
    "required": [
      "PCID",
      "bucket",
      "key"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_delete\_file

Delete a file from S3

**Parameters:**

| Parameter | Type   | Required | Default | Description                           |
| --------- | ------ | -------- | ------- | ------------------------------------- |
| `bucket`  | string | Yes      | —       | Name of the S3 bucket                 |
| `key`     | string | Yes      | —       | Object key/path of the file to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "key": {
        "type": "string",
        "description": "Object key/path of the file to delete"
      }
    },
    "required": [
      "PCID",
      "bucket",
      "key"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_create\_folder

Create an empty folder in an S3 bucket

**Parameters:**

| Parameter    | Type   | Required | Default | Description                  |
| ------------ | ------ | -------- | ------- | ---------------------------- |
| `bucket`     | string | Yes      | —       | Name of the S3 bucket        |
| `folderName` | string | Yes      | —       | Name of the folder to create |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "folderName": {
        "type": "string",
        "description": "Name of the folder to create"
      }
    },
    "required": [
      "PCID",
      "bucket",
      "folderName"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_delete\_folder

Delete a folder and all its contents from S3

**Parameters:**

| Parameter    | Type   | Required | Default | Description                  |
| ------------ | ------ | -------- | ------- | ---------------------------- |
| `bucket`     | string | Yes      | —       | Name of the S3 bucket        |
| `folderName` | string | Yes      | —       | Name of the folder to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "folderName": {
        "type": "string",
        "description": "Name of the folder to delete"
      }
    },
    "required": [
      "PCID",
      "bucket",
      "folderName"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_get\_presigned\_url

Generate a pre-signed URL for temporary access to an S3 object

**Parameters:**

| Parameter   | Type   | Required | Default | Description                                    |
| ----------- | ------ | -------- | ------- | ---------------------------------------------- |
| `bucket`    | string | Yes      | —       | Name of the S3 bucket                          |
| `key`       | string | Yes      | —       | Object key/path of the file                    |
| `expiresIn` | number | No       | `3600`  | URL expiration time in seconds (default: 3600) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "bucket": {
        "type": "string",
        "description": "Name of the S3 bucket"
      },
      "key": {
        "type": "string",
        "description": "Object key/path of the file"
      },
      "expiresIn": {
        "type": "number",
        "default": 3600,
        "description": "URL expiration time in seconds (default: 3600)"
      }
    },
    "required": [
      "PCID",
      "bucket",
      "key"
    ]
  }
  ```
</Expandable>

***

## amazon-s3\_copy\_object

Copy an object from one S3 location to another

**Parameters:**

| Parameter           | Type   | Required | Default | Description                       |
| ------------------- | ------ | -------- | ------- | --------------------------------- |
| `sourceBucket`      | string | Yes      | —       | Name of the source S3 bucket      |
| `sourceKey`         | string | Yes      | —       | Source object key/path            |
| `destinationBucket` | string | Yes      | —       | Name of the destination S3 bucket |
| `destinationKey`    | string | Yes      | —       | Destination object key/path       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "sourceBucket": {
        "type": "string",
        "description": "Name of the source S3 bucket"
      },
      "sourceKey": {
        "type": "string",
        "description": "Source object key/path"
      },
      "destinationBucket": {
        "type": "string",
        "description": "Name of the destination S3 bucket"
      },
      "destinationKey": {
        "type": "string",
        "description": "Destination object key/path"
      }
    },
    "required": [
      "PCID",
      "sourceBucket",
      "sourceKey",
      "destinationBucket",
      "destinationKey"
    ]
  }
  ```
</Expandable>
