Box Developer Documentation

List folder collaborations

get
https://api.box.com/2.0
/folders/:folder_id/collaborations

Retrieves a list of pending and active collaborations for a folder. This returns all the users that have access to the folder or have been invited to the folder.

Request

bearer [ACCESS_TOKEN]
application/json

Path Parameters

stringin pathrequired
12345

The unique identifier that represent a folder.

The ID for any folder can be determined by visiting this folder in the web application and copying the ID from the URL. For example, for the URL https://*.app.box.com/folder/123 the folder_id is 123.

Query Parameters

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.

Response

application/jsonCollaborations

Returns a collection of collaboration objects. If there are no collaborations on this folder an empty collection will be returned.

This list includes pending collaborations, for which the status is set to pending, indicating invitations that have been sent but not yet accepted.

application/jsonClient error

An unexpected client error.

get
List folder collaborations
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/folders/4353455/collaborations" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.listCollaborations.getFolderCollaborations(folder.id);
Python Gen
client.list_collaborations.get_folder_collaborations(folder.id)
.NET Gen
await client.ListCollaborations.GetFolderCollaborationsAsync(folderId: folder.Id);
Swift Gen (Beta)
try await client.listCollaborations.getFolderCollaborations(folderId: folder.id)
Java
BoxFolder folder = new BoxFolder(api, "id");
Collection<BoxCollaboration.Info> collaborations = folder.getCollaborations();
Python
collaborations = client.folder(folder_id='22222').get_collaborations()
for collab in collaborations:
    target = collab.accessible_by
    print(f'{target.type.capitalize()} {target.name} is collaborated on the folder')
.NET
string folderId = "11111";
BoxCollection<BoxCollaboration> collaborations = await client.FoldersManager
    .GetCollaborationsAsync(folderId);
Node
var folderID = '12345';
client.folders.getCollaborations(folderID)
	.then(collaborations => {
		/* collaborations -> {
			total_count: 1,
			entries: [
				{
					type: 'collaboration',
					id: '11111',
					created_by: {
						type: 'user',
						id: '22222',
						name: 'Example User',
						login: 'user@example.com'
					},
					created_at: '2011-11-29T12:56:35-08:00',
					modified_at: '2012-09-11T15:12:32-07:00',
					expires_at: null,
					status: 'accepted',
					accessible_by: {
						type: 'user',
						id: '33333',
						name: 'Collaborator User',
						login: 'collaborator@example.com'
					},
					role: 'editor',
					acknowledged_at: '2011-11-29T12:59:40-08:00',
					item: null
				}
			]
		}
		*/
	});
iOS
let iterator = client.folders.listCollaborations(folderId: "22222")
iterator.next { results in
    switch results {
    case let .success(page):
        for collaboration in page.entries {
            if let collaborator = collaboration.accessibleBy {
                switch collaborator.collaboratorValue {
                case .user(let user):
                    print("- user: \(user.name ?? "")")
                case .group(let group):
                    print("- group: \(group.name ?? "")")
                }
            }
        }

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

Response Example

{
  "entries": [
    {
      "id": "12345678",
      "type": "collaboration",
      "item": {
        "id": "12345",
        "etag": "1",
        "type": "file",
        "sequence_id": "3",
        "name": "Contract.pdf",
        "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
        "file_version": {
          "id": "12345",
          "type": "file_version",
          "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
        },
        "description": "Contract for Q1 renewal",
        "size": 629644,
        "path_collection": {
          "total_count": 1,
          "entries": [
            {
              "id": "12345",
              "etag": "1",
              "type": "folder",
              "sequence_id": "3",
              "name": "Contracts"
            }
          ]
        },
        "created_at": "2012-12-12T10:53:43-08:00",
        "modified_at": "2012-12-12T10:53:43-08:00",
        "trashed_at": "2012-12-12T10:53:43-08:00",
        "purged_at": "2012-12-12T10:53:43-08:00",
        "content_created_at": "2012-12-12T10:53:43-08:00",
        "content_modified_at": "2012-12-12T10:53:43-08:00",
        "created_by": {
          "id": "11446498",
          "type": "user",
          "name": "Aaron Levie",
          "login": "ceo@example.com"
        },
        "modified_by": {
          "id": "11446498",
          "type": "user",
          "name": "Aaron Levie",
          "login": "ceo@example.com"
        },
        "owned_by": {
          "id": "11446498",
          "type": "user",
          "name": "Aaron Levie",
          "login": "ceo@example.com"
        },
        "shared_link": {
          "url": "https://www.box.com/s/vspke7y05sb214wjokpk",
          "download_url": "https://www.box.com/shared/static/rh935iit6ewrmw0unyul.jpeg",
          "vanity_url": "https://acme.app.box.com/v/my_url/",
          "vanity_name": "my_url",
          "access": "open",
          "effective_access": "company",
          "effective_permission": "can_download",
          "unshared_at": "2018-04-13T13:53:23-07:00",
          "is_password_enabled": true,
          "permissions": {
            "can_download": true,
            "can_preview": true,
            "can_edit": false
          },
          "download_count": 3,
          "preview_count": 3
        },
        "parent": {
          "id": "12345",
          "etag": "1",
          "type": "folder",
          "sequence_id": "3",
          "name": "Contracts"
        },
        "item_status": "active"
      },
      "app_item": {
        "id": "12345678",
        "type": "app_item",
        "application_type": "hubs"
      },
      "accessible_by": {
        "id": "11446498",
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com",
        "is_active": true
      },
      "invite_email": "john@example.com",
      "role": "editor",
      "expires_at": "2012-12-26T10:53:43-08:00",
      "is_access_only": true,
      "status": "accepted",
      "acknowledged_at": "2012-12-12T10:55:20-08:00",
      "created_by": [
        {
          "id": 33224412
        },
        {
          "type": "user"
        },
        {
          "login": "dylan@example.com"
        },
        {
          "name": "Dylan Smith"
        }
      ],
      "created_at": "2012-12-12T10:53:43-08:00",
      "modified_at": "2012-12-12T10:53:43-08:00",
      "acceptance_requirements_status": {
        "terms_of_service_requirement": {
          "is_accepted": true,
          "terms_of_service": {
            "id": "11446498",
            "type": "terms_of_service"
          }
        },
        "strong_password_requirement": {
          "enterprise_has_strong_password_required_for_external_users": true,
          "user_has_strong_password": true
        },
        "two_factor_authentication_requirement": {
          "enterprise_has_two_factor_auth_enabled": true,
          "user_has_two_factor_authentication_enabled": true
        }
      }
    }
  ],
  "limit": 1000,
  "next_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii",
  "offset": 2000,
  "order": [
    {
      "by": "type",
      "direction": "ASC"
    }
  ],
  "prev_marker": "JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVih",
  "total_count": 5000
}