---
title: "Marks an upload part as uploaded. You must call this endpoint after you have successfully issued a `PUT` request to the `uploadUrl` on the corresponding UploadPart."
method: PUT
path: "/v2/accounts/{accountId}/uploads/{uploadId}/parts/{uploadPartIndex}"
tags: ["Upload"]
---

# Marks an upload part as uploaded. You must call this endpoint after you have successfully issued a \`PUT\` request to the \`uploadUrl\` on the corresponding UploadPart.

`PUT /v2/accounts/{accountId}/uploads/{uploadId}/parts/{uploadPartIndex}`

## Request

- Base URL: `https://api.bytescale.com`
- URL: `https://api.bytescale.com/v2/accounts/{accountId}/uploads/{uploadId}/parts/{uploadPartIndex}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/bytescale/apis/bytescale-api/docs/v2/accounts/:accountId/uploads/:uploadId/parts/:uploadPartIndex/put.ts> (a function with typed inputs; its response is checked against the schema)

Marks an upload part as uploaded.

You must call this endpoint after you have successfully issued a `PUT` request to the `uploadUrl` on the corresponding UploadPart.

## Path parameters

- `accountId` string, required: Your account ID. This is visible on the settings page: https://www.bytescale.com/dashboard/settings
- `uploadId` string, required: The ID for the multipart file upload.
- `uploadPartIndex` integer, required: Index of an uploadable file part. Can be used as the `uploadPartIndex` parameter in the GetUploadPart and CompleteUploadPart operations.

## Request body

- CompleteUploadPartRequest: Request body for CompleteUploadPart.
  - `etag` string, required: The file's ETag, short for "entity tag", reflects the file's version and changes whenever the file is modified.

## Response `200`

Success.

- union: Response body for CompleteUploadPart.
  - CompleteMultipartUploadResponsePending: Response body for CompleteUploadPart when additional upload parts still need to be marked as completed.
    - `status` 'Pending', required
  - CompleteMultipartUploadResponseCompleted: Response body for CompleteUploadPart when the final upload part is marked as completed.
    - `etag` string, required: The file's ETag, short for "entity tag", reflects the file's version and changes whenever the file is modified.
    - `status` 'Completed', required

## Other responses

- `401`: Unauthenticated.
- `403`: Unauthorized.
- `404`: File or upload part not found.

## Changes

- **2026-09-01** `d63ecdd9ae9c`: 1 breaking, 1 info
  - removed the success response with the status `204`
  - added the success response with the status `200`

[Operation history](https://skmtc.dev/bytescale/apis/bytescale-api/changes/v2/accounts/:accountId/uploads/:uploadId/parts/:uploadPartIndex/put.md)

---

[API](https://skmtc.dev/bytescale/apis/bytescale-api.md) - [All operations](https://skmtc.dev/bytescale/apis/bytescale-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bytescale/apis/bytescale-api/revisions/d63ecdd9ae9c?raw)
