canonical: https://jentic.com/apis/box.com/box

# Box Platform API

Provide programmatic access to enterprise content stored in Box with 296 endpoints covering file operations, collaboration, metadata, and governance. Apply retention policies, legal holds, and security classifications to documents at scale. The API supports chunked uploads for large files, AI-powered content extraction, and fine-grained permission controls across organizational hierarchies.

## For AI agents

Store, share, and govern enterprise documents in Box. Apply metadata, retention policies, and AI classifications while controlling access across teams and external collaborators.

## Scope

Does not handle e-signatures, video conferencing, or project management - use for enterprise content storage, collaboration, and governance only.

## Capabilities

- Upload files in single or chunked sessions and organize them within nested folder hierarchies
- Apply metadata templates and security classifications to files for automated governance workflows
- Configure retention policies and legal holds on content to meet regulatory requirements
- Generate shared links with granular permission controls including password, expiry, and download restrictions
- Search across file content, metadata, and trash with filters for type, owner, and date range
- Trigger webhook notifications on file events like uploads, comments, and collaboration changes
- Extract structured data from documents using Box AI for automated processing

## Use cases

### AI Agent Document Governance

AI agents enforce document governance policies by applying metadata templates, security classifications, and retention schedules to content stored in Box. Through Jentic, agents discover the correct Box operations by intent (e.g., 'apply retention policy'), receive the operation schema, and execute without manual configuration. The 296 endpoints cover the full lifecycle from upload to legal hold to disposition.

Example prompt: Apply the 7-year retention policy to all files in folder 123456789 using POST /retention_policies and POST /retention_policy_assignments

### Enterprise File Collaboration

Enable cross-team and external collaboration on documents with role-based access controls. Add collaborators with specific permission levels (editor, viewer, uploader) to individual files or entire folders. Track activity through comments, tasks, and version history. Box handles watermarking for sensitive content and device pinning for access control.

Example prompt: Add user@example.com as an Editor collaborator on folder 987654321 using POST /collaborations with role 'editor'

### Automated Metadata Classification

Classify documents automatically by applying metadata templates with structured fields. Create custom templates with date, enum, float, and string fields, then apply instances to files and folders. The metadata cascade policy feature propagates metadata from a folder to all contained items automatically, reducing manual classification work across large document repositories.

Example prompt: Create a metadata template with fields for 'contract_type' and 'expiry_date', then apply it to file 111222333 using POST /metadata_templates/schema and POST /files/{file_id}/metadata/{scope}/{template_key}

### Large File Upload and Version Management

Upload files of any size using chunked upload sessions that support parallel part uploads and automatic retry on failure. Each file maintains a complete version history, allowing rollback to any prior state. Upload sessions break files into parts, upload them independently, and commit the final assembled file in a single atomic operation.

Example prompt: Create a chunked upload session for a 500 MB file using POST /files/upload_sessions, upload 3 parts with PUT /files/upload_sessions/{id}/parts, then commit with POST /files/upload_sessions/{id}/commit

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /files/{file_id} | Retrieve file metadata by ID |
| POST | /files/content | Upload a new file to a folder |
| POST | /folders | Create a new folder |
| GET | /folders/{folder_id}/items | List items in a folder |
| POST | /collaborations | Add a collaborator to a file or folder |
| POST | /files/upload_sessions | Create a chunked upload session |
| GET | /search | Search for content across the account |
| POST | /retention_policy_assignments | Assign a retention policy to content |

## Key resources

- **Files** — Upload, download, copy, move, lock, watermark, and version files with metadata support
- **Folders** — Create, list, copy, and manage folder hierarchies with items and locks
- **Collaborations** — Add and manage user access with role-based permissions on files and folders
- **Metadata Templates** — Define and apply structured metadata schemas to classify content
- **Retention Policies** — Create and assign retention and disposition rules to content
- **Legal Holds** — Place legal preservation holds on files to prevent deletion or modification

## Why Jentic

- **Setup:** Wiring Box by hand means running its OAuth 2.0 authorization-code flow, managing scopes and token refresh, and handling chunked upload sessions across the content and governance calls. Through Jentic you install once, import the Box Platform API from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** Box puts the resource id in the URL path (/files/{file_id}, /folders/{folder_id}/items), so a rule can pin your agent to one file or folder. You choose the operations it may call, so writes like creating collaborations or assigning retention policies are only included if you add them, and a search-and-read agent can stay on those paths.
- **Credential handling:** Your Box OAuth 2.0 tokens and any JWT credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'apply a retention policy to a folder' or 'upload a file to Box', and Jentic returns the matching Box operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Dropbox API v2** — Consumer and small-team cloud storage with simpler file sync and sharing
- **Google Drive API** — File storage tightly integrated with Google Workspace collaboration tools
- **Google Cloud Storage** — Infrastructure-level object storage for raw data, backups, and application assets

## FAQ

### What authentication does the Box Platform API use?

The Box Platform API uses OAuth 2.0 for authentication. Apps authorize via the /authorize endpoint and exchange codes for tokens at /oauth2/token. Server-to-server apps can use JWT or Client Credentials Grant. Through Jentic, OAuth tokens are stored encrypted in your Jentic One instance - agents receive scoped access tokens without handling client secrets.

### Can I apply retention policies to files with the Box Platform API?

Yes. Create retention policies with POST /retention_policies specifying the duration and disposition action (permanently_delete or remove_retention). Assign them to folders, files, or metadata-matched content with POST /retention_policy_assignments. The API also supports legal holds via /legal_hold_policies for litigation preservation.

### What are the rate limits for the Box Platform API?

Box enforces rate limits of 1,000 API calls per minute per user for most endpoints. Upload endpoints have separate limits. The API returns HTTP 429 with a Retry-After header when limits are exceeded. Bulk operations like metadata cascades count as single calls regardless of affected item count.

### How do I upload large files to Box through Jentic?

Search Jentic for 'upload a large file to Box' to load the chunked upload session schema. Create a session with POST /files/upload_sessions, upload parts in parallel with PUT /files/upload_sessions/{id}/parts, then commit with POST /files/upload_sessions/{id}/commit. Files up to 50 GB are supported. Install with pip install jentic.

### Can I search file contents with the Box Platform API?

Yes. The GET /search endpoint searches across file names, descriptions, tags, comments, and full-text file content (for supported formats like PDFs and Office documents). Filter results by file type, owner, ancestor folder, date range, and metadata template fields.

### How does Box handle file versioning?

Every file upload to an existing file ID creates a new version. Access all versions with GET /files/{file_id}/versions, download specific versions, or promote an older version to current with POST /files/{file_id}/versions/current. Enterprise accounts retain up to 100 versions per file by default.

### Can I limit what my agent is allowed to do with the Box Platform API?

Yes. Because Jentic One is self-hosted, your own rules decide which Box operations and OAuth credentials the agent may use, and Box puts the resource id in the URL path (/files/{file_id}, /folders/{folder_id}/items) so a rule can pin the agent to a single file or folder. You choose the operations it may call, so writes such as adding collaborators with POST /collaborations or assigning retention policies with POST /retention_policy_assignments are only available if you include them. A read-only agent can be scoped to just GET /search and GET /folders/{folder_id}/items and nothing more.
