Each Dropbox for Business API request should be made as a POST request with an "application/json" Content-Type header. Parameters should be passed in the body in a JSON dictionary (not form-encoded). Requests with no parameters should pass an empty JSON dictionary ({}).
These JSON formatting conventions apply only to Dropbox for Business API endpoints. All "X-Dropbox-Perform-As-Team-Member" calls are made using the Core API, and should continue to be form-encoded as specified in the Core API documentation.
The Dropbox for Business API uses the following HTTP status codes for errors:
https://api.dropbox.com/1/team/get_info
Information about a team.
Sample response body
{
"name": "Example Company",
"team_id": "dbtid:1234abcd",
"num_licensed_users": 5,
"num_provisioned_users": 2
}
team_id is a globally-unique team identifier.num_licensed_users is the total number of licenses the team has authorized, while num_provisioned_users is the number of accounts that have been invited or are already active members of the team.https://api.dropbox.com/1/team/members/list
Sample request body
{
"limit": 10,
"cursor": "abcd1234"
}
A list of team members.
Sample response body
{
"members": [
{
"profile": {
"given_name": "Jane",
"surname": "User",
"status": "active",
"member_id": "dbmid:abcd1234",
"email": "jane@example.com",
"external_id": "54321",
"groups": []
},
"permissions": {
"is_admin": true
}
},
...
"cursor": "abcd1234",
"has_more": false
]
}
https://api.dropbox.com/1/team/members/get_info
Exactly one of member_id, email, and external_id must be set.
Sample request body
{
"member_id": "dbmid:efgh5678"
}
Information about a team member.
Sample response body
{
"profile": {
"given_name": "John",
"surname": "User",
"status": "active",
"member_id": "dbmid:efgh5678",
"email": "john@example.com",
"external_id": "09876",
"groups": []
},
"permissions": {
"is_admin": false
}
}
external_id parameter will only be returned to apps with Team member management permissions. This value will be null if not set.https://api.dropbox.com/1/team/members/get_info_batch
Exactly one of member_id, email, and external_id must be set.
Sample request body
{
"emails": ["jane@example.com", "john@example.com"]
}
Information about multiple team members.
Sample response body
{
"jane@example.com": {
"profile": {
"given_name": "Jane",
"surname": "User",
"status": "active",
"member_id": "dbmid:abcd1234",
"email": "jane@example.com",
"external_id": "54321",
"groups": []
},
"permissions": {
"is_admin": true
}
},
"john@example.com": {
"profile": {
"given_name": "John",
"surname": "User",
"status": "active",
"member_id": "dbmid:efgh5678",
"email": "john@example.com",
"external_id": "09876",
"groups": []
},
"permissions": {
"is_admin": false
}
}
}
email and five by member_id, you'll need to make two separate calls).https://api.dropbox.com/1/team/members/add
true.Sample request body
{
"member_email": "jenny@example.com",
"member_given_name": "Jenny",
"member_surname": "User",
"send_welcome_email": true
}
Returns the profile of the created member. See /members/get_info for a sample response.
given_name and surname for a user to use in the team invitation and for "Perform as team member" actions taken on the user before they become "active".send_welcome_email is false, no email invitation will be sent to the user. This may be useful for apps using single sign-on (SSO) flows for onboarding that want to handle Dropbox for Business announcements themselves.https://api.dropbox.com/1/team/members/set_profile
member_id or external_id.member_id or external_id.Sample request body
{
"member_id": "dbmid:efgh5678",
"new_email": "jonathan.user@example.com",
"new_given_name": "Jonathan"
}
Returns the profile of the updated member. See /members/get_info for a sample response.
member_id or an external_id must be provided to identify the user account.new_email, new_external_id, new_given_name, and/or new_surname must be provided.https://api.dropbox.com/1/team/members/set_permissions
member_id or external_id.member_id or external_id.Sample request body
{
"member_id": "dbmid:efgh5678",
"new_is_admin": true
}
Returns the member's permissions.
Sample response body
{
"member_id": "dbmid:efgh5678",
"is_admin": true
}
member_id or an external_id must be provided to identify the user account.https://api.dropbox.com/1/team/members/remove
member_id or external_id.member_id or external_id.transfer_admin_member_id.true.Sample request body
{
"member_id": "dbmid:efgh5678",
"transfer_dest_member_id": "dbmid:abcd1234",
"transfer_admin_member_id": "dbmid:abcd1234"
}
Empty response
member_id does not exist on this team.member_id or an external_id must be provided to identify the user account.member_id that will not have access to any content that was shared with the initial account.https://api.dropbox.com/1/team/groups/list
A list of all groups on the team.
Sample response body
{
"groups": [
{
"group_name": "Marketing",
"group_id": "abcd1234",
"num_members": 23
},
...
]
}
https://api.dropbox.com/1/team/groups/get_info
Sample request body
{
"group_ids": ["abcd1234", "efgh5678"]
}
Information about one or more groups.
Sample response body
{
"groups": [
{
"group_name": "Sales",
"group_id": "abcd1234",
"num_members": 2,
"members": [
{
"profile": {
"given_name": "John",
"surname": "User",
"status": "active",
"member_id": "dbmid:efgh5678",
"email": "john@example.com"
"external_id": "09876"
},
"access_type": "member"
},
{
"profile": {
"given_name": "Jane",
"surname": "User",
"status": "active",
"member_id": "dbmid:abcd1234",
"email": "jane@example.com"
"external_id": "54321"
},
"access_type": "owner"
}
],
"created": 1412635269
},
...
]
}
created field is the group creation time as a UTC timestamp in milliseconds since the Unix epoch.https://api.dropbox.com/1/team/groups/create
Sample request body
{
"group_name": "Support agents"
}
Returns information about the created group.
Sample response body
{
"group_name": "Support agents",
"group_id": "ijkl9101",
"num_members": 0,
"members": [],
"created": 1418244977
}
group_name.created field is the group creation time as a UTC timestamp in milliseconds since the Unix epoch.https://api.dropbox.com/1/team/groups/delete
Empty response
https://api.dropbox.com/1/team/groups/members/add
Sample request body
{
"group_id": "ijkl9101",
"members": [
{
"team_member_id": "dbmid:efgh5678",
"access_type": "member"
},
{
"team_member_id": "dbmid:abcd1234",
"access_type": "owner"
}
]
}
Returns the updated group information.
Sample response body
{
"group_name": "Support agents",
"group_id": "ijkl9101",
"num_members": 2,
"members": [
{
"profile": {
"given_name": "John",
"surname": "User",
"status": "active",
"member_id": "dbmid:efgh5678",
"email": "john@example.com",
"external_id": "09876"
},
"access_type": "member"
},
{
"profile": {
"given_name": "Jane",
"surname": "User",
"status": "active",
"member_id": "dbmid:abcd1234",
"email": "jane@example.com",
"external_id": "54321"
},
"access_type": "owner"
},
],
"created": 1418244977
}
created field is the group creation time as a UTC timestamp in milliseconds since the Unix epoch.https://api.dropbox.com/1/team/groups/members/remove
Sample request body
{
"group_id": "ijkl9101",
"members": [
{
"team_member_id": "dbmid:efgh5678",
},
{
"team_member_id": "dbmid:abcd1234",
}
]
}
Returns the updated group information. See /groups/members/add for a sample response.
team_member_id does not exist in this group.https://api.dropbox.com/1/team/groups/members/set_access_type
Sample request body
{
"group_id": "ijkl9101",
"team_member_id": "dbmid:efgh5678",
"access_type": "owner"
}
Returns the updated group information. See /groups/members/add for a sample response.
team_member_id does not exist in this group.https://api.dropbox.com/1/team/reports/get_storage
Dates should be in the format YYYY-MM-DD (partitioned on midnight UTC).
Sample request body
{
"start_date": "2014-10-26"
}
Data about a team's storage usage. Each result is represented as an array ordered by date, where the first value corresponds to the data on the start_date. Each subsequent array value represents one day's data in that series.
Sample response body
{
"start_date": "2014-10-26",
"total_usage": [
546626,
498318,
...
],
"shared_usage": [
0,
48308,
...
],
"unshared_usage": [
546626,
498318,
...
],
"shared_folders": [
1,
3,
...
],
"member_storage_map": [
{
"100+GB": 0,
"1GB": 2
...
},
{
"100GB": 0,
"5GB": 0
...
}
]
}
start_date parameter.end_date parameter.start_date defaults to the earliest date tracked (current maximum is 6 months in the past), and end_date defaults to the current date.null if data is not yet available for the last day.https://api.dropbox.com/1/team/reports/get_activity
Dates should be in the format YYYY-MM-DD (partitioned on midnight UTC).
Sample request body
{
"start_date": "2014-10-26"
}
Data about a team's user activity. Each result is represented as an array ordered by date, where the first value corresponds to the data on the start_date. Each subsequent array value represents one day's data in that series.
Sample response body
{
"start_date": "2014-10-26",
"active_users_1_day": [
1,
4,
...
],
"active_users_7_day": [
1,
4,
...
],
"active_users_28_day": [
0,
3,
...
],
"adds": [
14,
23,
...
],
"edits": [
4,
12,
...
],
"deletes": [
7,
0,
...
],
"active_shared_folders_1_day": [
1,
4,
...
],
"active_shared_folders_7_day": [
1,
2,
...
],
"active_shared_folders_28_day": [
1,
1,
...
],
"shared_links_created": [
4,
9,
...
],
"shared_links_viewed_total": [
4,
13,
...
],
"shared_links_viewed_by_team": [
2,
36,
...
],
"shared_links_viewed_by_outside_user": [
1,
22,
...
],
"shared_links_viewed_by_not_logged_in": [
0,
13,
...
]
}
start_date parameter.end_date parameter.start_date defaults to the earliest date tracked (current maximum is 6 months in the past), and end_date defaults to the current date.null if data is not yet available for the last day.https://api.dropbox.com/1/team/reports/get_membership
Dates should be in the format YYYY-MM-DD (partitioned on midnight UTC).
Sample request body
{
"start_date": "2014-10-26"
}
Data about a team's membership. Each result is represented as an array ordered by date, where the first value corresponds to the data on the start_date. Each subsequent array value represents one day's data in that series.
Sample response body
{
"start_date": "2014-10-26",
"team_size": [
1,
4,
...
],
"pending_invites": [
1,
0,
...
],
"members_joined": [
1,
3,
...
],
"licenses": [
5,
5,
...
]
}
start_date parameter.end_date parameter.start_date defaults to the earliest date tracked (current maximum is 6 months in the past), and end_date defaults to the current date.null if data is not yet available for the last day.https://api.dropbox.com/1/team/reports/get_devices
Dates should be in the format YYYY-MM-DD (partitioned on midnight UTC).
Sample request body
{
"start_date": "2014-10-26"
}
Data about a team's linked devices. Linked devices are those with a Dropbox client or mobile app installed and linked to a team member's Dropbox for Business account. Each result is represented as an array ordered by date, where the first value corresponds to the data on the start_date. Each subsequent array value represents one day's data in that series.
Sample response body
{
"start_date": "2014-10-26",
"total_devices_1_day": [
6,
7,
...
],
"total_devices_7_day": [
4,
7,
...
],
"total_devices_28_day": [
6,
7,
...
],
"ios_devices_1_day": [
2,
2,
...
],
"ios_devices_7_day": [
2,
2,
...
],
"ios_devices_28_day": [
2,
2,
...
],
"android_devices_1_day": [
1,
2,
...
],
"android_devices_7_day": [
1,
2,
...
],
"android_devices_28_day": [
1,
2,
...
],
"macos_devices_1_day": [
4,
4,
...
],
"macos_devices_7_day": [
4,
4,
...
],
"macos_devices_28_day": [
0,
4,
...
],
"windows_devices_1_day": [
0,
1,
...
],
"windows_devices_7_day": [
0,
1,
...
],
"windows_devices_28_day": [
0,
0,
...
],
"linux_devices_1_day": [
1,
1,
...
],
"linux_devices_7_day": [
1,
1,
...
],
"linux_devices_28_day": [
1,
1,
...
],
"other_devices_1_day": [
0,
0,
...
],
"other_devices_7_day": [
0,
0,
...
],
"other_devices_28_day": [
0,
0,
...
]
}
start_date parameter.end_date parameter.start_date defaults to the earliest date tracked (current maximum is 6 months in the past), and end_date defaults to the current date.null if data is not yet available for the last day.https://api.dropbox.com/1/team/log/get_events
Sample request body
{
"user": {
"member_id": "dbmid:efgh5678"
},
"category": "devices"
}
Audit log for a team.
Sample response body
{
"events": [
{
"event_type": "member_join",
"member_id": "dbmid:ijkl9012",
"info_dict": {
"initial_devices": "[]",
"initial_apps": "[]"
},
"ip_address": "192.0.2.0",
"user_id": 12345678,
"name": "Jenny",
"country": "US",
"event_type_description": "Joined the team",
"event_category": "members",
"time": "2014-10-01T17:23:05+00:00",
"email": "jenny@example.com"
},
{
"event_type": "login_success",
"member_id": "dbmid:efgh5678",
"info_dict": null,
"ip_address": "192.0.2.0",
"user_id": 87654321,
"name": "John",
"country": "US",
"event_type_description": "Signed in",
"event_category": "logins",
"time": "2014-10-03T01:16:32+00:00",
"email": "john@example.com"
},
...
],
"has_more": true,
"cursor": "abcd1234efgh5678"
}
cursor, limit, user, or type parameter.limit are not provided when using a cursor.member_id that has never been on the team.start_ts (occurs in the future).start_ts and end_ts combination (start_ts > end_ts).limit is approximate. When one is specified, the endpoint may return as many as the larger of 2 * limit and 100 events.cursor and has_more, indicating if there are more events in the log.cursor is provided, only the limit parameter may be (optionally) changed; all other parameters should be provided with their original values.user parameter is included, events will only be returned where that user is the actor or a target user. Users can be specified using an member_id, user_id or email. The value should be passed as a JSON dictionary specifying the chosen lookup method, e.g. {"email": "user@example.com"}category parameter is included, only events matching the given category will be returned. Allowed category values are: logins, passwords, apps, members, devices, team_admin_actions, and sharing.name, email, and user values for an event type, along with any entries in an event's info_dict, reflect the state of those values at the time the event occurred and may not reflect the current state of the Dropbox for Business account.event_category |
event_type |
event_type_description |
|---|---|---|
apps |
app_allow |
Authorized an application |
apps |
app_remove |
Removed an application |
apps |
team_app_allow |
Authorized a team application |
apps |
team_app_remove |
Removed a team application |
devices |
device_link |
Linked a device |
devices |
device_unlink |
Removed a device |
devices |
delete_on_unlink_success |
Successfully deleted files |
devices |
delete_on_unlink_fail |
Failed to delete some files |
members |
member_invite |
Invited a team member |
members |
member_join |
Joined the team |
members |
member_leave |
Removed a team member |
members |
domain_invites_email_existing_users |
Sent domain invites to existing domain accounts |
members |
domain_invites_request_to_join_team |
Requested to join the team |
members |
domain_invites_approve_request_to_join_team |
Approved a user request to join the team |
members |
domain_invites_decline_request_to_join_team |
Declined a user request to join the team |
passwords |
tfa_enable |
Enabled two-step verification |
passwords |
tfa_disable |
Disabled two-step verification |
passwords |
password_change |
Changed password |
passwords |
reset_password |
Reset password |
passwords |
reset_all_passwords |
Reset all passwords |
passwords |
add_tfa_backup_phone |
Added two-step verification backup phone |
passwords |
remove_tfa_backup_phone |
Removed two-step verification backup phone |
passwords |
edit_tfa_backup_phone |
Edited two-step verification backup phone |
passwords |
tfa_edit_authenticator |
Set two-step verification to use mobile app |
passwords |
tfa_edit_sms |
Set two-step verification to use SMS |
sharing |
shmodel_create |
Created a new link |
sharing |
shmodel_disable |
Removed a link |
sharing |
shmodel_visibility_public |
Made the contents of a link visible to anyone with the link |
sharing |
shmodel_visibility_team_only |
Made the contents of a link visible to team members only |
sharing |
shmodel_visibility_password |
Made the contents of a link password protected |
sharing |
shmodel_set_expiration |
Set the expiration date of a link |
sharing |
shmodel_remove_expiration |
Removed the expiration date of a link |
sharing |
shmodel_team_view |
Opened a link (team member) |
sharing |
shmodel_nonteam_view |
Opened a link (non-team member) |
sharing |
shmodel_team_download |
Downloaded the contents of a link (team member) |
sharing |
shmodel_nonteam_download |
Downloaded the contents of a link (non-team member) |
sharing |
shmodel_team_copy |
Copied the contents of a link to their Dropbox (team member) |
sharing |
shmodel_nonteam_copy |
Copied the contents of a link to their Dropbox (non-team member) |
sharing |
shmodel_app_create |
Created a link to a file via an API app |
sharing |
shmodel_team_share |
Shared a link with team members |
sharing |
shmodel_nonteam_share |
Shared a link with non-team members |
sharing |
shmodel_fb_share |
Shared a link with Facebook users |
sharing |
shmodel_group_share |
Shared a link with a group |
sharing |
sf_create |
Created a shared folder |
sharing |
sf_team_invite |
Invited team member(s) to a shared folder |
sharing |
sf_nonteam_invite |
Invited non-team member(s) to a shared folder |
sharing |
sf_fb_invite |
Invited Facebook user(s) to a shared folder |
sharing |
sf_add_group |
Added the team to a shared folder |
sharing |
sf_invite_group |
Invited a group to a shared folder |
sharing |
sf_team_uninvite |
Uninvited a team member from a shared folder |
sharing |
sf_nonteam_uninvite |
Uninvited a non-team member from a shared folder |
sharing |
sf_fb_uninvite |
Uninvited a Facebook user from a shared folder |
sharing |
sf_team_decline |
Declined an invitation to a shared folder (team member) |
sharing |
sf_nonteam_decline |
Declined an invitation to a shared folder (non-team member) |
sharing |
sf_team_join |
Joined a shared folder (team member) |
sharing |
sf_nonteam_join |
Joined a shared folder (non-team member) |
sharing |
sf_team_kick |
Removed a team member from a shared folder |
sharing |
sf_nonteam_kick |
Removed a non-team member from a shared folder |
sharing |
sf_team_invite_change_role |
Changed a team member's role in a shared folder |
sharing |
sf_nonteam_invite_change_role |
Changed a non-team member's role in a shared folder |
sharing |
sf_fb_invite_change_role |
Changed a Facebook user's role in a shared folder |
sharing |
sf_team_member_change_role |
Changed a team member's role in a shared folder |
sharing |
sf_nonteam_member_change_role |
Changed a non-team member's role in a shared folder |
sharing |
sf_team_leave |
Left a shared folder (team member) |
sharing |
sf_nonteam_leave |
Left a shared folder (non-team member) |
sharing |
sf_team_transfer |
Transferred folder ownership to a team member |
sharing |
sf_nonteam_transfer |
Transferred folder ownership to a non-team member |
sharing |
sf_unshare |
Unshared a folder |
sharing |
sf_request_access |
Requested access to a shared folder |
sharing |
sf_team_grant_access |
Added requesting user to a shared folder (team member) |
sharing |
sf_nonteam_grant_access |
Added requesting user to a shared folder (non-team meber) |
sharing |
sf_allow_invite_team |
Prevented non-team members from being invited to a folder |
sharing |
sf_allow_invite_anyone |
Allowed non-team members to be invited to a folder |
sharing |
sf_allow_inviter_owner |
Prevented anyone but the owner from inviting people to a folder |
sharing |
sf_allow_inviter_team |
Allowed any team member to invite people to a folder |
sharing |
collection_share |
Shared an album |
sharing |
sf_allow_non_members_to_view_shared_links |
Allowed non collaborators to view links to files in a shared folder |
sharing |
sf_block_non_members_from_viewing_shared_links |
Blocked non collaborators from viewing links to files in a shared folder |
team_admin_actions |
sf_external_accept_allow |
Admin settings: team members can join shared folders outside the team |
team_admin_actions |
sf_external_accept_forbid |
Admin settings: team members can't join shared folders outside the team |
team_admin_actions |
sf_external_invite_allow |
Admin settings: folders can be shared outside the team |
team_admin_actions |
sf_external_invite_warn |
Admin settings: team members see a warning before sharing folders outside the team |
team_admin_actions |
sf_external_invite_forbid |
Admin settings: folders can't be shared outside the team |
team_admin_actions |
shmodel_external_view_allow |
Admin settings: links can be viewed outside the team |
team_admin_actions |
shmodel_external_view_default_private |
Admin settings: new links can't be viewed outside the team by default |
team_admin_actions |
shmodel_external_view_forbid |
Admin settings: links can't be viewed outside the team |
team_admin_actions |
force_tfa_enable |
Prevented disabling two-step verification |
team_admin_actions |
force_tfa_disable |
Allowed disabling two-step verification |
team_admin_actions |
disable_sso |
Disabled single sign-on |
team_admin_actions |
allow_sso |
Allowed use of single sign-on |
team_admin_actions |
require_sso |
Required use of single sign-on |
team_admin_actions |
change_sso_url |
Changed single sign-on url |
team_admin_actions |
remove_sso_url |
Removed single sign-on url |
team_admin_actions |
update_sso_cert |
Updated single sign-on certificate |
team_admin_actions |
make_admin |
Gave admin status |
team_admin_actions |
remove_admin |
Removed admin status |
team_admin_actions |
team_name_change |
Changed team name |
team_admin_actions |
csv_download |
Created a team activity report |
team_admin_actions |
twoaccount_desktop_enabled |
Enabled multiple accounts for desktop computers |
team_admin_actions |
twoaccount_desktop_disabled |
Disabled multiple accounts for desktop computers |
team_admin_actions |
groups_all_users_can_create |
Allowed all team members to create groups |
team_admin_actions |
groups_only_admins_can_create |
Allowed only team admins to create groups |
team_admin_actions |
domain_invites_set_invite_new_user_pref_to_yes |
Turned on 'Automatically invite new users' |
team_admin_actions |
domain_invites_set_invite_new_user_pref_to_no |
Turned off 'Automatically invite new users' |
team_admin_actions |
enabled_domain_invites |
Enabled sending domain invites |
team_admin_actions |
disabled_domain_invites |
Disabled sending domain invites |
team_admin_actions |
transfer_account_contents |
Transferred account contents |
team_admin_actions |
permanently_delete_account_contents |
Deleted account contents |
team_admin_actions |
change_team_member_email |
Changed a team member's email address |