Skip to content

Reference

Box

Set up Box OAuth for enterprise file storage and collaboration

Connect your users to Box for enterprise file storage, collaboration, and content management.

PropertyValue
Provider IDbox
CategoryStorage
PKCENot supported
Token refreshAutomatic
Redirect URIShown in Developer Portal

Go to the Box Developer Console

Navigate to app.box.com/developers/console and sign in.

Create a new app

Click New App. Enter an app name, select User as the app type (apps where users link their Box accounts), and click Create. Do not select Server: a Server app has no OAuth 2.0 redirect URI configuration and the app type cannot be changed afterwards.

Add the redirect URI

Open the Configuration tab and add the Redirect URI from the Developer Portal under OAuth 2.0 Redirect URIs (HTTPS required, except for localhost / loopback).

Get credentials

Copy the Client ID and Client Secret.

Open the Developer Portal

Go to portal.alterauth.com and navigate to the application.

Add Box provider

Go to OAuth Providers > Add Provider > Box.

Enter credentials

  • Client ID: Paste your Box Client ID
  • Client Secret: Paste your Box Client Secret

Select scopes

Choose the scopes the application needs.

Save

Click Save. The provider is now active.

ScopeDescription
root_readonlyRead all files and folders stored in Box (further restricted by the user’s own permissions)
root_readwriteRead and write all files and folders stored in Box: upload files and versions, download content, create folders, manage collaborations, comments and tasks
manage_managed_usersManage the enterprise’s managed users (primary login, password resets, roles) — the token must belong to an Admin or Co-Admin
manage_groupsCreate, update and delete enterprise groups and manage group membership — the token must belong to an Admin or Co-Admin
manage_webhookCreate, view, edit and delete webhooks for the user (limit of 1000 webhooks per application, per user)
manage_enterprise_propertiesView the enterprise event stream, view and edit enterprise attributes and reports, and edit or delete device pins — the token must belong to an Admin or Co-Admin
manage_data_retentionView and create Box Governance retention policies (requires Box Governance and the request-only enterprise_content scope)
sign_requests.readwriteGet, create, cancel and resend Box Sign requests (requires read/write scopes and Box Sign enabled on the enterprise)
ai.readwriteSend requests to the Box AI API
manage_triggersInteract with Box Relay endpoints and start WORKFLOW_MANUAL_START flows (requires read/write scopes)
  • Enable the scopes the application will request under Configuration → Application Scopes: Box treats the scopes Alter Vault requests as a restriction of the app’s enabled scopes, so a scope that is not enabled on the app cannot be granted.
  • Not offered: manage_app_users (App Users exist only for server-side JWT apps), the request-only manage_legal_holds / enterprise_content scopes (provisioned by Box support per enterprise), and the downscoping-only item_* / base_* / annotation_* scopes.
  • Access tokens expire after 60 minutes; refresh tokens are valid for 60 days and are single-use — Alter Vault stores the new refresh token returned by every refresh.
  • Box redirect URIs are matched exactly: scheme, domain, path, and query parameters must align (localhost may use any port).
  • The app type (User vs Server) is fixed at creation: a Server app cannot be converted to a User (OAuth 2.0) app, so a wrong choice means creating a new app.
  • See the Box OAuth documentation for more details.

Alter policy rules can target these attested operations and families for operation-level and parameter-aware controls.

Operation IDFamiliesMethodProvider path
post_commentssendPOST/comments
post_invitesadmin, sendPOST/invites
post_users_id_email_aliasesadmin, sendPOST/users/{user_id}/email_aliases
put_comments_idsendPUT/comments/{comment_id}
put_users_id_folders_0admin, paymentPUT/users/{user_id}/folders/0
delete_ai_agents_iddeleteDELETE/ai_agents/{agent_id}
delete_collaboration_whitelist_entries_iddeleteDELETE/collaboration_whitelist_entries/{collaboration_whitelist_entry_id}
delete_collaboration_whitelist_exempt_targets_idadmin, deleteDELETE/collaboration_whitelist_exempt_targets/{collaboration_whitelist_exempt_target_id}
delete_collaborations_iddeleteDELETE/collaborations/{collaboration_id}
delete_comments_iddeleteDELETE/comments/{comment_id}
delete_device_pinners_iddeleteDELETE/device_pinners/{device_pinner_id}
delete_file_requests_iddeleteDELETE/file_requests/{file_request_id}
delete_files_iddeleteDELETE/files/{file_id}
delete_files_id_metadata_enterprise_securityClassification-6VMVochwUWodeleteDELETE/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo
delete_files_id_metadata_global_boxSkillsCardsdeleteDELETE/files/{file_id}/metadata/global/boxSkillsCards
delete_files_id_metadata_id_idadmin, deleteDELETE/files/{file_id}/metadata/{scope}/{template_key}
delete_files_id_trashdeleteDELETE/files/{file_id}/trash
delete_files_id_versions_iddeleteDELETE/files/{file_id}/versions/{file_version_id}
delete_files_id_watermarkdeleteDELETE/files/{file_id}/watermark
delete_files_upload_sessions_iddeleteDELETE/files/upload_sessions/{upload_session_id}
delete_folder_locks_iddeleteDELETE/folder_locks/{folder_lock_id}
post_files_id_metadata_id_idadmin, writePOST/files/{file_id}/metadata/{scope}/{template_key}
post_folders_id_metadata_id_idadmin, writePOST/folders/{folder_id}/metadata/{scope}/{template_key}
post_metadata_taxonomies_id_id_levelsadmin, writePOST/metadata_taxonomies/{namespace}/{taxonomy_key}/levels
post_metadata_taxonomies_id_id_nodesadmin, writePOST/metadata_taxonomies/{namespace}/{taxonomy_key}/nodes
put_files_id_metadata_id_idadmin, writePUT/files/{file_id}/metadata/{scope}/{template_key}
post_file_requests_id_copywritePOST/file_requests/{file_request_id}/copy
post_files_idwritePOST/files/{file_id}
post_files_id_contentwritePOST/files/{file_id}/content
post_files_id_copywritePOST/files/{file_id}/copy
post_files_id_metadata_enterprise_securityClassification-6VMVochwUWowritePOST/files/{file_id}/metadata/enterprise/securityClassification-6VMVochwUWo
post_files_id_metadata_global_boxSkillsCardswritePOST/files/{file_id}/metadata/global/boxSkillsCards
post_files_id_upload_sessionswritePOST/files/{file_id}/upload_sessions
post_files_id_versions_currentwritePOST/files/{file_id}/versions/current
get_comments_idreadGET/comments/{comment_id}
get_file_requests_idreadGET/file_requests/{file_request_id}
get_file_version_legal_holds_idreadGET/file_version_legal_holds/{file_version_legal_hold_id}
get_file_version_retentions_idreadGET/file_version_retentions/{file_version_retention_id}
get_files_idreadGET/files/{file_id}
get_files_id_app_item_associationsreadGET/files/{file_id}/app_item_associations

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.