---
title: "Step 4: Upload each asset chunk"
method: POST
path: "/item/26_v1/{uploadItemId}"
---

# Step 4: Upload each asset chunk

`POST /item/26_v1/{uploadItemId}`

Use one API call per asset chunk to upload all chunks to Orange Logic

## Headers

- `Content-Type` string, required

## Request body

- object
  - `uploadItemID` string, required — <code>uploadItemId</code> or <code>UIRecordID</code> of the upload item created in the <a href= "https://developer.orangelogic.com/reference/register-upload-assets">Register upload assets</a> section. Use this ID to identify the file chunk uploaded with this call as part of its parent asset.
  - `start` integer — Starting position (in bytes) of the chunk. Must be a <code>multiple of 131072</code> (for example, 131072, 262144, etc.).
  - `end` integer — Ending position (in bytes) of the chunk (inclusive). Must be: <code>(multiple of 131072) - 1</code> (for example, 131071, 262143...), except for the last chunk of the file. For the last chunk of the file, this value is the total asset length - 1.
  - `totalLength` integer — Size of the full asset in bytes.
  - `md5` string — Md5 hash of the chunk.
  - `partNumber` integer — 1-base part number for cloud upload, required if using cloud buffer bucket.
  - `data` string, binary — File chunk.

## Response `200`

200

- object

---

[API](https://skmtc.net/orangelogic/apis/security.md) · [All operations](https://skmtc.net/orangelogic/apis/security/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/orangelogic/security/revisions/c8e945426c5e/schema)
