Для AI-агентов: markdown этой страницы — /docs-content/infra/work-schedules/set-default.md индекс документации — /llms.txt
Отметить расписание по умолчанию
PUT /v1/work-schedules/:id/default
Отмечает расписание работы, на котором рождаются новые машины портала, или снимает эту отметку. Уже созданные машины свой режим не меняют.
Отметок две, и ставятся они независимо: machines — для новых серверов и приложений в галактике, agents — для новых агентов и ботов. Агент на расписании вне окна спит и не отвечает на сообщения до начала следующего окна, поэтому для агентов отметка отдельная. Каждая отметка стоит не больше чем на одном расписании: поставленная на новое расписание, она снимается с прежнего.
Отметку ставит и снимает только администратор портала — она меняет режим новых машин всех сотрудников, а с ним и их счёт. Право администратора проверяется по владельцу личного ключа, поэтому вызов с ключом OAuth-приложения отклоняется с 403 ADMIN_ONLY и с сессией администратора. Примеры ниже — только для личного ключа.
Параметры
| Параметр | В | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string | да | ID расписания — готового или своего. Источник — data[].id из списка расписаний |
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
audience |
string | да | Какая отметка: machines — новые серверы и приложения в галактике, agents — новые агенты и боты |
enabled |
boolean | да | true — поставить отметку на это расписание, false — снять её с него |
Примеры
curl — личный ключ
curl -X PUT https://vibecode.bitrix24.tech/v1/work-schedules/WORK_SCHEDULE_ID/default \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "audience": "machines", "enabled": true }'
JavaScript — личный ключ
const res = await fetch(
`https://vibecode.bitrix24.tech/v1/work-schedules/${workScheduleId}/default`,
{
method: 'PUT',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ audience: 'machines', enabled: true }),
}
)
const { data } = await res.json()
const marked = data.find(s => s.defaultForNewMachines)
console.log(`Новые машины рождаются на расписании: ${marked ? marked.name : 'не отмечено'}`)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
array | Вся библиотека расписаний портала после изменения: отметка могла переехать с одного расписания на другое. Форма элемента — как в списке расписаний |
data[].defaultForNewMachines |
boolean | На этом расписании рождаются новые серверы и приложения в галактике. true не больше чем у одного расписания |
data[].defaultForNewAgents |
boolean | На этом расписании рождаются новые агенты и боты. true не больше чем у одного расписания |
Пример ответа
Отметка для машин поставлена на расписание «Смены склада» и в ответе стоит только на нём:
{
"success": true,
"data": [
{
"id": "cmfp4qz7x00031ocg5d1a8k2m",
"kind": "PRESET",
"name": "Будни 9–18",
"presetKey": "weekdays-9-18",
"timezone": "Europe/Moscow",
"windows": [
{ "isoDay": 1, "start": "09:00", "end": "18:00" },
{ "isoDay": 2, "start": "09:00", "end": "18:00" },
{ "isoDay": 3, "start": "09:00", "end": "18:00" },
{ "isoDay": 4, "start": "09:00", "end": "18:00" },
{ "isoDay": 5, "start": "09:00", "end": "18:00" }
],
"version": 1,
"canEdit": false,
"assignedCount": 3,
"defaultForNewMachines": false,
"defaultForNewAgents": false
},
{
"id": "cmfp4r0q2000a1ocg7h2k9x3d",
"kind": "CUSTOM",
"name": "Смены склада",
"presetKey": null,
"timezone": "Europe/Moscow",
"windows": [
{ "isoDay": 1, "start": "09:00", "end": "18:00" },
{ "isoDay": 2, "start": "09:00", "end": "13:00" },
{ "isoDay": 2, "start": "14:00", "end": "24:00" }
],
"version": 2,
"canEdit": true,
"assignedCount": 1,
"defaultForNewMachines": true,
"defaultForNewAgents": false
}
]
}
Пример ответа при ошибке
403 — владелец ключа не администратор портала:
{
"success": false,
"error": {
"code": "ADMIN_ONLY",
"message": "Only a Bitrix24 account administrator can choose the schedule new machines are born with"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | VALIDATION_ERROR |
Тело не подходит под схему: нет audience или enabled, audience не machines и не agents, enabled не true и не false, в теле лишнее поле. В message — путь к полю и причина |
| 400 | WORK_SCHEDULE_EMPTY |
У расписания нет ни одного окна: машина на нём не работала бы никогда. Снять отметку с такого расписания можно |
| 400 | RUN_MODE_UNAVAILABLE |
Режимы работы ещё не включены для портала |
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | INVALID_API_KEY |
Ключ не опознан: такой строки на платформе нет |
| 403 | ADMIN_ONLY |
Владелец ключа не администратор портала, либо вызов сделан ключом OAuth-приложения |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ в режиме «только чтение» — отметка ему закрыта |
| 403 | INFRA_SCOPE_REQUIRED |
У ключа нет скоупа vibe:infra |
| 403 | INFRA_FORBIDDEN_FOR_COWORK_KEY |
Вызов сделан ключом Cowork/Code — библиотека расписаний такому ключу закрыта. Что делать — Проектный ключ для деплоя |
| 404 | NOT_FOUND |
Расписания с таким id нет в портале ключа, либо ключ не привязан к порталу Битрикс24. Расписание другого портала отвечает так же — ответ не подтверждает, что оно существует |
| 429 | RATE_LIMITED |
Превышен лимит 30 запросов в минуту на ключ. Точное значение — в заголовке x-ratelimit-limit (потолок делится на реплики) |
Полный список общих ошибок API — Ошибки.
Известные особенности
- Явный режим при создании сильнее отметки. Сервер, в запросе создания которого передан блок
runMode, рождается в названном режиме, включая явныйIDLE. Отметка действует, только когда режим при создании не назван, — Создать сервер. - Отметка не мешает созданию. Если отмеченное расписание применить не удалось, машина рождается в том режиме, в котором родилась бы без отметки, а создание не отклоняется. Режим, доставшийся машине, — поля
runModeиworkScheduleвGET /v1/infra/servers/:id. - Кто получает отметку при рождении. Отметку
machinesполучают сервер, созданный в личном кабинете или черезPOST /v1/infra/servers, и приложение в галактике. Отметкуagents— машина, которую платформа создаёт под агента или управляемого бота. Хост галактики отметку не получает: своего режима у него нет, он работает, пока работает хоть одно его приложение. - Повторный вызов ничего не меняет. Отметку, которая уже стоит на расписании, можно поставить ещё раз — ответ тот же
200. Снятие с расписания, которое отметки не несёт, тоже отвечает200и не трогает отметку на другом расписании. - Одно расписание может нести обе отметки. Отметки
machinesиagentsнезависимы: их можно поставить на одно расписание или на разные. - Удаление расписания снимает его отметки. После удаления отмеченного расписания новые машины рождаются так же, как без отметки.