Box Developer Documentation
 
    Latest version

    Upload part of file

    put
    https://{box-upload-server}/api/2.0
    /files/upload_sessions/:upload_session_id

    This endpoint is in the version 2024.0. No changes are required to continue using it. For more details, see Box API versioning.

    Uploads a chunk of a file for an upload session.

    The actual endpoint URL is returned by the Create upload session and Get upload session endpoints.

    Request

    bearer [ACCESS_TOKEN]
    application/octet-stream

    Request Headers

    stringin headerrequired
    bytes 8388608-16777215/445856194

    The byte range of the chunk.

    Must not overlap with the range of a part already uploaded this session. Each part’s size must be exactly equal in size to the part size specified in the upload session that you created. One exception is the last part of the file, as this can be smaller.

    When providing the value for content-range, remember that:

    • The lower bound of each part's byte range must be a multiple of the part size.
    • The higher bound must be a multiple of the part size - 1.
    stringin headerrequired
    sha=fpRyg5eVQletdZqEKaFlqwBXJzM=

    The RFC3230 message digest of the chunk uploaded.

    Only SHA1 is supported. The SHA1 digest must be base64 encoded. The format of this header is as sha=BASE64_ENCODED_DIGEST.

    To get the value for the SHA digest, use the openSSL command to encode the file part: openssl sha1 -binary <FILE_PART_NAME> | base64

    Path Parameters

    stringin pathrequired
    D5E3F7A

    The ID of the upload session.

    Request Body

    binaryin bodyrequired

    The binary content of the file

    Response

    application/jsonUploaded part

    Chunk has been uploaded successfully.

    application/jsonClient error

    Returns an error if the chunk conflicts with another chunk previously uploaded.

    application/jsonClient error

    Returns an error if a precondition was not met.

    application/jsonClient error

    Returns an error if the content range does not match a specified range for the session.

    application/jsonClient error

    An unexpected client error.

    put
    Upload part of file
    You can now try out some of our APIs live, right here in the documentation.
    Log in

    Request Example

    cURL
    curl -i -X PUT "https://upload.box.com/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD" \
         -H "authorization: Bearer <ACCESS_TOKEN>" \
         -H "digest: sha=fpRyg5eVQletdZqEKaFlqwBXJzM=" \
         -H "content-range: bytes 8388608-16777215/445856194" \
         -H "content-type: application/octet-stream" \
         --data-binary @<FILE_NAME>

    Response Example

    {
      "part": {
        "offset": 16777216,
        "part_id": "6F2D3486",
        "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc",
        "size": 3222784
      }
    }