Skip to main content
Create a sandbox file upload

Authorizations

Authorization
string
header
required

BoxRouter API key; never an upstream provider key.

Headers

Idempotency-Key
string
required

Unique identifier for this one file transfer call. Reuse it with the identical request to reconcile an uncertain response; never reuse it for new work. Stable identifier for one logical mutation.

Required string length: 1 - 128

Path Parameters

sandbox_id
string
required

Workspace-owned BoxRouter sandbox ID, not an upstream ID.

Minimum string length: 1
Pattern: ^[^\u0000]*$

Body

application/json
path
string
required

Absolute path inside the sandbox, validated like writeFile.

Minimum string length: 1
Pattern: ^/[^\u0000]*$
size
integer
required

Exact file size in bytes. At most the route's limits.upload_max_bytes, otherwise resource_limit (413).

Required range: x >= 0

Response

Created upload

Upload session. Send every part as its TransferPart describes, then complete with each response ETag, if any. Part URLs may embed secret signatures: never log them. The links and this session last up to six hours after creation and end at expires_at. At launch there is exactly one part.

id
string
required
Pattern: ^sup_[0-9a-f]{32}$
sandbox_id
string
required
Minimum string length: 1
path
string
required
Minimum string length: 1
Pattern: ^/[^\u0000]*$
size
integer
required
Required range: x >= 0
route
enum<string>
required

Informational. Which path the bytes take. Clients must not branch on it.

Available options:
direct,
relay
part_size
integer
required

Bytes per part except the last. Equals size for a single part, or 0 for an empty file.

Required range: x >= 0
parts
object[]
required
Required array length: 1 - 10000 elements
expires_at
string<date-time>
required

When the part links and this session end; at most six hours after creation.