Box · Capability
Box Platform API — Uploads (Chunked)
Box Platform API — Uploads (Chunked). 7 operations. Lead operation: Box Create upload session. Self-contained Naftiko capability covering one Box business surface.
What You Can Do
POST
Postfilesuploadsessions
— Box Create upload session
/v1/files/upload-sessions
GET
Getfilesuploadsessionsid
— Box Get upload session
/v1/files/upload-sessions/{upload-session-id}
PUT
Putfilesuploadsessionsid
— Box Upload part of file
/v1/files/upload-sessions/{upload-session-id}
DELETE
Deletefilesuploadsessionsid
— Box Remove upload session
/v1/files/upload-sessions/{upload-session-id}
POST
Postfilesuploadsessionsidcommit
— Box Commit upload session
/v1/files/upload-sessions/{upload-session-id}/commit
GET
Getfilesuploadsessionsidparts
— Box List parts
/v1/files/upload-sessions/{upload-session-id}/parts
POST
Postfilesiduploadsessions
— Box Create upload session for existing file
/v1/files/{file-id}/upload-sessions
MCP Tools
box-create-upload-session
Box Create upload session
box-get-upload-session
Box Get upload session
read-only
idempotent
box-upload-part-file
Box Upload part of file
idempotent
box-remove-upload-session
Box Remove upload session
idempotent
box-commit-upload-session
Box Commit upload session
box-list-parts
Box List parts
read-only
idempotent
box-create-upload-session-existing
Box Create upload session for existing file
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Box Platform API — Uploads (Chunked)
description: 'Box Platform API — Uploads (Chunked). 7 operations. Lead operation: Box Create upload session. Self-contained
Naftiko capability covering one Box business surface.'
tags:
- Box
- Uploads (Chunked)
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
BOX_API_KEY: BOX_API_KEY
capability:
consumes:
- type: http
namespace: box-uploads-chunked
baseUri: https://api.box.com/2.0
description: Box Platform API — Uploads (Chunked) business capability. Self-contained, no shared references.
resources:
- name: files-upload_sessions
path: /files/upload_sessions
operations:
- name: postfilesuploadsessions
method: POST
description: Box Create upload session
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files-upload_sessions-upload_session_id
path: /files/upload_sessions/{upload_session_id}
operations:
- name: getfilesuploadsessionsid
method: GET
description: Box Get upload session
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: upload_session_id
in: path
type: string
description: The ID of the upload session.
required: true
- name: putfilesuploadsessionsid
method: PUT
description: Box Upload part of file
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: upload_session_id
in: path
type: string
description: The ID of the upload session.
required: true
- name: digest
in: header
type: string
description: The [RFC3230][1] message digest of the chunk uploaded.
required: true
- name: content-range
in: header
type: string
description: The byte range of the chunk.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deletefilesuploadsessionsid
method: DELETE
description: Box Remove upload session
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: upload_session_id
in: path
type: string
description: The ID of the upload session.
required: true
- name: files-upload_sessions-upload_session_id-commit
path: /files/upload_sessions/{upload_session_id}/commit
operations:
- name: postfilesuploadsessionsidcommit
method: POST
description: Box Commit upload session
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: upload_session_id
in: path
type: string
description: The ID of the upload session.
required: true
- name: digest
in: header
type: string
description: The [RFC3230][1] message digest of the whole file.
required: true
- name: if-match
in: header
type: string
description: Ensures this item hasn't recently changed before
- name: if-none-match
in: header
type: string
description: Ensures an item is only returned if it has changed.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: files-upload_sessions-upload_session_id-parts
path: /files/upload_sessions/{upload_session_id}/parts
operations:
- name: getfilesuploadsessionsidparts
method: GET
description: Box List parts
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: upload_session_id
in: path
type: string
description: The ID of the upload session.
required: true
- name: offset
in: query
type: integer
description: The offset of the item at which to begin the response.
- name: limit
in: query
type: integer
description: The maximum number of items to return per page.
- name: files-file_id-upload_sessions
path: /files/{file_id}/upload_sessions
operations:
- name: postfilesiduploadsessions
method: POST
description: Box Create upload session for existing file
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: file_id
in: path
type: string
description: The unique identifier that represents a file.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: bearer
token: '{{env.BOX_API_KEY}}'
exposes:
- type: rest
namespace: box-uploads-chunked-rest
port: 8080
description: REST adapter for Box Platform API — Uploads (Chunked). One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/files/upload-sessions
name: files-upload-sessions
description: REST surface for files-upload_sessions.
operations:
- method: POST
name: postfilesuploadsessions
description: Box Create upload session
call: box-uploads-chunked.postfilesuploadsessions
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files/upload-sessions/{upload-session-id}
name: files-upload-sessions-upload-session-id
description: REST surface for files-upload_sessions-upload_session_id.
operations:
- method: GET
name: getfilesuploadsessionsid
description: Box Get upload session
call: box-uploads-chunked.getfilesuploadsessionsid
with:
upload_session_id: rest.upload_session_id
outputParameters:
- type: object
mapping: $.
- method: PUT
name: putfilesuploadsessionsid
description: Box Upload part of file
call: box-uploads-chunked.putfilesuploadsessionsid
with:
upload_session_id: rest.upload_session_id
digest: rest.digest
content-range: rest.content-range
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletefilesuploadsessionsid
description: Box Remove upload session
call: box-uploads-chunked.deletefilesuploadsessionsid
with:
upload_session_id: rest.upload_session_id
outputParameters:
- type: object
mapping: $.
- path: /v1/files/upload-sessions/{upload-session-id}/commit
name: files-upload-sessions-upload-session-id-commit
description: REST surface for files-upload_sessions-upload_session_id-commit.
operations:
- method: POST
name: postfilesuploadsessionsidcommit
description: Box Commit upload session
call: box-uploads-chunked.postfilesuploadsessionsidcommit
with:
upload_session_id: rest.upload_session_id
digest: rest.digest
if-match: rest.if-match
if-none-match: rest.if-none-match
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/files/upload-sessions/{upload-session-id}/parts
name: files-upload-sessions-upload-session-id-parts
description: REST surface for files-upload_sessions-upload_session_id-parts.
operations:
- method: GET
name: getfilesuploadsessionsidparts
description: Box List parts
call: box-uploads-chunked.getfilesuploadsessionsidparts
with:
upload_session_id: rest.upload_session_id
offset: rest.offset
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/files/{file-id}/upload-sessions
name: files-file-id-upload-sessions
description: REST surface for files-file_id-upload_sessions.
operations:
- method: POST
name: postfilesiduploadsessions
description: Box Create upload session for existing file
call: box-uploads-chunked.postfilesiduploadsessions
with:
file_id: rest.file_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: box-uploads-chunked-mcp
port: 9090
transport: http
description: MCP adapter for Box Platform API — Uploads (Chunked). One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: box-create-upload-session
description: Box Create upload session
hints:
readOnly: false
destructive: false
idempotent: false
call: box-uploads-chunked.postfilesuploadsessions
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: box-get-upload-session
description: Box Get upload session
hints:
readOnly: true
destructive: false
idempotent: true
call: box-uploads-chunked.getfilesuploadsessionsid
with:
upload_session_id: tools.upload_session_id
outputParameters:
- type: object
mapping: $.
- name: box-upload-part-file
description: Box Upload part of file
hints:
readOnly: false
destructive: false
idempotent: true
call: box-uploads-chunked.putfilesuploadsessionsid
with:
upload_session_id: tools.upload_session_id
digest: tools.digest
content-range: tools.content-range
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: box-remove-upload-session
description: Box Remove upload session
hints:
readOnly: false
destructive: true
idempotent: true
call: box-uploads-chunked.deletefilesuploadsessionsid
with:
upload_session_id: tools.upload_session_id
outputParameters:
- type: object
mapping: $.
- name: box-commit-upload-session
description: Box Commit upload session
hints:
readOnly: false
destructive: false
idempotent: false
call: box-uploads-chunked.postfilesuploadsessionsidcommit
with:
upload_session_id: tools.upload_session_id
digest: tools.digest
if-match: tools.if-match
if-none-match: tools.if-none-match
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: box-list-parts
description: Box List parts
hints:
readOnly: true
destructive: false
idempotent: true
call: box-uploads-chunked.getfilesuploadsessionsidparts
with:
upload_session_id: tools.upload_session_id
offset: tools.offset
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: box-create-upload-session-existing
description: Box Create upload session for existing file
hints:
readOnly: false
destructive: false
idempotent: false
call: box-uploads-chunked.postfilesiduploadsessions
with:
file_id: tools.file_id
body: tools.body
outputParameters:
- type: object
mapping: $.