Create Upload Session
Create Upload Session
To create an upload session, call the
POST /files/upload_sessions API with the desired file_name
and folder_id to put the file in, as well as the file_size of the file to be
uploaded.
To create a session for a new version of an existing file, call the
POST /files/:id/upload_sessions API instead. In this
case, the file_name and folder_id are only required when renaming or moving
the file in the process.
Pre-flight Check
Creating an upload session also performs a preflight check, making it unnecessary to do so separately when working with chunked uploads.
Response
When a session is created successfully the response includes an Upload Session that includes a session ID, the number of parts, the part sizes, as well as links to the relevant next API endpoints to use.
{
  "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://upload.box.com/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD",
    "commit": "https://upload.box.com/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/commit",
    "abort": "https://upload.box.com/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD",
    "list_parts": "https://upload.box.com/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/parts",
    "status": "https://upload.box.com/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD",
    "log_event": "https://upload.box.com/api/2.0/files/upload_sessions/F971964745A5CD0C001BBE4E58196BFD/log"
  }
}
The upload session defines the size of the parts to use when uploading the individual parts.