---
title: "Upload batch file"
slug: "upload-batch-file"
abstract: "Describes how to start uploading a batch file to Sitecore CDP."
---
# Upload batch file

`PUT <batchUploadPath>`

Starts uploading a batch file. Make this request after [allocating a batch upload location.](https://doc.sitecore.com/cdp/en/developers/api/batch-api/upload-a-batch-file/allocate-batch-upload-location.html "Allocate batch upload location")

| Attribute | Type | Description | Example |
| --- | --- | --- | --- |
| `batchUploadPath` | string | The URI of the upload path.<br><br>If you do not know the URI, first [allocate a batch upload location](https://doc.sitecore.com/cdp/en/developers/api/batch-api/upload-a-batch-file/allocate-batch-upload-location.html). In the response, in the `location` object, the `href` key contains the batch upload path. | `https://sitecore-batch-service-dev-eu-west-1.s3.amazonaws.com/...` |
| `Base64 string` | string | The [Base64](https://base64.guru/converter/encode/hex)-encoded version of the hex-encoded MD5 checksum. You created the hex-encoded MD5 checksum before you [allocated a batch upload location](https://doc.sitecore.com/cdp/en/developers/api/batch-api/upload-a-batch-file/allocate-batch-upload-location.html). | `hmhSUwGGLymfT1gmfmkCSA==` |
| `path to gzipped file` | string | The path to the gzipped file. You must upload a file in the body as binary data. | `@/C:/Users/user/Desktop/import.json.gz` |

This request returns an empty, `200 OK` response.

```curl
curl -X PUT 'https://sitecore-batch-service-dev-eu-west-1.s3.amazonaws.com/...' \
-H 'x-amz-server-side-encryption: AES256' \
-H 'Content-Md5: <Base64_string>' \
-H 'Content-Type: application/gzip' \
--data-binary '<path_to_gzipped_file>'

```