> For the complete documentation index, see [llms.txt](https://docs.eseye.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eseye.com/api-reference/bulk-operations-api/files/upload-file-to-s3.md).

# Upload File to S3

Uploads the file to the S3 bucket with the AWS credentials returned by Upload or Download File.

All the form data populates automatically from the collection variables stored during the previous request. Click the `File` row, set the type to **File**, then select your CSV.

Before you upload:

* The file must be in CSV format, with values separated by commas.
* Excel may be configured to use other separators, such as semicolons or tabs, depending on your regional settings. Check that your CSV uses commas before you upload.
* Don't close the file before uploading. Closing and reopening in Excel can reformat the contents. For example, it can convert long integers to scientific notation or change the separators.
* Format the relevant columns as **Text** before you save.
* Save the file as **CSV UTF-8 (Comma delimited)**.
* Upload the file directly after saving, without closing it.

```json
{"openapi":"3.1.0","info":{"title":"Bulk Operations API","version":"2.0.0"},"tags":[{"name":"Files"}],"servers":[{"url":"https://anynetiot-sftp-service-storage-{env}.s3.amazonaws.com","variables":{"env":{"default":"prod","enum":["stage","prod"],"description":"The environment you are working in."}}}],"security":[],"paths":{"/":{"post":{"summary":"Upload File to S3","operationId":"upload-file-to-s3","tags":["Files"],"description":"Uploads the file to the S3 bucket with the AWS credentials returned by Upload or Download File.\n\nAll the form data populates automatically from the collection variables stored during the previous\nrequest. Click the `File` row, set the type to **File**, then select your CSV.\n\nBefore you upload:\n\n* The file must be in CSV format, with values separated by commas.\n* Excel may be configured to use other separators, such as semicolons or tabs, depending on your\n  regional settings. Check that your CSV uses commas before you upload.\n* Don't close the file before uploading. Closing and reopening in Excel can reformat the contents. For\n  example, it can convert long integers to scientific notation or change the separators.\n* Format the relevant columns as **Text** before you save.\n* Save the file as **CSV UTF-8 (Comma delimited)**.\n* Upload the file directly after saving, without closing it.\n","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["key","AWSAccessKeyId","x-amz-security-token","policy","signature","File"],"properties":{"key":{"type":"string","description":"The key for the file in the S3 bucket. Returned by Upload or Download File."},"AWSAccessKeyId":{"type":"string","description":"The AWS access key ID. Returned by Upload or Download File."},"policy":{"type":"string","description":"The policy for the file upload. Returned by Upload or Download File."},"signature":{"type":"string","description":"The signature for the file upload. Returned by Upload or Download File."},"File":{"type":"string","format":"binary","description":"The CSV file to upload. Select this from your local file system."}}}}}},"responses":{"204":{"description":"The upload succeeded."}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.eseye.com/api-reference/bulk-operations-api/files/upload-file-to-s3.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
