Для AI-агентов: markdown этой страницы — /docs-content/infra/lifecycle/sleep-now.md индекс документации — /llms.txt
Усыпить сейчас
POST /v1/infra/servers/:id/sleep-now
Немедленно усыпляет работающий BLACKHOLE-сервер: виртуальная машина останавливается у провайдера, статус меняется на sleeping, рабочая биллинг-транзакция финализируется и открывается сонная (тариф sleep ниже). Полезно для разовой экономии, когда вы знаете, что сервер не понадобится в ближайшие часы. Для автоматической остановки через N минут простоя используйте PATCH /sleep.
Параметры
| Параметр | В | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string (UUID) | да | ID сервера в режиме BLACKHOLE, статус running |
Тело запроса пустое.
Примеры
curl — личный ключ
curl -X POST -H "X-Api-Key: YOUR_API_KEY" \
https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/sleep-now
curl — OAuth-приложение
curl -X POST -H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/sleep-now
JavaScript — личный ключ
await fetch(
`https://vibecode.bitrix24.tech/v1/infra/servers/${serverId}/sleep-now`,
{ method: 'POST', headers: { 'X-Api-Key': 'YOUR_API_KEY' } }
)
JavaScript — OAuth-приложение
await fetch(
`https://vibecode.bitrix24.tech/v1/infra/servers/${serverId}/sleep-now`,
{
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
}
)
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true и при усыплении, и при отложенном усыплении |
data |
object | Приходит только при отложенном усыплении. При успешном переходе в sleeping блока data в ответе нет |
data.slept |
boolean | Всегда false — сервер остался в статусе running |
data.reason |
string | Причина отказа. Единственное значение — WAKE_IMMINENT |
Пример ответа
Сервер переведён в sleeping:
{ "success": true }
Усыпление отложено — ближайшее окно пробуждения по расписанию уже на подходе:
{
"success": true,
"data": {
"slept": false,
"reason": "WAKE_IMMINENT"
}
}
Пример ответа при ошибке
400 — сервер не в BLACKHOLE:
{
"success": false,
"error": {
"code": "BLACKHOLE_ONLY",
"message": "Sleep is only available for BLACKHOLE servers"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | BLACKHOLE_ONLY |
Сервер в режиме OPEN. Для OPEN-серверов используйте /stop |
| 400 | GALAXY_APP_USE_GALAXY_ROUTE |
Сервер — galaxy-приложение. Оно засыпает вместе с хостом. Код приходит в любом статусе приложения, NOT_RUNNING вместо него не возвращается — Galaxy-приложение |
| 400 | NOT_RUNNING |
Сервер не в статусе running (уже спит, в ошибке или создаётся) |
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | INVALID_API_KEY |
Неверный или просроченный API-ключ |
| 404 | NOT_FOUND |
Сервер не существует или принадлежит другому API-ключу |
| 409 | CONFLICT |
Гонка состояний — статус сервера изменился во время операции |
| 429 | RATE_LIMITED |
Превышен общий лимит запросов платформы |
Полный список общих ошибок API — Ошибки.
Известные особенности
- На OPEN-сервере используйте
/stop. Функционально для BLACKHOLE/sleep-nowи/stopэквивалентны, но/sleep-nowпомечен как BH-специфический и для OPEN вернётBLACKHOLE_ONLY. - Автоматическое пробуждение сохраняется. В отличие от административного блока
preventWake=true, ручной/sleep-nowзапрет не ставит: сервер поднимут вызовы/deployи/wake, а обращение к HTTPS-субдомену — на описанных там условиях. - Серверы агентов и ботов остаются с запретом на пробуждение. У сервера, созданного через агента или бота, ручной вызов проставляет
preventWake: trueи причинуAGENT_STOPPEDлибоBOT_STOPPED— разбудить его сможет только/startсоответствующей карточки. У обычных серверов запрет не ставится. - Атомарный переход. База обновляется одним
updateManyс фильтромstatus='RUNNING'— гонки двух одновременных вызовов приводят ко второмуCONFLICT, а не к двойному списанию. - Сервер с окном пробуждения по расписанию может отложить усыпление. Ветка
WAKE_IMMINENTвключается только у сервера, которому создано окно пробуждения по расписанию. Платформа сверяет ближайшее окно с текущим моментом: если оно наступит в пределах платформенного запаса (по умолчанию 5 минут) или наступило только что, усыпление отменяется, чтобы платформа не гасила машину прямо перед подъёмом. Ответ приходит со статусом200и полямиslept: false,reason: "WAKE_IMMINENT"— сервер остался в статусеrunning. Повторите вызов после отработки окна. У сервера без окон и у портала, которому пробуждение по расписанию недоступно, эта ветка не срабатывает: усыпление проходит сразу.