[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-apps\u002Flist":3,"docs-tabs-apps\u002Flist":6},{"content":4,"lastmod":5},"\n## Список приложений\n\n`GET \u002Fv1\u002Fapps`\n\nВозвращает приложения портала, зарегистрированные текущим API-ключом, с постраничной разбивкой.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | По умолч. | Описание |\n|----------|-----|:-----:|:---------:|---------|\n| `page` (query) | number | нет | 1 | Номер страницы, от 1. Значение меньше 1 или нечисловое заменяется на 1 |\n| `limit` (query) | number | нет | 50 | Размер страницы. Максимум 200. Значение 0, отрицательное или нечисловое заменяется на 50 |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fapps?page=1&limit=50\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fapps?page=1&limit=50\" \\\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\u002Fapps?page=1&limit=50', {\n  headers: { 'X-Api-Key': 'YOUR_API_KEY' },\n})\nconst { data, total } = await res.json()\nconsole.log(`Приложений: ${total}`, data)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fapps?page=1&limit=50', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\nconst { data, total } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив приложений |\n| `data[].id` | string | Идентификатор приложения |\n| `data[].title` | string | Название |\n| `data[].description` | string \\| null | Описание |\n| `data[].scopes` | string[] | Скоупы Битрикс24, закреплённые за ключом приложения |\n| `data[].handlerUrl` | string | Адрес обработчика на стороне платформы. Подробнее — [Приложения](\u002Fdocs\u002Fapps) |\n| `data[].appUrl` | string \\| null | Адрес приложения на Black Hole. До публикации — `null` |\n| `data[].redirectUris` | string[] | Разрешённые адреса возврата OAuth |\n| `data[].bitrixClientId` | string \\| null | Идентификатор OAuth-клиента на портале |\n| `data[].prefix` | string | Префикс ключа приложения |\n| `data[].suffix` | string | Последние символы ключа приложения |\n| `data[].authorId` | string | Идентификатор автора приложения |\n| `data[].portalId` | string | Идентификатор портала |\n| `data[].createdAt` | string | Дата создания, ISO 8601 |\n| `data[].updatedAt` | string | Дата изменения, ISO 8601 |\n| `data[].placements` | string[] | Привязанные места встраивания. До публикации — пустой массив |\n| `total` | number | Общее количество приложений портала, доступных ключу |\n| `page` | number | Текущая страница |\n| `limit` | number | Применённый размер страницы |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"11a2b3c4-d5e6-47f8-9012-3a4b5c6d7e8f\",\n      \"title\": \"Коннектор контакт-центра\",\n      \"description\": null,\n      \"scopes\": [\"crm\", \"imopenlines\", \"imconnector\", \"placement\"],\n      \"handlerUrl\": \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fbitrix-handler\",\n      \"appUrl\": null,\n      \"redirectUris\": [\n        \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Foauth\u002Fcomplete\",\n        \"http:\u002F\u002Flocalhost\"\n      ],\n      \"bitrixClientId\": \"local.6b2c3d4e5f6a70.33334444\",\n      \"prefix\": \"vibe_app_local_6b2\",\n      \"suffix\": \"4444\",\n      \"authorId\": \"b2c3d4e5-f6a7-8901-bcde-f23456789012\",\n      \"portalId\": \"8b1f0e2a-3c4d-5e6f-7a8b-9c0d1e2f3a4b\",\n      \"createdAt\": \"2026-06-04T08:52:57.583Z\",\n      \"updatedAt\": \"2026-06-04T08:52:57.583Z\",\n      \"placements\": []\n    },\n    {\n      \"id\": \"22b3c4d5-e6f7-48a9-0123-4b5c6d7e8f90\",\n      \"title\": \"Дашборд продаж\",\n      \"description\": null,\n      \"scopes\": [\"crm\", \"user\", \"placement\"],\n      \"handlerUrl\": \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fbitrix-handler\",\n      \"appUrl\": \"https:\u002F\u002Fapp-abc12345.vibecode.bitrix24.tech\",\n      \"redirectUris\": [\n        \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Foauth\u002Fcomplete\",\n        \"http:\u002F\u002Flocalhost\"\n      ],\n      \"bitrixClientId\": \"local.5a1b2c3d4e5f60.11112222\",\n      \"prefix\": \"vibe_app_local_5a1\",\n      \"suffix\": \"2222\",\n      \"authorId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",\n      \"portalId\": \"8b1f0e2a-3c4d-5e6f-7a8b-9c0d1e2f3a4b\",\n      \"createdAt\": \"2026-05-13T11:31:53.810Z\",\n      \"updatedAt\": \"2026-05-13T11:31:53.810Z\",\n      \"placements\": []\n    }\n  ],\n  \"total\": 2,\n  \"page\": 1,\n  \"limit\": 50\n}\n```\n\n## Пример ответа при ошибке\n\n401 — не передан заголовок `X-Api-Key`:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"MISSING_API_KEY\",\n    \"message\": \"API key required. Pass via X-Api-Key header.\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |\n| 401 | `INVALID_API_KEY` | Неверный API-ключ |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n- Приложение системного бота-компаньона и удалённые приложения в список не попадают.\n- По умолчанию ответ содержит не более 50 приложений — это граница, а не ошибка. Сравните `total` с длиной `data`, чтобы понять, остались ли приложения за пределами страницы, и при необходимости запросите следующую через `page`.\n\n## Смотрите также\n\n- [Приложения](\u002Fdocs\u002Fapps)\n- [Данные приложения](\u002Fdocs\u002Fapps\u002Fget)\n- [Создать приложение](\u002Fdocs\u002Fapps\u002Fcreate)\n- [Скоупы](\u002Fdocs\u002Fscopes)\n","2026-07-07",{}]