[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Frequisites":3,"docs-tabs-entities\u002Frequisites":6},{"content":4,"lastmod":5},"# Реквизиты\n\nУправление реквизитами CRM: создание, получение, обновление, удаление, фильтрация. Реквизиты всегда привязаны к контакту или компании и содержат юридическую информацию (название, ИНН\u002FКПП\u002FОГРН, директор, бухгалтер и т. д.).\n\nБитрикс24 API: `crm.requisite.*`\nСкоуп: `crm`\n\n## Операции\n\n- [Создать реквизит](.\u002Frequisites\u002Fcreate.md) — `POST \u002Fv1\u002Frequisites`\n- [Список реквизитов](.\u002Frequisites\u002Flist.md) — `GET \u002Fv1\u002Frequisites`\n- [Получить реквизит](.\u002Frequisites\u002Fget.md) — `GET \u002Fv1\u002Frequisites\u002F:id`\n- [Обновить реквизит](.\u002Frequisites\u002Fupdate.md) — `PATCH \u002Fv1\u002Frequisites\u002F:id`\n- [Удалить реквизит](.\u002Frequisites\u002Fdelete.md) — `DELETE \u002Fv1\u002Frequisites\u002F:id`\n- [Поиск реквизитов](.\u002Frequisites\u002Fsearch.md) — `POST \u002Fv1\u002Frequisites\u002Fsearch`\n- [Поля реквизита](.\u002Frequisites\u002Ffields.md) — `GET \u002Fv1\u002Frequisites\u002Ffields`\n- [Агрегация реквизитов](.\u002Frequisites\u002Faggregate.md) — `POST \u002Fv1\u002Frequisites\u002Faggregate`\n\n## Ключевые поля\n\n| Поле | Описание |\n|------|---------|\n| `entityTypeId` | Тип родительской сущности: `3` — контакт, `4` — компания |\n| `entityId` | ID контакта или компании, которому принадлежит реквизит |\n| `presetId` | ID [шаблона реквизитов](\u002Fdocs\u002Fentities\u002Frequisite-presets) (задаёт набор доступных полей, неизменяем после создания) |\n| `rqName` \u002F `rqInn` \u002F `rqKpp` \u002F `rqOgrn` | Основные реквизиты юрлица |\n| `rqCompanyName` \u002F `rqCompanyFullName` \u002F `rqDirector` \u002F `rqAccountant` | Название и руководство |\n| `rqOkpo` \u002F `rqOkved` \u002F `rqOktmo` \u002F `rqVatPayer` | Классификаторы и НДС |\n\nПолный список полей — [`GET \u002Fv1\u002Frequisites\u002Ffields`](.\u002Frequisites\u002Ffields.md).\n\n## Что нужно знать перед работой\n\n1. **Шаблон определяет набор полей.** У шаблона «ООО» одни поля (ИНН, КПП, ОГРН, директор), у шаблона «Физлицо» — другие (ФИО, паспорт, дата рождения).\n2. **Для создания нужны 3 поля:** `entityTypeId`, `entityId`, `presetId`. `presetId` получается из [`GET \u002Fv1\u002Frequisite-presets`](\u002Fdocs\u002Fentities\u002Frequisite-presets) — программное создание реквизита больше не требует копирования ID из UI Битрикса.\n3. **Поля схемы возвращаются в camelCase.** Это касается и полей международных шаблонов — `rqEdrpou`, `rqKbe`, `rqRegon`, `rqSiret`, `rqCnpj`. Фильтр и сортировка идут по camelCase-имени. Пользовательские поля `UF_CRM_*` возвращаются в исходном регистре Битрикс24. См. [Поля реквизита](.\u002Frequisites\u002Ffields.md). Чтобы получить только поля своего шаблона — добавьте `?presetId=N` к `GET \u002Fv1\u002Frequisites\u002Ffields`.\n\n## Связанные сущности\n\nПолноценная работа с реквизитами (счета, договоры, печатные формы) требует сопутствующих сущностей — все обёрнуты в Vibe API:\n\n| Сущность | Эндпоинт | Назначение |\n|----------|----------|-----------|\n| [Шаблоны реквизитов](\u002Fdocs\u002Fentities\u002Frequisite-presets) | `GET \u002Fv1\u002Frequisite-presets` | Шаблоны реквизитов («ООО», «ИП», «Физлицо», «Иностранное юрлицо»). Источник `presetId` для создания реквизита. На странице шаблона — состав его полей. |\n| [Банковские реквизиты](\u002Fdocs\u002Fentities\u002Fbank-details) | `GET \u002Fv1\u002Fbank-details?entityTypeId=8&entityId=:requisiteId` | Р\u002Fс, БИК, к\u002Fс, SWIFT, IBAN. Без них нельзя выставить оплатный счёт. |\n| [Адреса](\u002Fdocs\u002Fentities\u002Faddresses) | `GET \u002Fv1\u002Faddresses?entityTypeId=8&entityId=:requisiteId` | Юридический, фактический, почтовый, доставки. Композитный ключ `(typeId, entityTypeId, entityId)`. |\n| [Связи реквизитов](\u002Fdocs\u002Fentities\u002Frequisite-links) | `POST \u002Fv1\u002Frequisite-links` | Привязка конкретного реквизита (и опционально банка) к счёту\u002Fпредложению. Нужно мультиреквизитным компаниям. |\n| Кастомные UF-поля | `POST \u002Fv1\u002Fuserfields\u002Frequisites` | UF_CRM_* поля на реквизитах — добавить, изменить, удалить. |\n\n## Типичный сценарий\n\n1. Найти контакт или компанию: [`GET \u002Fv1\u002Fcontacts`](\u002Fdocs\u002Fentities\u002Fcontacts) \u002F [`GET \u002Fv1\u002Fcompanies`](\u002Fdocs\u002Fentities\u002Fcompanies).\n2. Посмотреть её реквизиты: [`GET \u002Fv1\u002Frequisites?filter[entityTypeId]=4&filter[entityId]=15`](.\u002Frequisites\u002Flist.md).\n3. Создать новый или обновить существующий: [`POST \u002Fv1\u002Frequisites`](.\u002Frequisites\u002Fcreate.md) \u002F [`PATCH \u002Fv1\u002Frequisites\u002F:id`](.\u002Frequisites\u002Fupdate.md).\n\n## Лимиты\n\n| Лимит | Значение |\n|-------|----------|\n| Максимум записей на запрос | 5000 (`limit ≤ 5000`) |\n| Авто-пагинация | включается при `limit > 50` |\n| `offset` на больших выборках | рекомендуется `limit ≤ 500` при `offset ≥ 2500` |\n| Batch-запросы | до 50 операций в [`POST \u002Fv1\u002Fbatch`](\u002Fdocs\u002Fbatch) |\n| Rate limit | общий для Vibe API — см. [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) |\n\n## Смотрите также\n\n- [Entity API](\u002Fdocs\u002Fentity-api) — общие принципы работы с сущностями\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Batch](\u002Fdocs\u002Fbatch) — массовые операции\n- [Справочник сущностей](\u002Fdocs\u002Fentities-index)\n","2026-06-30",{"requisites\u002Fcreate.md":7,"requisites\u002Flist.md":8,"requisites\u002Fget.md":9,"requisites\u002Fupdate.md":10,"requisites\u002Fdelete.md":11,"requisites\u002Fsearch.md":12,"requisites\u002Ffields.md":13,"requisites\u002Faggregate.md":14},"\n## Создать реквизит\n\n`POST \u002Fv1\u002Frequisites`\n\nСоздаёт новый реквизит и привязывает его к контакту или компании CRM.\n\n## Обязательные поля\n\nБитрикс24 требует четыре поля для создания реквизита:\n\n| Поле | Тип | Допустимые значения | Описание |\n|------|-----|--------------------|---------|\n| `entityTypeId` | number | `3` (контакт), `4` (компания) | Тип родительской сущности |\n| `entityId` | number | любой существующий ID | ID родительской сущности. Поиск: `GET \u002Fv1\u002Fcontacts` или `GET \u002Fv1\u002Fcompanies` |\n| `presetId` | number | любой существующий ID шаблона | ID [шаблона реквизита](\u002Fdocs\u002Fentities\u002Frequisite-presets) (определяет набор полей). Источник: `GET \u002Fv1\u002Frequisite-presets` |\n| `name` | string | непустая строка | Название реквизита. Без него Битрикс24 отклоняет создание: 422 `BITRIX_ERROR` «Не заполнено обязательное поле „Название\"» |\n\n## Популярные поля\n\nВсе поля в camelCase. Полный список — [`GET \u002Fv1\u002Frequisites\u002Ffields`](.\u002Ffields.md).\n\n### Общие\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `active` | boolean | `true` | Активен ли реквизит |\n| `sort` | number | `500` | Порядок сортировки (чем меньше — тем выше) |\n| `code` \u002F `xmlId` \u002F `originatorId` | string | — | Внешние идентификаторы для синхронизации |\n| `addressOnly` | boolean | `false` | Признак «только адрес» (для адресных справочников) |\n\n### Юрлица\n\n| Параметр | Тип | Описание |\n|----------|-----|---------|\n| `rqName` | string | Полное наименование |\n| `rqCompanyName` | string | Сокращённое название |\n| `rqCompanyFullName` | string | Полное название юрлица |\n| `rqCompanyRegDate` | date | Дата регистрации |\n| `rqInn` | string | ИНН |\n| `rqKpp` | string | КПП |\n| `rqOgrn` | string | ОГРН |\n| `rqOgrnip` | string | ОГРНИП (для ИП) |\n| `rqOkpo` \u002F `rqOkved` \u002F `rqOktmo` | string | Классификаторы |\n| `rqDirector` | string | ФИО директора |\n| `rqAccountant` | string | ФИО главного бухгалтера |\n| `rqCeoName` \u002F `rqCeoWorkPos` | string | ФИО и должность руководителя |\n| `rqContact` \u002F `rqEmail` \u002F `rqPhone` \u002F `rqFax` | string | Контакты организации |\n| `rqVatPayer` | boolean | Плательщик НДС |\n| `rqVatId` | string | ИНН для НДС (иностранные) |\n| `rqBaseDoc` | string | Документ-основание деятельности (например, «Устав») |\n| `rqResidenceCountry` | string | Страна регистрации |\n\n### Физлица\n\n| Параметр | Тип | Описание |\n|----------|-----|---------|\n| `rqFirstName` \u002F `rqLastName` \u002F `rqSecondName` | string | Имя \u002F Фамилия \u002F Отчество |\n| `rqIdentDocType` | string | Название документа, удостоверяющего личность |\n| `rqIdentDocSer` \u002F `rqIdentDocNum` | string | Серия \u002F Номер документа |\n| `rqIdentDocDate` | date | Дата выдачи |\n| `rqIdentDocIssuedBy` | string | Кем выдан |\n| `rqIdentDocDepCode` | string | Код подразделения |\n\n### Международные шаблоны\n\nПоля шаблонов других стран — `rqEdrpou`, `rqKbe`, `rqRegon`, `rqSiret`, `rqCnpj` — передаются в camelCase, как остальные поля схемы. Заполняются на реквизитах соответствующего странового шаблона.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"entityTypeId\": 4,\n    \"entityId\": 15,\n    \"presetId\": 1,\n    \"name\": \"Основной\",\n    \"rqName\": \"ООО «Ромашка»\",\n    \"rqInn\": \"7701234567\",\n    \"rqKpp\": \"770101001\",\n    \"rqOgrn\": \"1027700123456\",\n    \"rqCompanyName\": \"Ромашка\",\n    \"rqDirector\": \"Иванов Иван Иванович\",\n    \"rqVatPayer\": true\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"entityTypeId\": 4,\n    \"entityId\": 15,\n    \"presetId\": 1,\n    \"name\": \"Основной\",\n    \"rqName\": \"ООО «Ромашка»\",\n    \"rqInn\": \"7701234567\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    entityTypeId: 4,\n    entityId: 15,\n    presetId: 1,\n    name: 'Основной',\n    rqName: 'ООО «Ромашка»',\n    rqInn: '7701234567',\n    rqKpp: '770101001',\n    rqOgrn: '1027700123456',\n    rqCompanyName: 'Ромашка',\n    rqDirector: 'Иванов Иван Иванович',\n    rqVatPayer: true,\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Создан реквизит ID:', data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    entityTypeId: 4,\n    entityId: 15,\n    presetId: 1,\n    name: 'Основной',\n    rqName: 'ООО «Ромашка»',\n    rqInn: '7701234567',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Созданный реквизит |\n| `data.id` | number | Идентификатор новой записи |\n| `data.entityTypeId` \u002F `data.entityId` \u002F `data.presetId` | number | Переданные значения |\n| `data.name` | string \\| null | Название реквизита |\n| `data.active` | boolean | Активен ли реквизит. По умолчанию `true` |\n| `data.sort` | number | Порядок сортировки. По умолчанию `500` |\n| `data.createdAt` \u002F `data.updatedAt` | datetime | Совпадают при создании |\n| `data.createdBy` | number | ID создателя |\n| `data.modifyBy` | number \\| null | `null` сразу после создания |\n\nОтвет содержит все поля шаблона реквизита в camelCase. Незаполненные поля — `null`. Полный список полей — [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields).\n\n## Пример ответа\n\nHTTP-статус: `201 Created`\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 42,\n    \"entityTypeId\": 4,\n    \"entityId\": 15,\n    \"presetId\": 1,\n    \"name\": \"Основной\",\n    \"active\": true,\n    \"sort\": 500,\n    \"createdAt\": \"2026-04-19T14:30:00+03:00\",\n    \"updatedAt\": \"2026-04-19T14:30:00+03:00\",\n    \"createdBy\": 1,\n    \"modifyBy\": null,\n    \"rqName\": \"ООО «Ромашка»\",\n    \"rqInn\": \"7701234567\",\n    \"rqKpp\": \"770101001\",\n    \"rqOgrn\": \"1027700123456\",\n    \"rqCompanyName\": \"Ромашка\",\n    \"rqDirector\": \"Иванов Иван Иванович\",\n    \"rqVatPayer\": true,\n    \"rqAccountant\": null,\n    \"rqCeoName\": null,\n    \"rqOkpo\": null,\n    \"rqOkved\": null\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n400 — не указан `presetId`:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"PRESET_ID field value is not specified\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 422 | `BITRIX_ERROR` | Не указано обязательное поле — Битрикс24 отвечает текстом вида `PRESET_ID is not defined or invalid` \u002F «Не заполнено обязательное поле „Название\"» |\n| 422 | `BITRIX_ERROR` | Битрикс24 отклонил значение одного из полей (например, несуществующий `presetId`) |\n| 403 | `ACCESS_DENIED` | Нет доступа к родительской компании\u002Fконтакту |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Поля, которых нет в шаблоне, игнорируются.** Если передать поле, которого нет в выбранном шаблоне, Битрикс24 молча его проигнорирует — ошибка не возникнет, но и значение не сохранится.\n\n## Смотрите также\n\n- [Список реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Flist) — получить существующие\n- [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields) — полный перечень\n- [Обновить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fupdate) — изменить после создания\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Batch](\u002Fdocs\u002Fbatch) — массовое создание\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","\n## Список реквизитов\n\n`GET \u002Fv1\u002Frequisites`\n\nВозвращает список реквизитов CRM с поддержкой фильтрации, сортировки и авто-пагинации. Реквизиты всегда принадлежат конкретному контакту или компании — почти всегда вам нужен фильтр по `entityTypeId` и `entityId`.\n\n## Параметры\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `limit` | number | `50` | Количество записей (до 5000). При `limit > 50` Вайбкод автоматически запрашивает несколько страниц у Битрикс24 |\n| `offset` | number | `0` | Пропустить N записей. При `offset > 0` рекомендуется `limit ≤ 500` |\n| `select` | string | — | Выборка полей: `?select=id,rqName,rqInn` |\n| `order` | object | — | Сортировка: `?order[sort]=asc` или `?sort=-id` |\n| `filter` | object | — | Фильтрация по полям `GET \u002Fv1\u002Frequisites\u002Ffields`.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering). Пример: `?filter[entityTypeId]=4&filter[entityId]=15` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites?filter[entityTypeId]=4&filter[entityId]=15\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites?filter[entityTypeId]=4&filter[entityId]=15\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites?filter[entityTypeId]=4&filter[entityId]=15', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data, meta } = await res.json()\nconsole.log(`Найдено ${meta.total} реквизитов`)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites?filter[entityTypeId]=4&filter[entityId]=15', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data, meta } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив реквизитов (все поля — см. [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields)) |\n| `meta.total` | number | Общее количество записей, соответствующих фильтру |\n| `meta.hasMore` | boolean | Есть ли ещё записи за пределами limit |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 42,\n      \"entityTypeId\": 4,\n      \"entityId\": 15,\n      \"presetId\": 1,\n      \"name\": \"Основной реквизит\",\n      \"active\": true,\n      \"sort\": 500,\n      \"code\": null,\n      \"xmlId\": null,\n      \"addressOnly\": false,\n      \"createdAt\": \"2025-01-15T09:30:00+03:00\",\n      \"updatedAt\": \"2026-03-20T14:00:00+03:00\",\n      \"createdBy\": 1,\n      \"modifyBy\": 1,\n      \"rqName\": \"ООО «Ромашка»\",\n      \"rqInn\": \"7701234567\",\n      \"rqKpp\": \"770101001\",\n      \"rqOgrn\": \"1027700123456\",\n      \"rqOkpo\": \"12345678\",\n      \"rqOkved\": \"62.01\",\n      \"rqCompanyName\": \"Ромашка\",\n      \"rqCompanyFullName\": \"Общество с ограниченной ответственностью «Ромашка»\",\n      \"rqDirector\": \"Иванов Иван Иванович\",\n      \"rqAccountant\": \"Петрова Анна Сергеевна\",\n      \"rqVatPayer\": false\n    }\n  ],\n  \"meta\": {\n    \"total\": 1,\n    \"hasMore\": false\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"Requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n| 400 | `INVALID_FILTER` | Ошибка в синтаксисе фильтра |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Поля схемы — camelCase, пользовательские — в исходном регистре.** Все поля схемы Вайбкод, в том числе поля международных шаблонов `rqEdrpou`, `rqKbe`, `rqRegon`, `rqSiret`, `rqCnpj`, возвращаются в camelCase. Фильтр и сортировка — по тому же имени. Пользовательские поля `UF_CRM_*` возвращаются в исходном регистре Битрикс24.\n\n**Пустые значения нормализованы.** Битрикс24 возвращает `\"\"` для очищенных полей и `null` для никогда не заполненных. Вайбкод приводит их к `null` для string\u002Fnumber\u002Fdate\u002Fdatetime типов — клиенту достаточно проверки `if (v)` без дополнительных условий.\n\n**Сужайте выборку фильтром по владельцу.** В портале могут быть десятки тысяч реквизитов. Для получения реквизитов конкретной компании или контакта передавайте `entityTypeId` + `entityId`.\n\n**Коды `entityTypeId`:** `3` — контакт, `4` — компания. Для смарт-процессов и других сущностей CRM реквизиты не поддерживаются на уровне Битрикс24.\n\n**Авто-пагинация.** При `limit > 50` Вайбкод автоматически запрашивает несколько страниц у Битрикс24 и возвращает все записи в одном ответе.\n\n**Ограничение offset.** При `offset ≥ 2500` Битрикс24 может вернуть `INTERNAL_ERROR`. Используйте `limit ≤ 500` при больших offset.\n\n## Смотрите также\n\n- [Получить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fget) — получение одной записи по ID\n- [Поиск реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Fsearch) — POST-запрос для сложных фильтров\n- [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields) — полный список полей\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Entity API](\u002Fdocs\u002Fentity-api) — select, order, пагинация\n- [Batch](\u002Fdocs\u002Fbatch) — объединение нескольких list-запросов\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","\n## Получить реквизит\n\n`GET \u002Fv1\u002Frequisites\u002F:id`\n\nВозвращает реквизит по ID со всеми полями, которые доступны в его шаблоне (шаблон задаёт набор полей: наименование, ИНН\u002FКПП\u002FОГРН, директор, бухгалтер и т. д.).\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID реквизита |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nconsole.log('Реквизит:', data.rqName, '— ИНН', data.rqInn)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Объект реквизита |\n| `data.id` | number | Идентификатор реквизита |\n| `data.entityTypeId` | number | Тип родительской сущности: `3` — контакт, `4` — компания |\n| `data.entityId` | number | ID родительской сущности |\n| `data.presetId` | number | ID [шаблона реквизитов](\u002Fdocs\u002Fentities\u002Frequisite-presets) |\n| `data.name` | string | Название реквизита в интерфейсе |\n| `data.active` | boolean | Активен ли реквизит |\n| `data.sort` | number | Порядок сортировки |\n| `data.createdAt` \u002F `data.updatedAt` | datetime | Даты создания и изменения (ISO 8601) |\n| `data.createdBy` \u002F `data.modifyBy` | number \\| null | ID создателя \u002F последнего редактора |\n| `data.rqName` \u002F `data.rqInn` \u002F `data.rqKpp` \u002F `data.rqOgrn` | string \\| null | Основные реквизиты юрлица |\n\nПоля шаблона, которые не заполнены, возвращаются как `null`. Полный список полей — [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields).\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 42,\n    \"entityTypeId\": 4,\n    \"entityId\": 15,\n    \"presetId\": 1,\n    \"name\": \"Основной реквизит\",\n    \"active\": true,\n    \"sort\": 500,\n    \"code\": null,\n    \"xmlId\": null,\n    \"addressOnly\": false,\n    \"createdAt\": \"2025-01-15T09:30:00+03:00\",\n    \"updatedAt\": \"2026-03-20T14:00:00+03:00\",\n    \"createdBy\": 1,\n    \"modifyBy\": 1,\n    \"rqName\": \"ООО «Ромашка»\",\n    \"rqInn\": \"7701234567\",\n    \"rqKpp\": \"770101001\",\n    \"rqOgrn\": \"1027700123456\",\n    \"rqOkpo\": \"12345678\",\n    \"rqOkved\": \"62.01\",\n    \"rqOktmo\": null,\n    \"rqVatPayer\": false,\n    \"rqCompanyName\": \"Ромашка\",\n    \"rqCompanyFullName\": \"Общество с ограниченной ответственностью «Ромашка»\",\n    \"rqDirector\": \"Иванов Иван Иванович\",\n    \"rqAccountant\": \"Петрова Анна Сергеевна\",\n    \"rqCeoName\": null,\n    \"rqCeoWorkPos\": null,\n    \"rqContact\": null,\n    \"rqEmail\": null,\n    \"rqPhone\": null,\n    \"rqBaseDoc\": \"Устав\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — реквизит не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"The Requisite with ID '999999999' is not found\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 404 | `ENTITY_NOT_FOUND` | Реквизит с таким ID не найден |\n| 403 | `ACCESS_DENIED` | Нет доступа к родительской сущности (контакту\u002Fкомпании) |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Набор полей зависит от шаблона.** Реквизит хранит только поля, которые определены в его шаблоне `presetId`. Например, у шаблона «ООО» будет `rqCompanyName`, `rqCompanyFullName`, `rqDirector`, а у шаблона «Физическое лицо» — `rqFirstName`, `rqLastName`, `rqSecondName` и т. д. Поля шаблона, которые не заполнены, возвращаются как `null`.\n\n**Поля схемы — camelCase, пользовательские — в исходном регистре.** Все поля схемы Вайбкод, в том числе поля международных шаблонов `rqEdrpou`, `rqKbe`, `rqRegon` и редкие служебные `rqIfns`, `rqUsrle`, возвращаются в camelCase. Фильтр и сортировка — по тому же имени. Пользовательские поля `UF_CRM_*` возвращаются в исходном регистре Битрикс24.\n\n## Смотрите также\n\n- [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields) — все возможные поля\n- [Обновить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fupdate) — изменить значения\n- [Удалить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fdelete) — удалить запись\n- [Список реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Flist) — поиск с фильтрами\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","\n## Обновить реквизит\n\n`PATCH \u002Fv1\u002Frequisites\u002F:id`\n\nОбновляет поля существующего реквизита. Передавайте только те поля, которые нужно изменить. Полный список — [`GET \u002Fv1\u002Frequisites\u002Ffields`](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields).\n\n## Часто обновляемые поля\n\n| Параметр | Тип | Описание |\n|----------|-----|---------|\n| `name` | string | Название реквизита в интерфейсе Битрикс24 |\n| `active` | boolean | Активен ли реквизит |\n| `sort` | number | Порядок сортировки |\n| `rqName` | string | Полное наименование |\n| `rqInn` | string | ИНН |\n| `rqKpp` | string | КПП |\n| `rqOgrn` | string | ОГРН |\n| `rqCompanyName` | string | Сокращённое название юрлица |\n| `rqDirector` | string | ФИО директора |\n| `rqAccountant` | string | ФИО главного бухгалтера |\n| `rqVatPayer` | boolean | Плательщик НДС |\n\nВсе поля в camelCase, включая поля международных шаблонов — `rqEdrpou`, `rqKbe`, `rqRegon`, `rqSiret`, `rqCnpj`.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID реквизита |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"rqInn\": \"7701234567\",\n    \"rqKpp\": \"770101001\",\n    \"rqDirector\": \"Иванов Иван Иванович\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"rqInn\": \"7701234567\",\n    \"rqKpp\": \"770101001\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    rqInn: '7701234567',\n    rqKpp: '770101001',\n    rqDirector: 'Иванов Иван Иванович',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    rqInn: '7701234567',\n    rqKpp: '770101001',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Обновлённый реквизит с актуальными значениями полей |\n| `data.id` | number | Идентификатор реквизита |\n| `data.updatedAt` | datetime | Новая дата изменения |\n| `data.modifyBy` | number | ID пользователя, выполнившего обновление |\n\nОбъект содержит все поля шаблона в camelCase — включая неизменённые. Незаполненные поля — `null`. Полный список — [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields).\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 42,\n    \"entityTypeId\": 4,\n    \"entityId\": 15,\n    \"presetId\": 1,\n    \"name\": \"Основной реквизит\",\n    \"active\": true,\n    \"sort\": 500,\n    \"rqName\": \"ООО «Ромашка»\",\n    \"rqInn\": \"7701234567\",\n    \"rqKpp\": \"770101001\",\n    \"rqOgrn\": \"1027700123456\",\n    \"rqDirector\": \"Иванов Иван Иванович\",\n    \"updatedAt\": \"2026-04-19T15:00:00+03:00\",\n    \"modifyBy\": 1\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — реквизит не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"The Requisite with ID '999999999' is not found\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 404 | `ENTITY_NOT_FOUND` | Реквизит с таким ID не найден |\n| 403 | `ACCESS_DENIED` | Нет доступа к родительской сущности |\n| 400 | `INVALID_REQUEST` | Некорректные поля |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Сменить шаблон нельзя.** Поле `presetId` задаётся при создании и его нельзя изменить обновлением. Если нужен другой шаблон — создайте новый реквизит и удалите старый.\n\n**Перенос между сущностями невозможен.** `entityTypeId` и `entityId` также неизменяемы: реквизит привязан к конкретному контакту или компании на всю жизнь.\n\n**Поля вне шаблона игнорируются.** Битрикс24 молча отбрасывает значения полей, которых нет в шаблоне реквизита. Ошибка не возникает, но и данные не сохраняются. Проверить результат — `GET \u002Fv1\u002Frequisites\u002F:id`.\n\n**Пустое значение очищает поле.** Чтобы очистить поле, передайте пустую строку `\"\"`. В ответах Вайбкод приводит очищенные строки к `null` для консистентности.\n\n## Смотрите также\n\n- [Получить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fget) — текущие значения\n- [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields) — какие поля можно изменять\n- [Удалить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fdelete) — удалить запись\n- [Batch](\u002Fdocs\u002Fbatch) — массовое обновление\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","\n## Удалить реквизит\n\n`DELETE \u002Fv1\u002Frequisites\u002F:id`\n\nУдаляет реквизит по ID. Привязанные к реквизиту адреса и банковские реквизиты удаляются вместе с ним на уровне Битрикс24.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | ID реквизита |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X DELETE \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42', {\n  method: 'DELETE',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nif (res.status === 204) {\n  console.log('Реквизит удалён')\n}\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002F42', {\n  method: 'DELETE',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nif (res.status === 204) {\n  console.log('Удалено')\n}\n```\n\n## Ответ\n\nПри успешном удалении возвращается HTTP-статус `204 No Content` с пустым телом — признак успеха проверяется по статусу.\n\n## Пример ответа\n\n```\nHTTP\u002F1.1 204 No Content\n```\n\n## Пример ответа при ошибке\n\n404 — реквизит не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"The Requisite with ID '999999999' is not found\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 404 | `ENTITY_NOT_FOUND` | Реквизит с таким ID не найден |\n| 403 | `ACCESS_DENIED` | Нет доступа к родительской сущности |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Удаление каскадное.** Вместе с реквизитом удаляются привязанные к нему адреса и банковские реквизиты — это поведение Битрикс24, оно не настраивается.\n\n**Мягкое удаление отсутствует.** После удаления восстановить реквизит нельзя — создавайте новый. Если нужен временный «отказ от использования», используйте поле `active: false` через [обновление](\u002Fdocs\u002Fentities\u002Frequisites\u002Fupdate).\n\n## Смотрите также\n\n- [Список реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Flist) — найти реквизит перед удалением\n- [Получить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fget) — посмотреть данные перед удалением\n- [Обновить реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fupdate) — деактивация вместо удаления через `active: false`\n- [Batch](\u002Fdocs\u002Fbatch) — массовое удаление\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","\n## Поиск реквизитов\n\n`POST \u002Fv1\u002Frequisites\u002Fsearch`\n\nПоиск реквизитов с фильтрами и авто-пагинацией. Аналогичен `GET \u002Fv1\u002Frequisites`, но параметры передаются в теле запроса — удобнее для сложных фильтров с большим количеством условий и для программной сборки запросов.\n\n## Поля запроса (body)\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `filter` | object | — | Фильтрация по полям `GET \u002Fv1\u002Frequisites\u002Ffields`.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering). Пример: `{ \"entityTypeId\": 4, \"entityId\": 15 }` |\n| `limit` | number | `50` | Количество записей (до 5000) |\n| `offset` | number | `0` | Пропустить N записей |\n| `order` | object | — | Сортировка: `{ \"sort\": \"asc\" }` |\n| `select` | string[] | — | Выборка полей: `[\"id\", \"rqName\", \"rqInn\"]` |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Fsearch\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"entityTypeId\": 4, \"active\": true },\n    \"limit\": 20,\n    \"order\": { \"sort\": \"asc\" }\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Fsearch\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"entityTypeId\": 4, \"active\": true },\n    \"limit\": 20,\n    \"order\": { \"sort\": \"asc\" }\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Fsearch', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filter: { entityTypeId: 4, active: true },\n    limit: 20,\n    order: { sort: 'asc' },\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Найдено:', data.length)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Fsearch', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filter: { entityTypeId: 4, active: true },\n    limit: 20,\n    order: { sort: 'asc' },\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n### Другие сценарии\n\nПоиск по ИНН:\n\n```json\n{ \"filter\": { \"rqInn\": \"7701234567\" } }\n```\n\nПоиск по полю странового шаблона (французский SIRET):\n\n```json\n{ \"filter\": { \"rqSiret\": \"73282932000074\" } }\n```\n\nМеждународные поля `rqSiret`, `rqSiren`, `rqRegon`, `rqKbe`, `rqCnpj` — это поля схемы, фильтр по ним в camelCase.\n\nВсе реквизиты одной компании:\n\n```json\n{\n  \"filter\": { \"entityTypeId\": 4, \"entityId\": 15 },\n  \"order\": { \"sort\": \"asc\" }\n}\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив реквизитов (все поля — см. [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields)) |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": 42,\n      \"entityTypeId\": 4,\n      \"entityId\": 15,\n      \"presetId\": 1,\n      \"name\": \"Основной реквизит\",\n      \"active\": true,\n      \"sort\": 500,\n      \"rqName\": \"ООО «Ромашка»\",\n      \"rqInn\": \"7701234567\",\n      \"rqKpp\": \"770101001\",\n      \"rqOgrn\": \"1027700123456\",\n      \"rqCompanyName\": \"Ромашка\",\n      \"rqDirector\": \"Иванов Иван Иванович\",\n      \"createdAt\": \"2025-01-15T09:30:00+03:00\"\n    }\n  ]\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"Requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n| 400 | `INVALID_FILTER` | Ошибка в синтаксисе фильтра |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Имена полей в фильтре.** Поля Вайбкод-схемы передавайте в camelCase — `rqInn`, `rqKpp`, `entityTypeId`, `rqCompanyName`, `rqDirector`, а также поля международных шаблонов `rqEdrpou`, `rqKbe`, `rqRegon`, `rqSiret`, `rqCnpj` и редкие служебные `rqIfns`, `rqUsrle`. Пользовательские поля `UF_CRM_*` — в исходном регистре.\n\n**Пагинация.** При `limit > 50` запрос автоматически разбивается на несколько вызовов к Битрикс24. Для больших выборок используйте `offset` и постраничные запросы.\n\n## Смотрите также\n\n- [Список реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Flist) — GET-запрос с query-параметрами\n- [Поля реквизита](\u002Fdocs\u002Fentities\u002Frequisites\u002Ffields) — какие поля есть в фильтре\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Batch](\u002Fdocs\u002Fbatch) — объединение нескольких search в один запрос\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n","\n## Поля реквизита\n\n`GET \u002Fv1\u002Frequisites\u002Ffields`\n\nВозвращает полный перечень полей реквизита. Поля схемы Вайбкод возвращаются в camelCase, пользовательские поля `UF_CRM_*` — в исходном регистре Битрикс24. Каждый реквизит хранит значения только тех полей, которые есть в его шаблоне.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Ffields\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Ffields\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Ffields', {\n  headers: { 'X-Api-Key': 'YOUR_API_KEY' },\n})\n\nconst { success, data } = await res.json()\nconsole.log('Всего полей:', Object.keys(data.fields).length)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Ffields', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Формат ответа\n\nОтвет — объект `{ success, data: { fields: {...} } }`. Каждое поле описано объектом:\n\n- **Поля схемы Вайбкод** в camelCase: `{ type, readonly }`. В ответах `list`, `get`, `create`, `update`, `search` возвращаются под camelCase-именем. Фильтр и сортировка — по тому же имени.\n- **Пользовательские поля `UF_CRM_*`** в исходном регистре: `{ type, readonly, label }`, где `label` — название поля на языке портала.\n\n## Поля схемы Вайбкод\n\nПоля российских и международных шаблонов реквизита.\n\n### Служебные\n\n| Вайбкод-имя | Битрикс24 | Тип | RO | Описание |\n|----------|----------|-----|:--:|---------|\n| `id` | `ID` | number | да | ID реквизита |\n| `entityTypeId` | `ENTITY_TYPE_ID` | number | | `3` — контакт, `4` — компания |\n| `entityId` | `ENTITY_ID` | number | | ID родительской сущности |\n| `presetId` | `PRESET_ID` | number | | ID [шаблона реквизитов](\u002Fdocs\u002Fentities\u002Frequisite-presets). Неизменяем после создания |\n| `name` | `NAME` | string | | Название в интерфейсе Битрикс24 |\n| `code` | `CODE` | string | | Символьный код для внешних интеграций |\n| `xmlId` | `XML_ID` | string | | Внешний идентификатор для синхронизации |\n| `originatorId` | `ORIGINATOR_ID` | string | | ID системы-источника |\n| `active` | `ACTIVE` | boolean | | Активен ли реквизит |\n| `sort` | `SORT` | number | | Порядок сортировки. Меньше — выше |\n| `createdAt` | `DATE_CREATE` | datetime | да | Дата создания |\n| `updatedAt` | `DATE_MODIFY` | datetime | да | Дата последнего изменения |\n| `createdBy` | `CREATED_BY_ID` | number | да | ID создателя |\n| `modifyBy` | `MODIFY_BY_ID` | number | да | ID последнего редактора |\n| `addressOnly` | `ADDRESS_ONLY` | boolean | | Признак «только адрес» |\n\n### Юрлица\n\n| Вайбкод-имя | Битрикс24 | Тип | Описание |\n|----------|----------|-----|---------|\n| `rqName` | `RQ_NAME` | string | Полное наименование |\n| `rqCompanyName` | `RQ_COMPANY_NAME` | string | Сокращённое название |\n| `rqCompanyFullName` | `RQ_COMPANY_FULL_NAME` | string | Полное название |\n| `rqCompanyId` | `RQ_COMPANY_ID` | string | Идентификатор компании |\n| `rqCompanyRegDate` | `RQ_COMPANY_REG_DATE` | date | Дата регистрации |\n| `rqDirector` | `RQ_DIRECTOR` | string | ФИО директора |\n| `rqAccountant` | `RQ_ACCOUNTANT` | string | ФИО главного бухгалтера |\n| `rqCeoName` | `RQ_CEO_NAME` | string | ФИО руководителя |\n| `rqCeoWorkPos` | `RQ_CEO_WORK_POS` | string | Должность руководителя |\n| `rqContact` | `RQ_CONTACT` | string | Контактное лицо |\n| `rqEmail` | `RQ_EMAIL` | string | Email организации |\n| `rqPhone` | `RQ_PHONE` | string | Телефон организации |\n| `rqFax` | `RQ_FAX` | string | Факс |\n| `rqInn` | `RQ_INN` | string | ИНН |\n| `rqKpp` | `RQ_KPP` | string | КПП |\n| `rqUsn` | `RQ_USN` | string | УСН |\n| `rqOgrn` | `RQ_OGRN` | string | ОГРН |\n| `rqOgrnip` | `RQ_OGRNIP` | string | ОГРНИП (для ИП) |\n| `rqOkpo` | `RQ_OKPO` | string | ОКПО |\n| `rqOkved` | `RQ_OKVED` | string | ОКВЭД |\n| `rqOktmo` | `RQ_OKTMO` | string | ОКТМО |\n| `rqIfns` | `RQ_IFNS` | string | ИФНС |\n| `rqUsrle` | `RQ_USRLE` | string | Сведения о регистрации в реестре юридических лиц |\n| `rqTaxRegime` | `RQ_TAX_REGIME` | string | Налоговый режим. Значение из справочника портала |\n| `rqVatPayer` | `RQ_VAT_PAYER` | boolean | Плательщик НДС |\n| `rqVatId` | `RQ_VAT_ID` | string | ИНН для НДС |\n| `rqVatCertSer` | `RQ_VAT_CERT_SER` | string | Серия свидетельства НДС |\n| `rqVatCertNum` | `RQ_VAT_CERT_NUM` | string | Номер свидетельства НДС |\n| `rqVatCertDate` | `RQ_VAT_CERT_DATE` | date | Дата свидетельства НДС |\n| `rqResidenceCountry` | `RQ_RESIDENCE_COUNTRY` | string | Страна регистрации |\n| `rqBaseDoc` | `RQ_BASE_DOC` | string | Документ-основание |\n| `rqBaseDocDate` | `RQ_BASE_DOC_DATE` | date | Дата документа-основания |\n| `rqBaseDocNum` | `RQ_BASE_DOC_NUM` | string | Номер документа-основания |\n| `rqRegCertNum` | `RQ_REG_CERT_NUM` | string | Свидетельство о регистрации — номер |\n| `rqRegCertDate` | `RQ_REG_CERT_DATE` | date | Свидетельство о регистрации — дата |\n| `rqStCertSer` | `RQ_ST_CERT_SER` | string | Серия свидетельства о государственной регистрации |\n| `rqStCertNum` | `RQ_ST_CERT_NUM` | string | Номер свидетельства о государственной регистрации |\n| `rqStCertDate` | `RQ_ST_CERT_DATE` | string | Дата свидетельства о государственной регистрации |\n| `rqRegOrganization` | `RQ_REG_ORGANIZATION` | string | Регистрирующий орган |\n| `rqStateReg` | `RQ_STATE_REG` | string | Государственная регистрация |\n| `rqMnplReg` | `RQ_MNPL_REG` | string | Муниципальная регистрация |\n| `rqStampPresent` | `RQ_STAMP_PRESENT` | boolean | Наличие печати |\n\n### Физлица\n\n| Вайбкод-имя | Битрикс24 | Тип | Описание |\n|----------|----------|-----|---------|\n| `rqFirstName` | `RQ_FIRST_NAME` | string | Имя |\n| `rqLastName` | `RQ_LAST_NAME` | string | Фамилия |\n| `rqSecondName` | `RQ_SECOND_NAME` | string | Отчество |\n| `rqIdentType` | `RQ_IDENT_TYPE` | string | Тип документа, удостоверяющего личность. Значение из справочника портала |\n| `rqIdentDocType` | `RQ_IDENT_DOC` | string | Название документа, удостоверяющего личность |\n| `rqIdentDocSer` | `RQ_IDENT_DOC_SER` | string | Серия документа |\n| `rqIdentDocNum` | `RQ_IDENT_DOC_NUM` | string | Номер документа |\n| `rqIdentDocPersNum` | `RQ_IDENT_DOC_PERS_NUM` | string | Персональный номер документа |\n| `rqIdentDocDate` | `RQ_IDENT_DOC_DATE` | date | Дата выдачи |\n| `rqIdentDocIssuedBy` | `RQ_IDENT_DOC_ISSUED_BY` | string | Кем выдан |\n| `rqIdentDocDepCode` | `RQ_IDENT_DOC_DEP_CODE` | string | Код подразделения |\n\n### Международные шаблоны\n\nПоля шаблонов других стран. Заполнены только на реквизитах соответствующего странового шаблона — на российских реквизитах возвращаются как `null`.\n\n| Вайбкод-имя | Битрикс24 | Страна | Описание |\n|----------|----------|--------|---------|\n| `rqEdrpou` | `RQ_EDRPOU` | 🇺🇦 Украина | ЕДРПОУ |\n| `rqDrfo` | `RQ_DRFO` | 🇺🇦 Украина | ДРФО |\n| `rqKbe` | `RQ_KBE` | 🇰🇿 Казахстан | КБе |\n| `rqIin` | `RQ_IIN` | 🇰🇿 Казахстан | ИИН |\n| `rqBin` | `RQ_BIN` | 🇰🇿 Казахстан | БИН |\n| `rqRegon` | `RQ_REGON` | 🇵🇱 Польша | REGON |\n| `rqKrs` | `RQ_KRS` | 🇵🇱 Польша | KRS |\n| `rqPesel` | `RQ_PESEL` | 🇵🇱 Польша | PESEL |\n| `rqSiret` | `RQ_SIRET` | 🇫🇷 Франция | SIRET |\n| `rqSiren` | `RQ_SIREN` | 🇫🇷 Франция | SIREN |\n| `rqRcs` | `RQ_RCS` | 🇫🇷 Франция | RCS |\n| `rqCapital` | `RQ_CAPITAL` | 🇫🇷 Франция | Capital |\n| `rqCnpj` | `RQ_CNPJ` | 🇧🇷 Бразилия | CNPJ — юрлица |\n| `rqCpf` | `RQ_CPF` | 🇧🇷 Бразилия | CPF — физлица |\n| `rqLegalForm` | `RQ_LEGAL_FORM` | общее | Форма юрлица |\n\n## Пользовательские поля\n\n`UF_CRM_*` — поля, настроенные на портале через интерфейс Битрикс24. Возвращаются в исходном регистре с дополнительной меткой `label`.\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"fields\": {\n      \"id\": { \"type\": \"number\", \"readonly\": true },\n      \"entityTypeId\": { \"type\": \"number\", \"readonly\": false },\n      \"presetId\": { \"type\": \"number\", \"readonly\": false },\n      \"rqInn\": { \"type\": \"string\", \"readonly\": false },\n      \"rqKpp\": { \"type\": \"string\", \"readonly\": false },\n      \"rqCompanyName\": { \"type\": \"string\", \"readonly\": false },\n      \"rqDirector\": { \"type\": \"string\", \"readonly\": false },\n      \"rqEdrpou\": { \"type\": \"string\", \"readonly\": false },\n      \"rqRegon\": { \"type\": \"string\", \"readonly\": false },\n      \"createdAt\": { \"type\": \"datetime\", \"readonly\": true },\n      \"createdBy\": { \"type\": \"number\", \"readonly\": true },\n\n      \"UF_CRM_1698325419\": { \"type\": \"string\", \"readonly\": false, \"label\": \"Внутренний код\" }\n    }\n  }\n}\n```\n\nПоказана небольшая часть полей. Полный состав зависит от настроенных на портале шаблонов и пользовательских полей.\n\n## Пример ответа при ошибке\n\n401 — нет токенов:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"TOKEN_MISSING\",\n    \"message\": \"API key has no OAuth tokens configured\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Все активные шаблоны в одном ответе.** Метод возвращает поля со всех активных шаблонов портала, включая страновые. На отдельном реквизите заполнены только поля его шаблона, остальные возвращаются как `null`.\n\n**Пустые значения нормализованы.** Для строковых, числовых, date и datetime полей Вайбкод приводит `\"\"` к `null` в ответах `list`, `get`, `create`, `update`, `search`. На метод `fields` это не влияет — он возвращает только метаданные поля.\n\n**Метка `label` у пользовательских полей.** У полей `UF_CRM_*` возвращается `label` с названием поля на языке портала. У полей схемы Вайбкод `label` нет — их назначение описано в таблицах выше.\n\n## Смотрите также\n\n- [Создать реквизит](\u002Fdocs\u002Fentities\u002Frequisites\u002Fcreate)\n- [Список реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Flist)\n- [Entity API](\u002Fdocs\u002Fentity-api)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","\n## Агрегация реквизитов\n\n`POST \u002Fv1\u002Frequisites\u002Faggregate`\n\nПодсчёт количества реквизитов с фильтрацией и группировкой.\n\n**Стандартные поля для `groupBy`:**\n\n- `rqInn`, `rqKpp`, `rqOgrn`, `rqOgrnip`, `rqOkpo` — налоговые\u002Fрегистрационные идентификаторы (ИНН, КПП, ОГРН, ОГРНИП, ОКПО)\n- `rqVatId` — VAT\u002Fналоговый номер (для не-РФ стран)\n- `rqResidenceCountry` — страна резидентства\n- `rqCompanyName` — название компании\n- `entityTypeId` — тип владельца (1 — лид, 3 — контакт, 4 — компания)\n- `presetId` — шаблон реквизита\n- `active` — признак активности\n\nВсе поля в `aggregatable` — идентификаторы и категориальные коды, поэтому по ним работает `groupBy`. Группировка по `rqInn` (или другому идентификатору) — самый быстрый способ найти дубли реквизитов одним вызовом, без выгрузки всех записей. Числовые функции (`sum`\u002F`avg`\u002F`min`\u002F`max`) по этим полям недоступны (это строки) — используйте для них пользовательские UF-поля числового типа.\n\n**Контракт `count`.** Функция `count` принимает ТОЛЬКО `field: \"*\"` — `{ \"field\": \"*\", \"function\": \"count\" }`. Передача `field: \"id\"` (или любого другого имени) вернёт `400 INVALID_PARAMS` с сообщением `count aggregate requires field \"*\"`. Это намеренный контракт: `count` считает строки, а не значения конкретного поля.\n\n**Пользовательские поля (UF):** UF-поля типов `integer`, `double`, `money` — для числовых функций; UF любого типа — для `groupBy`. На практике у реквизита обычно UF-поля строкового типа (ИНН, номер телефона, адрес) — их можно использовать только в `groupBy`. Полный список UF-полей конкретного портала приходит в тексте ошибки `INVALID_PARAMS`, если передать несуществующее имя.\n\n## Поля запроса (body)\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `aggregate` | array | нет | Массив агрегаций. Каждый элемент: `{ \"field\": \"*\", \"function\": \"count\" }`. Без параметра — только count |\n| `filter` | object | нет | Фильтрация по полям `GET \u002Fv1\u002Frequisites\u002Ffields`.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering) |\n| `groupBy` | string \\| string[] | нет | Поле или массив полей для группировки (максимум 5). Принимает UF-поля любого типа |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Faggregate\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"active\": true },\n    \"groupBy\": \"entityTypeId\"\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Faggregate\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"active\": true },\n    \"groupBy\": \"entityTypeId\"\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Faggregate', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filter: { active: true },\n    groupBy: 'entityTypeId',\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Всего активных реквизитов:', data.count)\nconsole.log('По типам владельцев:', data.groups)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisites\u002Faggregate', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    filter: { active: true },\n    groupBy: 'entityTypeId',\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n> Для группировки по нескольким полям передайте массив: `\"groupBy\": [\"entityTypeId\", \"presetId\"]` (максимум 5).\n\n## Другие сценарии\n\nОбщее количество реквизитов в портале — самый быстрый запрос, без выгрузки записей:\n\n```json\n{}\n```\n\nПоиск дублей по ИНН одним вызовом — группы с `count > 1` содержат повторяющиеся ИНН:\n\n```json\n{ \"aggregate\": [{ \"field\": \"*\", \"function\": \"count\" }], \"groupBy\": \"rqInn\" }\n```\n\nГруппировка по UF-полю (любой тип — например, пользовательский классификатор):\n\n```json\n{ \"groupBy\": \"UF_CRM_CLASSIFIER\" }\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data.count` | number | Количество записей, соответствующих фильтру |\n| `data.aggregates` | object | Результаты агрегаций (для реквизитов обычно пустой) |\n| `data.groups` | array | Группы (только при `groupBy`). Каждый элемент: поля группировки + `count` |\n| `data.meta.totalRecords` | number | Общее количество записей |\n| `data.meta.recordsProcessed` | number | Количество обработанных записей |\n| `data.meta.truncated` | boolean | Был ли результат ограничен. `true` при более 5000 записей |\n\n## Пример ответа\n\nОтвет на основной запрос (`groupBy: \"entityTypeId\"`):\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"count\": 164,\n    \"aggregates\": {},\n    \"groups\": [\n      { \"entityTypeId\": 4, \"count\": 120 },\n      { \"entityTypeId\": 3, \"count\": 40 },\n      { \"entityTypeId\": 1, \"count\": 4 }\n    ],\n    \"meta\": {\n      \"totalRecords\": 164,\n      \"recordsProcessed\": 164,\n      \"truncated\": false\n    }\n  }\n}\n```\n\nБез `groupBy` поле `data.groups` в ответе отсутствует.\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"Requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 400 | `INVALID_PARAMS` | Невалидное имя функции агрегации или несуществующее поле |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | API-ключ не имеет настроенных токенов |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Money-поля.** UF-поля типа `money` хранятся в формате `\"сумма|валюта\"` (`\"1500|RUB\"`) — агрегат извлекает числовую часть автоматически, складывать можно без парсинга.\n\n**Без массива `aggregate` — только count.** Если не передать `aggregate`, метод вернёт `count` записей с учётом фильтра.\n\n**Фильтрация по UF работает.** В `filter` можно передавать любые поля — стандартные и пользовательские, любого типа. Например, `{ \"filter\": { \"UF_CRM_1234\": \"value\" } }` вернёт количество реквизитов с этим значением UF.\n\n**Ограничение 5000 записей.** Если под фильтр попадает больше 5000 записей, результат будет помечен `meta.truncated: true`. Для точного подсчёта больших выборок используйте `meta.total` в ответе `GET \u002Fv1\u002Frequisites` с `limit=1` — там хранится реальное количество.\n\n## Смотрите также\n\n- [Список реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Flist) — `meta.total` даёт точное число записей\n- [Поиск реквизитов](\u002Fdocs\u002Fentities\u002Frequisites\u002Fsearch) — POST-запрос с фильтрами\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization) — rate limits\n"]