Update group membership

put
https://api.box.com/2.0
/group_memberships/:group_membership_id/

Updates a user's group membership. Only admins of this group or users with admin-level permissions will be able to use this API.

Request

Bearer [ACCESS_TOKEN]
application/json

Path Parameters

stringin pathrequired
434534

The ID of the group membership.

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.

Request Body

associative arrayin body

Custom configuration for the permissions an admin if a group will receive. This option has no effect on members with a role of member.

Setting these permissions overwrites the default access levels of an admin.

Specifying a value of "null" for this object will disable all configurable permissions. Specifying permissions will set them accordingly, omitted permissions will be enabled by default.

booleanin bodyoptional
true

A key value pair of custom permissions.

stringin bodyoptional
member

The role of the user in the group.

Value is one of member,admin

Response

application/jsonGroup membership

Returns a new group membership object.

application/jsonClient error

An unexpected client error.

put
Update group membership
You can now try out some of our APIs live, right here in the documentation.
Log in

Request Example

cURL
curl -i -X PUT "https://api.box.com/2.0/group_memberships/434534" \
     -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "Content-Type: application/json" \
     -d '{
       "role": "admin"
     }'
.NET
var updates = new BoxGroupMembershipRequest()
{
    Role = "admin"
};
BoxGroupMembership updatedMembership = await client.GroupsManager
    .UpdateGroupMembershipAsync("33333", updates);
Java
BoxGroupMembership membership = new BoxGroupMembership(api, id);
BoxGroupMembership.Info info = membership.new Info();
info.addPendingChange("role", role);
membership.updateInfo(info);
Python
membership_id = '1234'
membership_update = {'role': 'admin'}
updated_membership = client.group_membership(membership_id).update_info(membership_update)
print('Updated {0}\'s group role to {1}'.format(updated_membership.user.name, updated_membership.role))
Node
// Promote a user to group admin
client.groups.updateMembership('12345', {role: client.groups.userRoles.ADMIN})
	.then(membership => {
		/* membership -> {
			type: 'group_membership',
			id: '33333',
			user: 
			{ type: 'user',
				id: '22222',
				name: 'Alison Wonderland',
				login: 'alice@example.com' },
			group: { type: 'group', id: '11111', name: 'Employees' },
			role: 'admin',
			configurable_permissions: 
			{ can_run_reports: false,
				can_instant_login: false,
				can_create_accounts: false,
				can_edit_accounts: false },
			created_at: '2013-05-16T15:27:57-07:00',
			modified_at: '2013-05-16T15:27:57-07:00' }
		*/
	});
iOS
client.groups.updateMembership(membershipId: "12345", role: .admin, configurablePermission: .value(ConfigurablePermissionData(canRunReports: true, canInstantLogin: true, canCreateAccounts: false, canEditAccounts: true))) { 
(result: Result<GroupMembership, BoxSDKError>) in
    guard case let .success(membership) = result else {
        print("Error updating group membership")
        return
    }

    print("Group membership with ID \(membership.id) was updated")
}

Response Example

{
  "id": 11446498,
  "type": "group_membership",
  "created_at": "2012-12-12T10:53:43-08:00",
  "group": {
    "id": 11446498,
    "type": "group",
    "group_type": "managed_group",
    "name": "Support"
  },
  "modified_at": "2012-12-12T10:53:43-08:00",
  "role": "member",
  "user": {
    "id": 11446498,
    "type": "user",
    "login": "ceo@example.com",
    "name": "Aaron Levie"
  }
}