Skip to main content
The Chunked Upload API provides a way to reliably upload large files to Box by chunking them into a sequence of parts that can be uploaded individually. By using this API, the application uploads a file in parts, so it can recover from a failed request more reliably. The application retries that part instead of the entire file. An additional benefit of chunked uploads is that parts can be uploaded in parallel, which can improve performance.

Overview

Chunked uploads use a sequence of API calls.
  1. : The application creates an upload session for a new file or new version of a file. The session defines the (new) name of the file, its size, and the parent folder.
  2. (optional): When uploading a new version of a file, the application sends the offset, size, and SHA-512 hash of each part. Box returns the parts it already stores, so the application can skip them.
  3. : The application uploads the separate parts of the file as chunks. If the application planned the session, it only uploads the parts Box doesn’t already store.
  4. : The application commits the session. Box checks the integrity of the file, then places it in the location specified when the session was created.
Most of out of the box and remove the complexity from the application code.

Skip parts Box already stores

A new version of a large file often shares most of its content with the previous version. Instead of uploading every part, you can plan the upload session first, so that you only upload the parts that changed. Planning is optional. For details on the plan request and response, see the .
The Box SDKs plan the session for you when you upload a new version with the .
Box only reuses parts from the previous version of the same file, and only when the user uploading the file has permission to download that version.

Restrictions

The Chunked Upload API is for files of at least 20 MB. It rejects smaller files. Once a part is uploaded, it is immutable. An upload session lasts 7 days. During that time, upload parts at your own pace. To avoid a wasted upload and corrupted data, confirm that the file on disk has not changed since the upload started.
Last modified on November 12, 2026