
## Типы полей

`GET /v1/lists/:iblockId/field-types`

Возвращает справочник типов поля: код типа и его русское название. Эти коды задаются при создании поля списка.

Код из справочника подставляется в поле `TYPE` при создании поля через [Создать поле](./create.md).

## Параметры

| Параметр | Тип | Обяз. | Описание |
|----------|-----|:-----:|---------|
| `iblockId` (path) | string | да | Идентификатор списка. Числовой `IBLOCK_ID` или символьный `IBLOCK_CODE`. Список — `GET /v1/lists` |
| `iblockTypeId` (query) | string | нет | Тип инфоблока. Значения:<br>`lists` — обычные списки, по умолчанию<br>`lists_socnet` — списки рабочих групп<br>`bitrix_processes` — служебные бизнес-процессы<br>`structure` — тип структуры компании (здесь лежит штатный инфоблок графика отсутствий `absence`) |
| `fieldId` (query) | string | нет | Ограничивает выборку одним полем. Значения — в [Поля списка](./list.md), ключ `FIELD_ID` |

## Примеры

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

```bash
curl https://vibecode.bitrix24.tech/v1/lists/121/field-types \
  -H "X-Api-Key: YOUR_API_KEY"
```

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

```bash
curl https://vibecode.bitrix24.tech/v1/lists/121/field-types \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"
```

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

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/lists/121/field-types', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('Код типа «Строка»:', data['S'])
```

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

```javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/lists/121/field-types', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})
const { data } = await res.json()
```

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

Поле `data` — плоский справочник. Ключ — код типа поля, значение — русское название типа.

| Поле | Тип | Описание |
|------|-----|---------|
| `success` | boolean | Всегда `true` при успехе |
| `data` | object | Справочник типов, ключ — код типа поля, значение — русское название |

Составные коды записываются через двоеточие — `S:Date`, `E:EList`, `S:Money`. Именно ключ-код передаётся в поле `TYPE` при создании поля.

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

```json
{
  "success": true,
  "data": {
    "SORT": "Сортировка",
    "ACTIVE_FROM": "Начало активности",
    "ACTIVE_TO": "Окончание активности",
    "PREVIEW_PICTURE": "Изображение для анонса",
    "PREVIEW_TEXT": "Текст анонса",
    "DETAIL_PICTURE": "Детальное изображение",
    "DETAIL_TEXT": "Детальный текст",
    "CREATED_BY": "Кем создан",
    "TIMESTAMP_X": "Дата изменения",
    "S": "Строка",
    "N": "Число",
    "L": "Список",
    "F": "Файл",
    "G": "Привязка к разделам",
    "E": "Привязка к элементам",
    "S:Date": "Дата",
    "S:DateTime": "Дата/Время",
    "S:HTML": "HTML/текст",
    "E:EList": "Привязка к элементам в виде списка",
    "N:Sequence": "Счетчик",
    "S:ECrm": "Привязка к элементам CRM",
    "S:Money": "Деньги",
    "S:DiskFile": "Файл (Диск)",
    "S:map_yandex": "Привязка к Яндекс.Карте",
    "S:employee": "Привязка к сотруднику"
  }
}
```

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

403 — нет прав на список либо списка с таким идентификатором нет:

```json
{
  "success": false,
  "error": {
    "code": "BITRIX_ACCESS_DENIED",
    "message": "Нет прав для просмотра и редактирования списка."
  }
}
```

## Ошибки

| HTTP | Код | Описание |
|------|-----|---------|
| 400 | `INVALID_IBLOCK_TYPE` | `iblockTypeId` не входит в список допустимых типов |
| 403 | `BITRIX_ACCESS_DENIED` | Нет прав на просмотр списка либо списка с указанным идентификатором не существует |
| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `lists` |
| 401 | `TOKEN_MISSING` | У ключа нет настроенных токенов |
| 409 | `LISTS_MODULE_NOT_ENABLED` | На портале не подключён модуль списков |

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

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

**Справочник объединяет коды типов новых полей и коды системных полей.** Кроме кодов, пригодных для `TYPE` при создании поля (`S`, `N`, `L`, `F`, `G`, `E` и составные `S:Date`, `S:Money`, `E:EList` и другие), в ответ входят коды системных полей списка — `SORT`, `ACTIVE_FROM`, `CREATED_BY`, `TIMESTAMP_X`. При создании поля берите код типа, а не системного поля.

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

- [Создать поле](/docs/lists/fields/create)
- [Поля списка](/docs/lists/fields/list)
- [Получить поле](/docs/lists/fields/get)
- [Поля списка](/docs/lists/fields)
