[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Frequisite-links\u002Fsearch":3,"docs-tabs-entities\u002Frequisite-links\u002Fsearch":6},{"content":4,"lastmod":5},"\n## Поиск связей реквизитов\n\n`POST \u002Fv1\u002Frequisite-links\u002Fsearch`\n\nПоиск связей реквизитов с фильтрами и авто-пагинацией. Аналогичен `GET \u002Fv1\u002Frequisite-links`, но параметры передаются в теле запроса — удобнее для сложных фильтров с большим количеством условий и для программной сборки запросов.\n\n## Поля запроса (body)\n\n| Параметр | Тип | По умолч. | Описание |\n|----------|-----|-----------|---------|\n| `filter` | object | — | Фильтрация. Допустимые ключи: `entityTypeId`, `entityId`, `requisiteId`, `bankDetailId`, `mcRequisiteId`, `mcBankDetailId`. Поддерживаются операторы сравнения (`$gt`\u002F`$gte`\u002F`$lt`\u002F`$lte`), множества (`$in`\u002F`$nin`). Логические `$or`\u002F`$and` не поддерживаются.\u003Cbr>[Синтаксис фильтрации](\u002Fdocs\u002Ffiltering). Пример: `{ \"entityTypeId\": 2, \"entityId\": 3773 }` |\n| `sort` | string | — | Поле сортировки — один из ключей фильтра |\n| `order` | string \\| object | `asc` | Направление для `sort` (`asc`\u002F`desc`), либо форма `{ \"поле\": \"asc\\|desc\" }` |\n| `limit` | number | `50` | Количество записей (до 5000) |\n| `offset` | number | `0` | Пропустить N записей |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisite-links\u002Fsearch\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"filter\": { \"entityTypeId\": 2, \"requisiteId\": 45 },\n    \"limit\": 20\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisite-links\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\": 2, \"requisiteId\": 45 },\n    \"limit\": 20\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Frequisite-links\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: 2, requisiteId: 45 },\n    limit: 20,\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\u002Frequisite-links\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: 2, requisiteId: 45 },\n    limit: 20,\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n### Другие сценарии\n\nВсе связи по конкретной сделке:\n\n```json\n{ \"filter\": { \"entityTypeId\": 2, \"entityId\": 3773 } }\n```\n\nВсе связи по конкретному реквизиту (найти, к каким сущностям привязан реквизит с ID 45):\n\n```json\n{ \"filter\": { \"requisiteId\": 45 } }\n```\n\nВсе связи счетов, `entityTypeId` равен `31`:\n\n```json\n{\n  \"filter\": { \"entityTypeId\": 31 },\n  \"limit\": 100\n}\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив связей |\n| `data[].ENTITY_TYPE_ID` | string | Тип владельца: `\"2\"` — сделка, `\"31\"` — счёт |\n| `data[].ENTITY_ID` | string | ID владельца. Источник: `GET \u002Fv1\u002Fdeals` или `GET \u002Fv1\u002Finvoices` |\n| `data[].REQUISITE_ID` | string | ID реквизита; `\"0\"` — не привязан. Источник: `GET \u002Fv1\u002Frequisites` |\n| `data[].BANK_DETAIL_ID` | string | ID банковского реквизита; `\"0\"` — не привязан. Источник: `GET \u002Fv1\u002Fbank-details` |\n| `data[].MC_REQUISITE_ID` | string | ID реквизита вашей компании; `\"0\"` — не привязан |\n| `data[].MC_BANK_DETAIL_ID` | string | ID банковского реквизита вашей компании; `\"0\"` — не привязан |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"ENTITY_TYPE_ID\": \"2\",\n      \"ENTITY_ID\": \"3773\",\n      \"REQUISITE_ID\": \"45\",\n      \"BANK_DETAIL_ID\": \"0\",\n      \"MC_REQUISITE_ID\": \"0\",\n      \"MC_BANK_DETAIL_ID\": \"0\"\n    },\n    {\n      \"ENTITY_TYPE_ID\": \"2\",\n      \"ENTITY_ID\": \"3825\",\n      \"REQUISITE_ID\": \"0\",\n      \"BANK_DETAIL_ID\": \"0\",\n      \"MC_REQUISITE_ID\": \"0\",\n      \"MC_BANK_DETAIL_ID\": \"0\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 68,\n    \"hasMore\": true\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n403 — нет скоупа:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"SCOPE_DENIED\",\n    \"message\": \"This endpoint requires 'crm' scope\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `TOKEN_MISSING` | Не передан `X-Api-Key` |\n| 400 | `INVALID_FILTER` | Ошибка в синтаксисе фильтра |\n| 400 | `UNKNOWN_FILTER_FIELD` | Неизвестное поле фильтра (в ответе — список допустимых) |\n| 400 | `UNKNOWN_SORT_FIELD` | Неизвестное поле сортировки |\n| 400 | `INVALID_FILTER_OPERATOR` | Логический оператор верхнего уровня (`$or`\u002F`$and`) не поддерживается |\n| 400 | `MISSING_ENTITY_TYPE_ID` | Фильтр по `entityId` без `entityTypeId` |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n**Поля ответа — в исходных именах Битрикс24.** Все поля возвращаются в верхнем регистре — `ENTITY_TYPE_ID`, `ENTITY_ID`, `REQUISITE_ID` и т. д.; значения числовых идентификаторов приходят строками, например `\"REQUISITE_ID\": \"45\"`, `\"BANK_DETAIL_ID\": \"0\"`. Ключи фильтра при этом принимаются в camelCase: `entityTypeId`, `entityId`, `requisiteId`, `bankDetailId`.\n\n**Значение `\"0\"` означает отсутствие привязки.** Для `REQUISITE_ID`, `BANK_DETAIL_ID`, `MC_REQUISITE_ID`, `MC_BANK_DETAIL_ID` строка `\"0\"` означает, что соответствующий реквизит не привязан, а не что привязан объект с ID 0.\n\n## Смотрите также\n\n- [Список связей](\u002Fdocs\u002Fentities\u002Frequisite-links\u002Flist)\n- [Получить связь](\u002Fdocs\u002Fentities\u002Frequisite-links\u002Fget)\n- [Поля связи](\u002Fdocs\u002Fentities\u002Frequisite-links\u002Ffields)\n- [Синтаксис фильтрации](\u002Fdocs\u002Ffiltering)\n- [Batch](\u002Fdocs\u002Fbatch)\n","2026-07-10",{}]