# User Bundles

This resource lets you work with the sets of users in YouTrack.
|  Resource  |     ```GENERIC /api/admin/customFieldSettings/bundles/user ```    |
| --- | --- |
|  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 List of UserBundles](#get_all-UserBundle-method).    * `POST`: [Add a New UserBundle](#create-UserBundle-method).    |
|  Supported sub-resources  |      * [/api/admin/customFieldSettings/bundles/user/{bundleID}](operations-api-admin-customFieldSettings-bundles-user.html)    * [/api/admin/customFieldSettings/bundles/user/{bundleID}/groups](resource-api-admin-customFieldSettings-bundles-user-bundleID-groups.html)    * [/api/admin/customFieldSettings/bundles/user/{bundleID}/individuals](resource-api-admin-customFieldSettings-bundles-user-bundleID-individuals.html)    * [/api/admin/customFieldSettings/bundles/user/{bundleID}/aggregatedUsers](resource-api-admin-customFieldSettings-bundles-user-bundleID-aggregatedUsers.html)    |

## 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]()

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 List of UserBundles

Get the list of all available sets of users in YouTrack.

### Request syntax

```GENERIC
GET /api/admin/customFieldSettings/bundles/user?{fields}&{$top}&{$skip}
```

|  null  |  The database ID of UserBundle  |
| --- | --- |

### 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.  |
|  $skip  |  Int  |  Optional. Lets you set a number of returned entities to skip before returning the first one.  |
|  $top  |  Int  |     Optional. Lets you specify the maximum number of entries that are returned in the response. If you don't set the $top value, the server limits the maximum number of returned entries.       The server returns a maximum of 42 entries for most resources that return collections. For more information, see [Pagination](api-concept-pagination.html).     |

### Sample

#### Sample request

```CURL
https://example.youtrack.cloud/api/admin/customFieldSettings/bundles/user?fields=name,id,isUpdateable,individuals(login,id,name),groups(name,id),aggregatedUsers(name,id,login)&$top=2
```

#### Sample response body

```JSON
[
  {
    "groups": [
      {
        "name": "Sample Project Team",
        "id": "3-2",
        "$type": "UserGroup"
      }
    ],
    "aggregatedUsers": [
      {
        "login": "root",
        "name": "John Smith",
        "id": "1-1",
        "$type": "User"
      },
      {
        "login": "john.doe",
        "name": "John Doe",
        "id": "1-2",
        "$type": "User"
      },
      {
        "login": "jane.doe",
        "name": "Jane Doe",
        "id": "1-3",
        "$type": "User"
      }
    ],
    "individuals": [],
    "isUpdateable": true,
    "name": "Sample Project: Assignees",
    "id": "8-0",
    "$type": "UserBundle"
  },
  {
    "groups": [
      {
        "name": "Rest Api Project Team",
        "id": "3-4",
        "$type": "UserGroup"
      }
    ],
    "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": "jane.doe",
        "name": "Jane Doe",
        "id": "1-3",
        "$type": "User"
      },
      {
        "login": "Jane_Smith",
        "name": "Jane Smith",
        "id": "1-4",
        "$type": "User"
      }
    ],
    "isUpdateable": true,
    "name": "Rest Api Project: Assignees",
    "id": "8-2",
    "$type": "UserBundle"
  }
]
```

## Add a New UserBundle

Create a new set of users.

### Required permissions

Requires permissions: Update Project or Low-level Admin Write

### Request syntax

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

|  null  |  The database ID of UserBundle  |
| --- | --- |

### 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?fields=id,name,aggregatedUsers(id,login)
```

#### Sample request body

```JSON
{
  "individuals": [
    {
      "id": "1-3"
    },
    {
      "id": "1-2"
    },
    {
      "id": "1-4"
    }
  ],
  "name": "Hero-team",
  "isUpdateable": true
}
```

#### Sample response body

```JSON
{
  "aggregatedUsers": [
    {
      "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": "Hero-team",
  "id": "8-20",
  "$type": "UserBundle"
}
```

