565 lines
12 KiB
Markdown
565 lines
12 KiB
Markdown
# Dropbox Business Routing Reference
|
|
|
|
**App name:** `dropbox-business`
|
|
**Base URL proxied:** `api.dropboxapi.com`
|
|
|
|
## API Path Pattern
|
|
|
|
```
|
|
/dropbox-business/2/{endpoint}
|
|
```
|
|
|
|
**Note:** Dropbox Business API uses POST for almost all endpoints, including read operations. Request bodies should be JSON (use `null` for endpoints with no parameters).
|
|
|
|
## Team Information
|
|
|
|
### Get Team Info
|
|
```bash
|
|
POST /dropbox-business/2/team/get_info
|
|
Content-Type: application/json
|
|
|
|
null
|
|
```
|
|
|
|
### Get Team Features
|
|
```bash
|
|
POST /dropbox-business/2/team/features/get_values
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"features": [
|
|
{".tag": "upload_api_rate_limit"},
|
|
{".tag": "has_team_shared_dropbox"},
|
|
{".tag": "has_team_file_events"},
|
|
{".tag": "has_team_selective_sync"}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Get Authenticated Admin
|
|
```bash
|
|
POST /dropbox-business/2/team/token/get_authenticated_admin
|
|
Content-Type: application/json
|
|
|
|
null
|
|
```
|
|
|
|
## Team Members
|
|
|
|
### List Members
|
|
```bash
|
|
POST /dropbox-business/2/team/members/list
|
|
Content-Type: application/json
|
|
|
|
{"limit": 100}
|
|
```
|
|
|
|
### List Members (V2) - Recommended
|
|
```bash
|
|
POST /dropbox-business/2/team/members/list_v2
|
|
Content-Type: application/json
|
|
|
|
{"limit": 100, "include_removed": false}
|
|
```
|
|
|
|
### Continue Listing Members
|
|
```bash
|
|
POST /dropbox-business/2/team/members/list/continue
|
|
Content-Type: application/json
|
|
|
|
{"cursor": "..."}
|
|
```
|
|
|
|
### Get Member Info
|
|
```bash
|
|
POST /dropbox-business/2/team/members/get_info
|
|
Content-Type: application/json
|
|
|
|
{"members": [{".tag": "email", "email": "user@company.com"}]}
|
|
```
|
|
|
|
### Get Member Info (V2) - Recommended
|
|
```bash
|
|
POST /dropbox-business/2/team/members/get_info_v2
|
|
Content-Type: application/json
|
|
|
|
{"members": [{".tag": "email", "email": "user@company.com"}]}
|
|
```
|
|
|
|
### Add Member
|
|
```bash
|
|
POST /dropbox-business/2/team/members/add
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"new_members": [{
|
|
"member_email": "user@company.com",
|
|
"member_given_name": "John",
|
|
"member_surname": "Doe",
|
|
"send_welcome_email": true
|
|
}]
|
|
}
|
|
```
|
|
|
|
### Suspend Member
|
|
```bash
|
|
POST /dropbox-business/2/team/members/suspend
|
|
Content-Type: application/json
|
|
|
|
{"user": {".tag": "email", "email": "user@company.com"}, "wipe_data": false}
|
|
```
|
|
|
|
### Unsuspend Member
|
|
```bash
|
|
POST /dropbox-business/2/team/members/unsuspend
|
|
Content-Type: application/json
|
|
|
|
{"user": {".tag": "email", "email": "user@company.com"}}
|
|
```
|
|
|
|
### Remove Member
|
|
```bash
|
|
POST /dropbox-business/2/team/members/remove
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"user": {".tag": "email", "email": "user@company.com"},
|
|
"wipe_data": true,
|
|
"transfer_dest_id": {".tag": "email", "email": "admin@company.com"},
|
|
"transfer_admin_id": {".tag": "email", "email": "admin@company.com"},
|
|
"keep_account": false
|
|
}
|
|
```
|
|
|
|
### Send Welcome Email
|
|
```bash
|
|
POST /dropbox-business/2/team/members/send_welcome_email
|
|
Content-Type: application/json
|
|
|
|
{".tag": "email", "email": "pending@company.com"}
|
|
```
|
|
|
|
### Set Member Profile (V2)
|
|
```bash
|
|
POST /dropbox-business/2/team/members/set_profile_v2
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"user": {".tag": "team_member_id", "team_member_id": "dbmid:AAA..."},
|
|
"new_given_name": "John",
|
|
"new_surname": "Smith"
|
|
}
|
|
```
|
|
|
|
### Set Admin Permissions (V2)
|
|
```bash
|
|
POST /dropbox-business/2/team/members/set_admin_permissions_v2
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"user": {".tag": "email", "email": "user@company.com"},
|
|
"new_roles": ["pid_dbtmr:..."]
|
|
}
|
|
```
|
|
|
|
### Delete Profile Photo (V2)
|
|
```bash
|
|
POST /dropbox-business/2/team/members/delete_profile_photo_v2
|
|
Content-Type: application/json
|
|
|
|
{"user": {".tag": "team_member_id", "team_member_id": "dbmid:AAA..."}}
|
|
```
|
|
|
|
## Secondary Emails
|
|
|
|
### Add Secondary Emails
|
|
```bash
|
|
POST /dropbox-business/2/team/members/secondary_emails/add
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"new_secondary_emails": [{
|
|
"user": {".tag": "email", "email": "user@company.com"},
|
|
"secondary_emails": ["alias@company.com"]
|
|
}]
|
|
}
|
|
```
|
|
|
|
### Delete Secondary Emails
|
|
```bash
|
|
POST /dropbox-business/2/team/members/secondary_emails/delete
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"emails_to_delete": [{
|
|
"user": {".tag": "email", "email": "user@company.com"},
|
|
"secondary_emails": ["alias@company.com"]
|
|
}]
|
|
}
|
|
```
|
|
|
|
### Resend Verification Emails
|
|
```bash
|
|
POST /dropbox-business/2/team/members/secondary_emails/resend_verification_emails
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"emails_to_resend": [{
|
|
"user": {".tag": "email", "email": "user@company.com"},
|
|
"secondary_emails": ["alias@company.com"]
|
|
}]
|
|
}
|
|
```
|
|
|
|
## Groups
|
|
|
|
### List Groups
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/list
|
|
Content-Type: application/json
|
|
|
|
{"limit": 100}
|
|
```
|
|
|
|
### Get Group Info
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/get_info
|
|
Content-Type: application/json
|
|
|
|
{".tag": "group_ids", "group_ids": ["g:1d31f47b..."]}
|
|
```
|
|
|
|
### List Group Members
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/members/list
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
|
"limit": 100
|
|
}
|
|
```
|
|
|
|
### Create Group
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/create
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"group_name": "Team Name",
|
|
"group_management_type": {".tag": "company_managed"}
|
|
}
|
|
```
|
|
|
|
### Update Group
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/update
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
|
"new_group_name": "New Name"
|
|
}
|
|
```
|
|
|
|
### Add Members to Group
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/members/add
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
|
"members": [{"user": {".tag": "email", "email": "user@company.com"}, "access_type": {".tag": "member"}}],
|
|
"return_members": true
|
|
}
|
|
```
|
|
|
|
### Remove Members from Group
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/members/remove
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"group": {".tag": "group_id", "group_id": "g:1d31f47b..."},
|
|
"users": [{".tag": "email", "email": "user@company.com"}],
|
|
"return_members": true
|
|
}
|
|
```
|
|
|
|
### Delete Group
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/delete
|
|
Content-Type: application/json
|
|
|
|
{".tag": "group_id", "group_id": "g:1d31f47b..."}
|
|
```
|
|
|
|
### Check Group Job Status
|
|
```bash
|
|
POST /dropbox-business/2/team/groups/job_status/get
|
|
Content-Type: application/json
|
|
|
|
{"async_job_id": "dbjid:..."}
|
|
```
|
|
|
|
## Team Folders
|
|
|
|
### List Team Folders
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/list
|
|
Content-Type: application/json
|
|
|
|
{"limit": 100}
|
|
```
|
|
|
|
### Get Team Folder Info
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/get_info
|
|
Content-Type: application/json
|
|
|
|
{"team_folder_ids": ["13646676387"]}
|
|
```
|
|
|
|
### Create Team Folder
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/create
|
|
Content-Type: application/json
|
|
|
|
{"name": "Folder Name", "sync_setting": {".tag": "default"}}
|
|
```
|
|
|
|
### Rename Team Folder
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/rename
|
|
Content-Type: application/json
|
|
|
|
{"team_folder_id": "13646676387", "name": "New Name"}
|
|
```
|
|
|
|
### Archive Team Folder
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/archive
|
|
Content-Type: application/json
|
|
|
|
{"team_folder_id": "13646676387", "force_async_off": false}
|
|
```
|
|
|
|
### Activate Team Folder
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/activate
|
|
Content-Type: application/json
|
|
|
|
{"team_folder_id": "13646676387"}
|
|
```
|
|
|
|
### Update Sync Settings
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/update_sync_settings
|
|
Content-Type: application/json
|
|
|
|
{"team_folder_id": "13646676387", "sync_setting": {".tag": "default"}}
|
|
```
|
|
|
|
### Permanently Delete Team Folder
|
|
```bash
|
|
POST /dropbox-business/2/team/team_folder/permanently_delete
|
|
Content-Type: application/json
|
|
|
|
{"team_folder_id": "13646676387"}
|
|
```
|
|
|
|
## Namespaces
|
|
|
|
### List Namespaces
|
|
```bash
|
|
POST /dropbox-business/2/team/namespaces/list
|
|
Content-Type: application/json
|
|
|
|
{"limit": 100}
|
|
```
|
|
|
|
## Devices
|
|
|
|
### List Members' Devices
|
|
```bash
|
|
POST /dropbox-business/2/team/devices/list_members_devices
|
|
Content-Type: application/json
|
|
|
|
{}
|
|
```
|
|
|
|
### List Member Devices
|
|
```bash
|
|
POST /dropbox-business/2/team/devices/list_member_devices
|
|
Content-Type: application/json
|
|
|
|
{"team_member_id": "dbmid:AAA..."}
|
|
```
|
|
|
|
### Revoke Device Session
|
|
```bash
|
|
POST /dropbox-business/2/team/devices/revoke_device_session
|
|
Content-Type: application/json
|
|
|
|
{".tag": "web_session", "session_id": "dbwsid:...", "team_member_id": "dbmid:AAA..."}
|
|
```
|
|
|
|
### Revoke Device Sessions (Batch)
|
|
```bash
|
|
POST /dropbox-business/2/team/devices/revoke_device_session_batch
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"revoke_devices": [
|
|
{".tag": "web_session", "session_id": "dbwsid:...", "team_member_id": "dbmid:AAA..."}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Linked Apps
|
|
|
|
### List Members' Linked Apps
|
|
```bash
|
|
POST /dropbox-business/2/team/linked_apps/list_members_linked_apps
|
|
Content-Type: application/json
|
|
|
|
{}
|
|
```
|
|
|
|
### List Team Linked Apps
|
|
```bash
|
|
POST /dropbox-business/2/team/linked_apps/list_team_linked_apps
|
|
Content-Type: application/json
|
|
|
|
{}
|
|
```
|
|
|
|
### Revoke Linked App
|
|
```bash
|
|
POST /dropbox-business/2/team/linked_apps/revoke_linked_app
|
|
Content-Type: application/json
|
|
|
|
{"app_id": "...", "team_member_id": "dbmid:AAA..."}
|
|
```
|
|
|
|
## Member Space Limits
|
|
|
|
### Get Custom Quotas
|
|
```bash
|
|
POST /dropbox-business/2/team/member_space_limits/get_custom_quota
|
|
Content-Type: application/json
|
|
|
|
{"users": [{".tag": "email", "email": "user@company.com"}]}
|
|
```
|
|
|
|
### Set Custom Quotas
|
|
```bash
|
|
POST /dropbox-business/2/team/member_space_limits/set_custom_quota
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"users_and_quotas": [{
|
|
"user": {".tag": "email", "email": "user@company.com"},
|
|
"quota_gb": 100
|
|
}]
|
|
}
|
|
```
|
|
|
|
### List Excluded Users
|
|
```bash
|
|
POST /dropbox-business/2/team/member_space_limits/excluded_users/list
|
|
Content-Type: application/json
|
|
|
|
{}
|
|
```
|
|
|
|
## Sharing Allowlist
|
|
|
|
### List Sharing Allowlist
|
|
```bash
|
|
POST /dropbox-business/2/team/sharing_allowlist/list
|
|
Content-Type: application/json
|
|
|
|
{}
|
|
```
|
|
|
|
### Add to Sharing Allowlist
|
|
```bash
|
|
POST /dropbox-business/2/team/sharing_allowlist/add
|
|
Content-Type: application/json
|
|
|
|
{"domains": ["partner.com"], "emails": ["external@client.com"]}
|
|
```
|
|
|
|
## Audit Log (Team Log)
|
|
|
|
### Get Events
|
|
```bash
|
|
POST /dropbox-business/2/team_log/get_events
|
|
Content-Type: application/json
|
|
|
|
{"limit": 100, "category": {".tag": "members"}}
|
|
```
|
|
|
|
### Continue Getting Events
|
|
```bash
|
|
POST /dropbox-business/2/team_log/get_events/continue
|
|
Content-Type: application/json
|
|
|
|
{"cursor": "..."}
|
|
```
|
|
|
|
## Member File Access
|
|
|
|
Use the `Dropbox-API-Select-User` header with a team_member_id to access files on behalf of a member.
|
|
|
|
### List Member's Files
|
|
```bash
|
|
POST /dropbox-business/2/files/list_folder
|
|
Content-Type: application/json
|
|
Dropbox-API-Select-User: dbmid:AAA...
|
|
|
|
{"path": ""}
|
|
```
|
|
|
|
### List Member's Shared Folders
|
|
```bash
|
|
POST /dropbox-business/2/sharing/list_folders
|
|
Content-Type: application/json
|
|
Dropbox-API-Select-User: dbmid:AAA...
|
|
|
|
{}
|
|
```
|
|
|
|
## Notes
|
|
|
|
- All endpoints use POST method (even read operations)
|
|
- Request bodies must be JSON (use `null` for no-parameter endpoints)
|
|
- Many fields use `.tag` format for type indication
|
|
- Pagination uses `cursor` and `has_more` fields
|
|
- Use V2 endpoints for enhanced responses with roles info
|
|
- `Dropbox-API-Select-User` header enables member file access
|
|
- System-managed groups cannot be modified
|
|
- Reports endpoints (`team/reports/*`) are deprecated
|
|
|
|
## OAuth Scopes
|
|
|
|
| Scope | Usage |
|
|
|-------|-------|
|
|
| `team_info.read` | Team info, features |
|
|
| `members.read` | List/get members |
|
|
| `members.write` | Add/modify members |
|
|
| `members.delete` | Remove members |
|
|
| `groups.read` | List/get groups |
|
|
| `groups.write` | Create/modify groups |
|
|
| `sessions.list` | List devices/sessions |
|
|
| `sessions.modify` | Revoke sessions |
|
|
| `events.read` | Team audit log |
|
|
| `team_data.member` | Select-User header |
|
|
|
|
## Resources
|
|
|
|
- [Dropbox Business API Documentation](https://www.dropbox.com/developers/documentation/http/teams)
|
|
- [Team Administration Guide](https://developers.dropbox.com/dbx-team-administration-guide)
|
|
- [Team Files Guide](https://developers.dropbox.com/dbx-team-files-guide)
|