Manage Applications

    Create collaboration

    post
    https://api.box.com/2.0
    /collaborations

    Adds a collaboration for a single user or a single group to a file or folder.

    Collaborations can be created using email address, user IDs, or a group IDs.

    If a collaboration is being created with a group, access to this endpoint is dependent on the group's ability to be invited.

    Request

    application/json

    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.

    booleanin queryoptional
    true

    Determines if users should receive email notification for the action performed.

    Request Body

    objectin body

    The user or group to give access to the item.

    stringin bodyoptional
    23522323

    The ID of the user or group.

    Alternatively, use login to specify a user by email address.

    stringin bodyoptional
    john@example.com

    The email address of the user to grant access to the item.

    Alternatively, use id to specify a user by user ID.

    stringin bodyrequired
    user

    The type of collaborator to invite.

    Value is one of "user", "group"

    objectin body

    The item to attach the comment to.

    stringin bodyrequired
    11446498

    The ID of the item that will be granted access to

    stringin bodyrequired
    file

    The type of the item that this collaboration will be granted access to

    Value is one of "file", "folder"

    stringin bodyrequired
    editor

    The level of access granted.

    Value is one of "editor", "viewer", "previewer", "uploader", "previewer uploader", "viewer uploader", "co-owner"

    Response

    application/jsonCollaboration

    Returns a new collaboration object.

    You can now try out some of our APIs live, right here in the documentation.
    Log In

    Request Example

    cURL
    curl -X POST https://api.box.com/2.0/collaborations \
         -H "Authorization: Bearer <ACCESS_TOKEN>" \
         -H "Content-Type: application/json" \
         -d '{
           "item": {
             "type": "file",
             "id": "11446498"
           },
           "accessible_by": {
             "type": "user"
           },
           "role": "editor"
         }'
    .NET
    // collaborate folder 11111 with user 22222
    BoxCollaborationRequest requestParams = new BoxCollaborationRequest()
    {
        Item = new BoxRequestEntity()
        {
            Type = BoxType.Folder,
            Id = "11111"
        },
        Role = "editor",
        AccessibleBy = new BoxCollaborationUserRequest()
        {
            Id = "22222"
        }
    };
    BoxCollaboration collab = await client.CollaborationsManager.AddCollaborationAsync(requestParams);
    Java
    BoxCollaborator user = new BoxUser(api, "user-id")
    BoxFolder folder = new BoxFolder(api, "folder-id");
    folder.collaborate(user, BoxCollaboration.Role.EDITOR);
    Python
    from boxsdk.object.collaboration import CollaborationRole
    
    user = client.user(user_id='11111')
    collaboration = client.folder(folder_id='22222').collaborate(user, CollaborationRole.VIEWER)
    
    collaborator = collaboration.accessible_by
    item = collaboration.item
    has_accepted = 'has' if collaboration.status == 'accepted' else 'has not'
    print('{0} {1} accepted the collaboration to folder "{2}"'.format(collaborator.name, has_accepted, item.name))
    Node
    // Invite user 123456 to collaborate on folder 987654
    client.collaborations.createWithUserID('123456', '987654', client.collaborationRoles.EDITOR)
    	.then(collaboration => {
    		/* collaboration -> {
    			type: 'collaboration',
    			id: '11111',
    			created_by: 
    			{ type: 'user',
    				id: '22222',
    				name: 'Inviting User',
    				login: 'inviter@example.com' },
    			created_at: '2016-11-16T21:33:31-08:00',
    			modified_at: '2016-11-16T21:33:31-08:00',
    			expires_at: null,
    			status: 'accepted',
    			accessible_by: 
    			{ type: 'user',
    				id: '123456',
    				name: 'Collaborator User',
    				login: 'collaborator@example.com' },
    			role: 'editor',
    			acknowledged_at: '2016-11-16T21:33:31-08:00',
    			item: 
    			{ type: 'folder',
    				id: '987654',
    				sequence_id: '0',
    				etag: '0',
    				name: 'Collaborated Folder' } }
    		*/
    	});

    Response Example

    {
      "id": 11446498,
      "type": "collaboration",
      "item": {
        "id": 11446498,
        "type": "file",
        "sequence_id": 3,
        "etag": 1,
        "name": "Pictures"
      },
      "accessible_by": {
        "id": 11446498,
        "type": "user",
        "name": "Aaron Levie",
        "login": "ceo@example.com"
      },
      "invite_email": "john@example.com",
      "role": "editor",
      "expires_at": "2012-12-12T10:53:43-08:00",
      "status": "accepted",
      "acknowledged_at": "2012-12-12T10:53:43-08:00",
      "created_by": {
        "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",
      "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
        }
      }
    }