# Operations with Specific UserBundle

This resource lets you work with the sets of users in YouTrack.
|  Resource  |     ```GENERIC /api/admin/customFieldSettings/bundles/user/{bundleID} ```    |
| --- | --- |
|  Returned entity  |  [UserBundle](api-entity-UserBundle.html). For the description of the entity attributes, see [Supported Fields](#UserBundle-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Read a Specific UserBundle](#get-UserBundle-method).    * `POST`: [Update a Specific UserBundle](#update-UserBundle-method).    * `DELETE`: [Delete a Specific UserBundle](#delete-UserBundle-method).    |

## UserBundle attributes

Represents a set of values that contains users. You can add to the set both individual user accounts and groups of users.

### Related Resources

Below you can find the list of resources that let you work with this entity.

* [User Bundles](resource-api-admin-customFieldSettings-bundles-user.html)

Extends [Bundle](api-entity-Bundle.html)

### Attributes

This table describes attributes of the `UserBundle` entity.

* To receive an attribute in the response from the server, specify it explicitly in the `fields` request parameter.

* To update an attribute, provide it in the body of a POST request.

|  Field  |  Type  |  Description  |
| --- | --- | --- |
|  id  |  String  |  The ID of the set of users. `Read-only`.  |
|  groups  |  [Array of UserGroups](api-entity-UserGroup.html)  |  User groups that belong to this bundle.  |
|  individuals  |  [Array of Users](api-entity-User.html)  |  Individual users that belong to this bundle.  |
|  aggregatedUsers  |  [Array of Users](api-entity-User.html)  |  All users that belong to this bundle. `Read-only`.  |
|  isUpdateable  |  Boolean  |  If `true`, then the currently logged-in user can update this bundle. Otherwise, `false`. `Read-only`.  |

## Read a Specific UserBundle

Get the set of users with the specific ID.

### Required permissions

Requires read or update access to one of the fields that use the bundle. If the bundle is not used in any field, Update Project permission is required in at least one project.

### Request syntax

```GENERIC
GET /api/admin/customFieldSettings/bundles/user/{bundleID}?{fields}
```

|  {bundleID}  |  Database ID of the bundle.  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of UserBundle attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample

#### Sample request

```CURL
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/user/8-20?fields=name,id,isUpdateable,individuals(login,id,name),groups(name,id),aggregatedUsers(name,id,login)
```

#### Sample response body

```JSON
{
  "groups": [],
  "aggregatedUsers": [
    {
      "login": "john.doe",
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    {
      "login": "jane.doe",
      "name": "Jane Doe",
      "id": "1-3",
      "$type": "User"
    },
    {
      "login": "Jane_Smith",
      "name": "Jane Smith",
      "id": "1-4",
      "$type": "User"
    }
  ],
  "individuals": [
    {
      "login": "john.doe",
      "name": "John Doe",
      "id": "1-2",
      "$type": "User"
    },
    {
      "login": "jane.doe",
      "name": "Jane Doe",
      "id": "1-3",
      "$type": "User"
    },
    {
      "login": "Jane_Smith",
      "name": "Jane Smith",
      "id": "1-4",
      "$type": "User"
    }
  ],
  "isUpdateable": true,
  "name": "Hero-team",
  "id": "8-20",
  "$type": "UserBundle"
}
```

## Update a Specific UserBundle

Change the set of users with the specific ID.

### Required permissions

Requires Update Project permission in all projects where the bundle is used. If the bundle is not used in any field, Update Project permission is required in at least one project.

### Request syntax

```GENERIC
POST /api/admin/customFieldSettings/bundles/user/{bundleID}?{fields}
```

|  {bundleID}  |  Database ID of the bundle.  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of UserBundle attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample

Let's add a group of users to the specific set of users, and change the name of this set to 'Heroes'.

#### Sample request

```CURL
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/user/8-20?fields=id,name,aggregatedUsers(id,login),groups(name,id)
```

#### Sample request body

```JSON
{
  "groups": [
    {
      "id": "3-2"
    }
  ],
  "name": "Heroes",
  "isUpdateable": true
}
```

#### Sample response body

```JSON
{
  "groups": [
    {
      "name": "Sample Project Team",
      "id": "3-2",
      "$type": "UserGroup"
    }
  ],
  "aggregatedUsers": [
    {
      "login": "root",
      "id": "1-1",
      "$type": "User"
    },
    {
      "login": "john.doe",
      "id": "1-2",
      "$type": "User"
    },
    {
      "login": "jane.doe",
      "id": "1-3",
      "$type": "User"
    },
    {
      "login": "Jane_Smith",
      "id": "1-4",
      "$type": "User"
    }
  ],
  "name": "Heroes",
  "id": "8-20",
  "$type": "UserBundle"
}
```

## Delete a Specific UserBundle

Delete the set of users with the specific ID.

### Required permissions

Requires Update Project permission in all projects where the bundle is used. If the bundle is not used in any field, Update Project permission is required in at least one project.

### Request syntax

```GENERIC
DELETE /api/admin/customFieldSettings/bundles/user/{bundleID}
```

|  {bundleID}  |  Database ID of the bundle.  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of UserBundle attributes that should be returned in the response. If no field is specified, only the `entityID` is returned.  |

### Sample

#### Sample request

```CURL
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/user/8-18
```

