Create a file container

A file container is a temporary, private, and encrypted Amazon S3 data structure you can use to safely upload content that you intend to push into a Push source or security identity provider. You’ll typically use a file container when you want to push:

Use the Create a file container operation to create an Amazon S3 file container for a specific Coveo organization:

Request template

POST<MyOrganizationId>/files?useVirtualHostedStyleUrl=<true|false> HTTP/1.1

Accept: application/json
Content-Type: application/json
Authorization: Bearer <MyAccessToken>



In the request path:

In the query string:

  • Optionally, set useVirtualHostedStyleUrl to true if you want the service to return a virtual hosted-style URL, such as The default value is currently false, which means that the service returns path-style URLs, such as


    The useVirtualHostedStyleUrl query string parameter will soon be deprecated as part of the path-style URL deprecation. From this point onwards, the service will only return virtual hosted-style URLs.

In the Authorization HTTP header:

The body of a successful response contains important information about the temporary, private, and encrypted Amazon S3 file container that you just created:

201 Created

    "uploadUri": "<UPLOAD-URI>", 1
    "fileId": "b5e8767e-8f0d-4a89-9095-1127915c89c7", 2
    "requiredHeaders": { 3
        "x-amz-server-side-encryption": "AES256",
        "Content-Type": "application/octet-stream"
1 The uploadUri property contains a pre-signed URI to which you can send a PUT request whose binary content must be your request body or item data.
  • The Amazon S3 file container applies AES-256 server-side encryption to your data.

  • The file container is automatically deleted as soon as its content has been successfully forwarded to the service.

  • The uploadUri automatically expires after 60 minutes.

Therefore, it’s safe to upload sensitive information into the Amazon S3 file container.

2 The fileId property contains the unique identifier of your file container.
3 The requiredHeaders property contains the required HTTP headers for sending a PUT request to the uploadUri.

Path-style URL deprecation

Amazon is deprecating path-style URLs, such as, in favour of virtual hosted-style URLs, such as Accordingly, the Push API will also deprecate path-style URLs.

You can already test and use the new hosted-style URL format by setting the useVirtualHostedStyleUrl query parameter to true. If you’re using the Crawling Module or Coveo for Sitecore, you can update to the latest version to test the new behavior.

Virtual hosted-style URLs let you be more precise regarding the list of outbound URL addresses to allow. For example, if your primary deployment region is US East, you can allowlist rather than The following table lists the virtual hosted-style domain for each primary region:

Main region Virtual hosted-style domain

US East




For HIPAA organizations, the virtual hosted-style domain name is

Sample request

Create a file container for a specific Coveo organization


Accept: application/json
Content-Type: application/json
Authorization: Bearer **********-****-****-****-************



Successful response - 201 Created

  "uploadUri": "link:[...]",
  "fileId": "b5e8767e-8f0d-4a89-9095-1127915c89c7",
  "requiredHeaders": {
    "x-amz-server-side-encryption": "AES256",
    "Content-Type": "application/octet-stream"