[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-infra\u002Fwake-schedules\u002Flist":3,"docs-tabs-infra\u002Fwake-schedules\u002Flist":6},{"content":4,"lastmod":5},"## Список окон пробуждения\n\n`GET \u002Fv1\u002Finfra\u002Fservers\u002F:id\u002Fwake-schedules`\n\nВозвращает все окна пробуждения сервера, включая отключённые. В отличие от создания и обновления, доступен независимо от того, включено ли пробуждение по расписанию для портала — так владелец сервера видит уже объявленные окна, даже если функция сейчас недоступна его порталу.\n\n## Параметры\n\n| Параметр | В | Тип | Обяз. | Описание |\n|----------|---|-----|:-----:|----------|\n| `id` | path | string (UUID) | да | ID BLACKHOLE-сервера |\n\nQuery-параметров нет — фильтрации и пагинации у списка окон одного сервера не предусмотрено, лимит в 50 окон на сервер делает их избыточными.\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -H \"X-Api-Key: YOUR_API_KEY\" \\\n  https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Finfra\u002Fservers\u002FSERVER_ID\u002Fwake-schedules\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Finfra\u002Fservers\u002FSERVER_ID\u002Fwake-schedules\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch(\n  `https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Finfra\u002Fservers\u002F${serverId}\u002Fwake-schedules`,\n  { headers: { 'X-Api-Key': 'YOUR_API_KEY' } }\n)\nconst { data } = await res.json()\nconsole.log(`Окон: ${data.length}, активных: ${data.filter(w => w.enabled).length}`)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch(\n  `https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Finfra\u002Fservers\u002F${serverId}\u002Fwake-schedules`,\n  {\n    headers: {\n      'X-Api-Key': 'YOUR_APP_KEY',\n      'Authorization': 'Bearer USER_SESSION_TOKEN',\n    },\n  }\n)\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|----------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | array | Массив окон сервера, включая отключённые |\n| `data[].id` | string | ID окна |\n| `data[].serverId` | string (UUID) | ID сервера-владельца |\n| `data[].cronExpr` | string | Cron-выражение окна |\n| `data[].timezone` | string | IANA-таймзона окна |\n| `data[].label` | string \\| null | Метка окна |\n| `data[].lead` | number \\| null | Запас в секундах перед моментом `cronExpr`. `null` — используется запас сервера или платформы |\n| `data[].enabled` | boolean | Активно ли окно |\n| `data[].source` | string | Как создано окно. Всегда `\"MANUAL\"` для окон, созданных через этот CRUD |\n| `data[].lastFiredAt` | string (ISO 8601) \\| null | Момент последнего подтверждённого срабатывания |\n| `data[].wakeAttemptStartedAt` | string (ISO 8601) \\| null | Служебная метка планировщика, в норме `null` |\n| `data[].lastWakeLateAt` | string (ISO 8601) \\| null | Момент последнего опоздавшего пробуждения. `null`, если опозданий не было |\n| `data[].createdAt` | string (ISO 8601) | Дата создания записи |\n| `data[].updatedAt` | string (ISO 8601) | Дата последнего обновления записи |\n\n## Пример ответа\n\n```json\n{\n  \"success\": true,\n  \"data\": [\n    {\n      \"id\": \"cm38x02qp0001ml08g7k3h2a\",\n      \"serverId\": \"e765edfc-ba0a-43de-b8ea-838dd872c522\",\n      \"cronExpr\": \"0 9 * * 1-5\",\n      \"timezone\": \"Europe\u002FMoscow\",\n      \"label\": \"daily report\",\n      \"lead\": null,\n      \"enabled\": true,\n      \"source\": \"MANUAL\",\n      \"lastFiredAt\": \"2026-07-10T06:00:04.000Z\",\n      \"wakeAttemptStartedAt\": null,\n      \"lastWakeLateAt\": null,\n      \"createdAt\": \"2026-07-03T08:12:00.000Z\",\n      \"updatedAt\": \"2026-07-03T08:12:00.000Z\"\n    },\n    {\n      \"id\": \"cm38x19rt0002ml08a1z9k7b\",\n      \"serverId\": \"e765edfc-ba0a-43de-b8ea-838dd872c522\",\n      \"cronExpr\": \"0 22 * * *\",\n      \"timezone\": \"Europe\u002FMoscow\",\n      \"label\": \"nightly cleanup\",\n      \"lead\": 300,\n      \"enabled\": false,\n      \"source\": \"MANUAL\",\n      \"lastFiredAt\": null,\n      \"wakeAttemptStartedAt\": null,\n      \"lastWakeLateAt\": null,\n      \"createdAt\": \"2026-07-05T11:40:00.000Z\",\n      \"updatedAt\": \"2026-07-08T09:02:00.000Z\"\n    }\n  ]\n}\n```\n\n## Пример ответа при ошибке\n\n404 — сервер не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"NOT_FOUND\",\n    \"message\": \"Server not found\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|----------|\n| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |\n| 401 | `INVALID_API_KEY` | Неверный или просроченный API-ключ |\n| 404 | `NOT_FOUND` | Сервер не найден, удалён или принадлежит другому API-ключу |\n| 429 | `RATE_LIMITED` | Превышен общий лимит запросов платформы |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Известные особенности\n\n- **Не гейтится статусом функции для портала.** В отличие от создания, обновления и удаления, список работает даже когда пробуждение по расписанию не включено для портала (`WAKE_SCHEDULE_DISABLED` здесь не возвращается) — так владелец сервера видит уже объявленные окна независимо от того, доступна ли функция его порталу сейчас.\n- **Порядок элементов.** Массив отсортирован по дате создания окна (`createdAt`, по возрастанию) — новые окна оказываются в конце.\n\n## Смотрите также\n\n- [Создать окно](.\u002Fcreate.md)\n- [Обновить окно](.\u002Fupdate.md)\n- [Удалить окно](.\u002Fdelete.md)\n","2026-07-22",{}]