Skip to content

The session owner can upload parts of a file to an active upload session. By default, you can upload up to 2000 parts per upload session, and each part can be up to 50MB. Use the Range header to specify the range of bytes for each upload, or split files into parts and add each part as a separate file. Each part must be the same size, except for the last part in the upload session.

PUT/api/{version}/services/file_staging/upload/{upload_session_id}
NameDescription
Acceptapplication/json (default) or application/xml
Content-Typeapplication/octet-stream
Content-LengthThe size of the file part in bytes. Parts must be at least 5MB in size, except for the last part uploaded in a session.
Content-MD5Optional: The MD5 checksum of the file part being uploaded.
X-VaultAPI-FilePartNumberThe part number, which uniquely identifies a file part and defines its position within the file as a whole. If a part is uploaded using a part number that has already been used, Vault overwrites the previously uploaded file part. You must upload parts in numerical order. For example, you cannot upload part 3 without first uploading parts 1 and 2.
NameDescription
upload_session_idThe upload session ID.
curl -L -X PUT -H "Authorization: {SESSION_ID}" \ -H "Accept: application/json" \ -H "Content-Type: application/octet-stream" \ -H "Content-Length: 5242880" \ -H "X-VaultAPI-FilePartNumber: 2" \ --data-binary "@/chunk-ab." \ https://myvault.veevavault.com/api/v22.1/services/file_staging/upload/.lqX6rv1jbu5vABJoy5XoSZmQXTTJV_jwxO.kFuS.qISxQJDiFm0s_kfb8oRS9DBDGg--
{ "responseStatus": "SUCCESS", "data": { "size": 5242880, "part_number": 2, "part_content_md5": "d6762077325b9ec3b75ada3b269e17d3" } }

Upon SUCCESS, the response includes the size, part_number, and part_content_MD5 for the file part.