Skip to main content
The chunked upload endpoints support files from 20MB in size and allow an application to upload the file in parts, allowing for more control to catch any errors and retry parts individually.

Upload part

The representation of an upload session chunk.
PropertyTypeRequiredDescription
part_idstringNoThe unique ID of the chunk.
offsetintegerNoThe offset of the chunk within the file in bytes. The lower bound of the position of the chunk within the file.
sizeintegerNoThe size of the chunk in bytes.
sha1stringNoThe SHA1 hash of the chunk.
Example
{
  "part_id": "6F2D3486",
  "offset": 16777216,
  "size": 3222784,
  "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
}

Upload part (Mini)

The basic representation of an upload session chunk.
PropertyTypeRequiredDescription
part_idstringNoThe unique ID of the chunk.
offsetintegerNoThe offset of the chunk within the file in bytes. The lower bound of the position of the chunk within the file.
sizeintegerNoThe size of the chunk in bytes.
Example
{
  "part_id": "6F2D3486",
  "offset": 16777216,
  "size": 3222784
}

Upload parts

A list of uploaded chunks for an upload session.
PropertyTypeRequiredDescription
total_countintegerNoOne greater than the offset of the last entry in the entire collection. The total number of entries in the collection may be less than total_count. This field is only returned for calls that use offset-based pagination. For marker-based paginated APIs, this field will be omitted.
limitintegerNoThe limit that was used for these entries. This will be the same as the limit query parameter unless that value exceeded the maximum value allowed. The maximum value varies by API.
offsetintegerNoThe 0-based offset of the first entry in this set. This will be the same as the offset query parameter. This field is only returned for calls that use offset-based pagination. For marker-based paginated APIs, this field will be omitted.
orderarray of objectNoThe order by which items are returned. This field is only returned for calls that use offset-based pagination. For marker-based paginated APIs, this field will be omitted.
entriesarray of Upload partNoA list of uploaded chunks for an upload session.
Example
{
  "total_count": 5000,
  "limit": 1000,
  "offset": 2000,
  "order": [
    {
      "by": "type",
      "direction": "ASC"
    }
  ],
  "entries": [
    {
      "part_id": "6F2D3486",
      "offset": 16777216,
      "size": 3222784,
      "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
    }
  ]
}

Upload session

An upload session for chunk uploading a file.
PropertyTypeRequiredDescription
idstringNoThe unique identifier for this session.
typeenum<string>NoThe value will always be upload_session. Available options: upload_session.
session_expires_atstringNoThe date and time when this session expires.
part_sizeintegerNoThe size in bytes that must be used for all parts of of the upload. Only the last part is allowed to be of a smaller size.
total_partsintegerNoThe total number of parts expected in this upload session, as determined by the file size and part size.
num_parts_processedintegerNoThe number of parts that have been uploaded and processed by the server. This starts at 0. When committing a file files, inspecting this property can provide insight if all parts have been uploaded correctly.
session_endpointsobjectNoA list of endpoints for a chunked upload session.
Example
{
  "id": "F971964745A5CD0C001BBE4E58196BFD",
  "type": "upload_session",
  "session_expires_at": "2012-12-12T10:53:43-08:00",
  "part_size": 1024,
  "total_parts": 1000,
  "num_parts_processed": 455,
  "session_endpoints": {
    "upload_part": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD",
    "commit": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/commit",
    "abort": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD",
    "list_parts": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/parts",
    "status": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD",
    "log_event": "https://{box-upload-server}/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/log"
  }
}

Uploaded part

A chunk of a file uploaded as part of an upload session, as returned by some endpoints.
PropertyTypeRequiredDescription
partUpload partNo
Example
{
  "part": {
    "part_id": "6F2D3486",
    "offset": 16777216,
    "size": 3222784,
    "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
  }
}
Last modified on July 9, 2026