---
title: "Starts a multipart upload."
method: POST
path: "/layers/{layerId}/keys/{key}"
tags: ["by-key"]
---

# Starts a multipart upload.

`POST /layers/{layerId}/keys/{key}`

Publishes large data blobs where the data payload needs to be split into multiple parts. The multipart upload start is to be followed by the individual parts upload and completed with a call to complete the upload. The limit of the blob uploaded this way is 500GB. Max key length is 450 characters.

## Path parameters

- `layerId` string, required
- `key` string, required

## Request body

- MultipartUploadByKeyMetadata — Multipart upload metadata by key
  - `contentType` string, required — Content type of the uploaded object.
  - `contentEncoding` string — Content encoding of the uploaded object.

## Response `200`

OK - the new multipart upload was successfully started.

- MultipartInitResponse — The identifier of the multipart upload (token).
  - `multipartToken` string, required — The identifier of the multipart upload (token).

## Other responses

- `400` — User Error - Invalid input is provided
- `401` — Unauthorized - the request didn't provide correct authentication details
- `403` — Forbidden - the specific account doesn't have correct privileges to perform the operation
- `404` — Not Found - the specified resource was not found
- `500` — Server unavailable or internal server error
- `502` — Server unavailable or internal server error
- `503` — Server unavailable or internal server error
- `504` — Server unavailable or internal server error

---

[API](https://skmtc.dev/here/apis/query-api-v1.md) · [All operations](https://skmtc.dev/here/apis/query-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/here/query-api-v1/revisions/30e5d2645407/schema)
