Box Developer Documentation

Join BoxWorks 2024 to discover what's possible with content and AI!

Register now!

List enterprise users

get
https://api.box.com/2.0
/users

Returns a list of all users for the Enterprise along with their user_id, public_name, and login.

The application and the authenticated user need to have the permission to look up users in the entire enterprise.

Request

bearer [ACCESS_TOKEN]
application/json

Query Parameters

stringin queryoptional
my-user-1234

Limits the results to app users with the given external_app_user_id value.

When creating an app user, an external_app_user_id value can be set. This value can then be used in this endpoint to find any users that match that external_app_user_id value.

string arrayin queryoptional
id,type,name

A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response.

Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested.

stringin queryoptional
john

Limits the results to only users who's name or login start with the search term.

For externally managed users, the search term needs to completely match the in order to find the user, and it will only return one user at a time.

integer (int64)in queryoptional
10001000

The maximum number of items to return per page.

stringin queryoptional
JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii

Defines the position marker at which to begin returning results. This is used when paginating using marker-based pagination.

This requires usemarker to be set to true.

integer (int64)in queryoptional
10000

The offset of the item at which to begin the response.

Queries with offset parameter value exceeding 10000 will be rejected with a 400 response.

booleanin queryoptional
true

Specifies whether to use marker-based pagination instead of offset-based pagination. Only one pagination method can be used at a time.

By setting this value to true, the API will return a marker field that can be passed as a parameter to this endpoint to get the next page of the response.

stringin queryoptional
managed

Limits the results to the kind of user specified.

  • all returns every kind of user for whom the login or name partially matches the filter_term. It will only return an external user if the login matches the filter_term completely, and in that case it will only return that user.
  • managed returns all managed and app users for whom the login or name partially matches the filter_term.
  • external returns all external users for whom the login matches the filter_term exactly.

Value is one of all,managed,external

Response

application/jsonUsers

Returns all of the users in the enterprise.

application/jsonClient error

An unexpected client error.

get
List enterprise users
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

cURL
curl -i -X GET "https://api.box.com/2.0/users" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.users.getUsers();
Python Gen
client.users.get_users()
.NET Gen
await client.Users.GetUsersAsync();
Swift Gen (Beta)
try await client.users.getUsers()
Java
Iterable<BoxUser.Info> users = BoxUser.getAllEnterpriseUsers(api, true, null);

// Get marker
String marker = ((BoxResourceIterable<BoxUser.Info>) users).getNextMarker();
Python
users = client.users(user_type='all')
for user in users:
    print(f'{user.name} (User ID: {user.id})')
.NET
BoxCollection<BoxUser> users = await client.UsersManager.GetEnterpriseUsersAsync();
Node
client.enterprise.getUsers({usemarker: true, marker: 'JFUirotE56hfyr56FH123'})
	.then(users => {
		/* users -> {
			total_count: 1,
			entries: 
			[ { type: 'user',
				id: '33333',
				name: 'Example User',
				login: 'user@example.com',
				created_at: '2012-05-03T21:39:11-07:00',
				modified_at: '2012-08-23T14:57:48-07:00',
				language: 'en',
				space_amount: 5368709120,
				space_used: 52947,
				max_upload_size: 104857600,
				status: 'active',
				job_title: '',
				phone: '5555551374',
				address: '10 Cloud Way Los Altos CA',
				avatar_url: 'https://app.box.com/api/avatar/large/deprecated' } ] }
		*/
	});
iOS
let iterator = client.users.listForEnterprise()
iterator.next { result in
    switch results {
    case let .success(page):
        for user in page.entries {
            print("\(user.name) (ID: \(user.id))")
        }

    case let .failure(error):
        print(error)
    }
}

Response Example

{
  "entries": [
    {
      "id": "11446498",
      "type": "user",
      "name": "Aaron Levie",
      "login": "ceo@example.com",
      "created_at": "2012-12-12T10:53:43-08:00",
      "modified_at": "2012-12-12T10:53:43-08:00",
      "language": "en",
      "timezone": "Africa/Bujumbura",
      "space_amount": 11345156112,
      "space_used": 1237009912,
      "max_upload_size": 2147483648,
      "status": "active",
      "job_title": "CEO",
      "phone": "6509241374",
      "address": "900 Jefferson Ave, Redwood City, CA 94063",
      "avatar_url": "https://www.box.com/api/avatar/large/181216415",
      "notification_email": {
        "email": "notifications@example.com",
        "is_confirmed": true
      },
      "role": "admin",
      "tracking_codes": [
        {
          "type": "tracking_code",
          "name": "department",
          "value": "Sales"
        }
      ],
      "can_see_managed_users": true,
      "is_sync_enabled": true,
      "is_external_collab_restricted": true,
      "is_exempt_from_device_limits": true,
      "is_exempt_from_login_verification": true,
      "enterprise": {
        "id": "11446498",
        "type": "enterprise",
        "name": "Acme Inc."
      },
      "my_tags": [
        "important"
      ],
      "hostname": "https://example.app.box.com/",
      "is_platform_access_only": true,
      "external_app_user_id": "my-user-1234"
    }
  ],
  "limit": 1000,
  "next_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii",
  "offset": 2000,
  "order": [
    {
      "by": "type",
      "direction": "ASC"
    }
  ],
  "prev_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih",
  "total_count": 5000
}