## Создать значение списочного поля

`POST /v1/userfields/:entity/enum-values`

Добавляет отдельный вариант в существующее списочное пользовательское поле CRM. Тело передаётся без обёртки `fields`.

> **Возможность в процессе раскатки.** Требуется обновление CRM после `26.2200.0` и включение администратором. Номер выпуска ещё не опубликован. До доступности — `422 METHOD_NOT_YET_AVAILABLE` с полем `error.release`.

Для полей смарт-процессов используйте тот же контракт по адресу `POST /v1/items/:entityTypeId/userfields/enum-values`. Счета доступны также через `entityTypeId=31`.

## Параметры

| Параметр | Тип | Обяз. | По умолч. | Описание |
|---|---|---|---|---|
| `entity` (path) | string | да | — | `deals` — сделки, `leads` — лиды, `contacts` — контакты, `companies` — компании, `quotes` — предложения, `invoices` — счета |
| `entityTypeId` (path) | integer | для альтернативного адреса | — | Идентификатор типа [смарт-процесса](/docs/entities/smart-processes/list) или `31` для счетов |

## Поля запроса (body)

| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
| `fieldId` | integer / string | да | Идентификатор или код `UF_*` списочного поля. Источники: [поля CRM](/docs/userfields/crm/list), [поля смарт-процесса](/docs/userfields/smart-processes/list) |
| `value` | string | да | Название варианта |
| `isDefault` | boolean | нет | Использовать по умолчанию |
| `sort` | integer | нет | Порядок сортировки |
| `xmlId` | string / null | нет | Внешний идентификатор для интеграции |

## Примеры

### curl — личный ключ

```bash
curl -X POST "https://vibecode.bitrix24.tech/v1/userfields/deals/enum-values" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fieldId": 6008145, "value": "VIBE-PROBE option", "isDefault": false, "sort": 500, "xmlId": "VIBE-PROBE-X"}'
```

### curl — OAuth-приложение

```bash
curl -X POST "https://vibecode.bitrix24.tech/v1/userfields/deals/enum-values" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fieldId": 6008145, "value": "VIBE-PROBE option", "isDefault": false, "sort": 500, "xmlId": "VIBE-PROBE-X"}'
```

### JavaScript — личный ключ

```javascript
const response = await fetch(
  'https://vibecode.bitrix24.tech/v1/userfields/deals/enum-values',
  {
    "method": "POST",
    "headers": {
      "X-Api-Key": "YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "fieldId": 6008145,
      "value": "VIBE-PROBE option",
      "isDefault": false,
      "sort": 500,
      "xmlId": "VIBE-PROBE-X"
    })
  }
)
const { success, data } = await response.json()
```

### JavaScript — OAuth-приложение

```javascript
const response = await fetch(
  'https://vibecode.bitrix24.tech/v1/userfields/deals/enum-values',
  {
    "method": "POST",
    "headers": {
      "X-Api-Key": "YOUR_APP_KEY",
      "Authorization": "Bearer USER_SESSION_TOKEN",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "fieldId": 6008145,
      "value": "VIBE-PROBE option",
      "isDefault": false,
      "sort": 500,
      "xmlId": "VIBE-PROBE-X"
    })
  }
)
const { success, data } = await response.json()
```

## Поля ответа

HTTP `201 Created`.

| Поле | Тип | Описание |
|---|---|---|
| `success` | boolean | `true` при успехе |
| `data` | object | Вариант поля |
| `data.id` | integer | Идентификатор варианта для [получения](/docs/entities/crm-field-enum/get) |
| `data.fieldId` | integer | Идентификатор поля. См. [поля CRM](/docs/userfields/crm/list) и [поля смарт-процесса](/docs/userfields/smart-processes/list) |
| `data.value` | string | Название варианта |
| `data.isDefault` | boolean | Используется по умолчанию |
| `data.sort` | integer | Порядок сортировки |
| `data.xmlId` | string / null | Внешний идентификатор |

## Пример ответа

```json
{
  "success": true,
  "data": {
    "id": 4119,
    "fieldId": 6008145,
    "value": "VIBE-PROBE option",
    "isDefault": false,
    "sort": 500,
    "xmlId": "VIBE-PROBE-X"
  }
}
```

## Пример ответа при ошибке

400 — некорректный запрос:

```json
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Use enum fields fieldId (add only), value, isDefault, sort and xmlId with their documented types"
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|---|---|---|
| 400 | `INVALID_PARAMS` | Некорректная форма запроса или тип параметра |
| 400 | `UNKNOWN_FILTER_FIELD` | Неизвестный или повторённый параметр запроса |
| 422 | `METHOD_NOT_YET_AVAILABLE` | Возможность ещё недоступна. Сведения об обновлении — в `error.release` |
| 502 | `BITRIX_UNAVAILABLE` | Некорректный ответ Битрикс24 |
| 401 | `MISSING_API_KEY` | Не передан `X-Api-Key` |
| 401 | `TOKEN_MISSING` | Нет токенов для обращения к Битрикс24 |
| 403 | `SCOPE_DENIED` | Ключу нужен скоуп `crm` |
| 403 | `WRITE_BLOCKED_READONLY_KEY` | Создание запрещено ключу `READONLY` |

Полный список общих ошибок API — [Ошибки](/docs/errors).

## Известные особенности

После неоднозначного сбоя сначала проверьте [список вариантов](/docs/entities/crm-field-enum/list). Повтор создания вслепую может добавить второй вариант.

## Смотрите также

- [Список значений списочного поля](/docs/entities/crm-field-enum/list)
- [Получить значение списочного поля](/docs/entities/crm-field-enum/get)
- [Обновить значение списочного поля](/docs/entities/crm-field-enum/update)
- [Удалить значение списочного поля](/docs/entities/crm-field-enum/delete)
- [Значения списочных полей CRM](/docs/entities/crm-field-enum)
