# Version Bundles

This resource provides operations with version bundles. Version bundles are used as the set of allowed values for custom fields of the
`version`
type.
|  Resource  |     ```GENERIC /api/admin/customFieldSettings/bundles/version ```    |
| --- | --- |
|  Returned entity  |  [VersionBundle](api-entity-VersionBundle.html). For the description of the entity attributes, see [Supported Fields](#VersionBundle-supported-fields) section.  |
|  Supported methods  |      * `GET`: [Read a List of VersionBundles](#get_all-VersionBundle-method).    * `POST`: [Add a New VersionBundle](#create-VersionBundle-method).    |
|  Supported sub-resources  |      * [/api/admin/customFieldSettings/bundles/version/{bundleID}](operations-api-admin-customFieldSettings-bundles-version.html)    * [/api/admin/customFieldSettings/bundles/version/{bundleID}/values](resource-api-admin-customFieldSettings-bundles-version-bundleID-values.html)    |

## VersionBundle attributes

Represents a set of versions in YouTrack.

Version bundles are used as the set of allowed values for custom fields of the `version` type, for example, the `Fix versions` and `Affected versions` fields.

### Related Resources

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

* [Version Bundles]()

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

### Attributes

This table describes attributes of the `VersionBundle` 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 versions. `Read-only`.  |
|  values  |  [Array of VersionBundleElements](api-entity-VersionBundleElement.html)  |  Collection of versions contained in the bundle.  |
|  isUpdateable  |  Boolean  |  If `true`, then the currently logged-in user can update this bundle. Otherwise, `false`. `Read-only`.  |

## Read a List of VersionBundles

Get the list of all available version bundles in the system.

### Request syntax

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

|  null  |  The database ID of VersionBundle  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of VersionBundle 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/version?fields=id,name,fieldType(presentation,id),values(id,name,$type)
```

#### Sample response body

```JSON
[
  {
    "values": [],
    "name": "Versions",
    "id": "71-0",
    "$type": "VersionBundle"
  },
  {
    "values": [
      {
        "name": "2019.1",
        "id": "133-19",
        "$type": "VersionBundleElement"
      }
    ],
    "name": "Sample Project: Versions",
    "id": "71-1",
    "$type": "VersionBundle"
  },
  {
    "values": [],
    "name": "Rest Api Project: Versions",
    "id": "71-3",
    "$type": "VersionBundle"
  },
  {
    "values": [],
    "name": "Sandbox: Versions",
    "id": "71-4",
    "$type": "VersionBundle"
  },
  {
    "values": [],
    "name": "Rest Project: Versions",
    "id": "71-7",
    "$type": "VersionBundle"
  },
  {
    "values": [],
    "name": "GRA Project: Versions",
    "id": "71-8",
    "$type": "VersionBundle"
  },
  {
    "values": [
      {
        "name": "0.1.0",
        "id": "133-8",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.1.1",
        "id": "133-9",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.1.2",
        "id": "133-10",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.1.3",
        "id": "133-11",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.2.0",
        "id": "133-12",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.2.1",
        "id": "133-13",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.2.2",
        "id": "133-14",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.2.3",
        "id": "133-15",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.2.4",
        "id": "133-16",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.3.0",
        "id": "133-17",
        "$type": "VersionBundleElement"
      },
      {
        "name": "0.3.1",
        "id": "133-18",
        "$type": "VersionBundleElement"
      },
      {
        "name": "8.3.03",
        "id": "133-20",
        "$type": "VersionBundleElement"
      }
    ],
    "name": "92-25-1547566402414",
    "id": "71-10",
    "$type": "VersionBundle"
  }
]
```

## Add a New VersionBundle

Create a new version bundle in the system.

### Required permissions

Requires permissions: Update Project or Low-level Admin Write

### Request syntax

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

|  null  |  The database ID of VersionBundle  |
| --- | --- |

### Request parameters

|  Parameter  |  Type  |  Description  |
| --- | --- | --- |
|  fields  |  String  |  A list of VersionBundle 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/version?fields=id,name,fieldType(presentation,id),values(id,name,$type)
```

#### Sample request body

```JSON
{
  "values": [
    {
      "name": "2019.1.1",
      "$type": "VersionBundleElement"
    },
    {
      "name": "2019.1.2",
      "$type": "VersionBundleElement"
    }
  ],
  "name": "Base Versions",
  "$type": "VersionBundle"
}
```

#### Sample response body

```JSON
{
  "values": [
    {
      "name": "2019.1.1",
      "id": "133-21",
      "$type": "VersionBundleElement"
    },
    {
      "name": "2019.1.2",
      "id": "133-22",
      "$type": "VersionBundleElement"
    }
  ],
  "name": "Base Versions",
  "id": "71-11",
  "$type": "VersionBundle"
}
```

