Для AI-агентов: markdown этой страницы — /docs-content/infra/work-schedules/delete.md индекс документации — /llms.txt

Удалить расписание

DELETE /v1/work-schedules/:id

Удаляет своё расписание из библиотеки портала. Расписание, по которому работают серверы, удаляется только с согласием перевести их в другой режим. Восстановить удалённое расписание через API нельзя — создавайте новое при необходимости.

Параметры

Параметр В Тип Обяз. Описание
id path string да ID своего расписания. Источник — data[].id из списка расписаний
reassign query string нет true — согласие перевести серверы на расписании в другой режим перед удалением: приложение — в IDLE со своим запомненным порогом простоя, 60 минут, если своего нет, агент и бот — в ALWAYS. Любое другое значение читается как отказ

Примеры

curl — личный ключ

Terminal
curl -X DELETE "https://vibecode.bitrix24.tech/v1/work-schedules/WORK_SCHEDULE_ID?reassign=true" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl -X DELETE "https://vibecode.bitrix24.tech/v1/work-schedules/WORK_SCHEDULE_ID?reassign=true" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch(
  `https://vibecode.bitrix24.tech/v1/work-schedules/${workScheduleId}?reassign=true`,
  { method: 'DELETE', headers: { 'X-Api-Key': 'YOUR_API_KEY' } }
)
if (res.status === 204) {
  console.log('Расписание удалено')
}

JavaScript — OAuth-приложение

javascript
const res = await fetch(
  `https://vibecode.bitrix24.tech/v1/work-schedules/${workScheduleId}?reassign=true`,
  {
    method: 'DELETE',
    headers: {
      'X-Api-Key': 'YOUR_APP_KEY',
      'Authorization': 'Bearer USER_SESSION_TOKEN',
    },
  }
)
if (res.status === 204) {
  console.log('Расписание удалено')
}

Ответ

При успешном удалении возвращается HTTP-статус 204 No Content с пустым телом. Признак успеха — код ответа, не содержимое. Новые режимы переведённых серверов читаются в GET /v1/infra/servers/:id.

Пример ответа

HTTP/1.1 204 No Content

Пример ответа при ошибке

409 — по расписанию работают серверы, а reassign=true не передан:

JSON
{
  "success": false,
  "error": {
    "code": "WORK_SCHEDULE_IN_USE",
    "message": "The work schedule is assigned to servers: repeat with reassign=true to move them to another run mode and delete it",
    "details": { "assignedCount": 2 }
  }
}

Ошибки

HTTP Код Описание
400 RUN_MODE_UNAVAILABLE Режимы работы ещё не включены для портала
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Ключ не опознан: такой строки на платформе нет
403 WORK_SCHEDULE_PRESET_READONLY Расписание готовое — оно не удаляется
403 WORK_SCHEDULE_EDIT_FORBIDDEN Удалить расписание может только его автор или администратор портала
403 WRITE_BLOCKED_READONLY_KEY Ключ в режиме «только чтение» — удаление ему закрыто
403 INFRA_SCOPE_REQUIRED У ключа нет скоупа vibe:infra
403 INFRA_FORBIDDEN_FOR_COWORK_KEY Вызов сделан ключом Cowork/Code — библиотека расписаний такому ключу закрыта. Что делать — Проектный ключ для деплоя
404 NOT_FOUND Расписания с таким id нет в портале ключа, либо ключ не привязан к порталу Битрикс24
409 WORK_SCHEDULE_IN_USE По расписанию работают серверы, а reassign=true не передан. Число серверов — в error.details.assignedCount. Тот же ответ приходит, если сервер назначили на расписание во время удаления, — повторите запрос
429 RATE_LIMITED Превышен лимит 10 запросов в минуту на ключ. Точное значение — в заголовке x-ratelimit-limit (потолок делится на реплики)

Полный список общих ошибок API — Ошибки.

Известные особенности

  • Перевод касается и серверов других сотрудников. С reassign=true в другой режим переходят все серверы на расписании, не только принадлежащие владельцу ключа, — и вместе с режимом меняется их счёт.
  • Удалённые серверы удалению не мешают. Серверы, которые уже удалены, в assignedCount не входят и снимаются с расписания без согласия.

Смотрите также