# Изменения API: 11 октября 2026

[← Журнал изменений](/docs/changelog) · [Октябрь 2026](/docs/changelog/2026-10)

### BC-1011-1: Прерванный выпуск ключа сохраняет занятое место

> Поддержка старого формата до: не предусмотрена

**Было**

Ключ после прерванного выпуска мог не учитываться в лимите.
[DELETE /v1/keys/{id}](/docs/management-keys) возвращал `204 No Content` даже при незавершённом удалении.

**Стало**

Ключ незавершённого выпуска занимает место до успешной активации или подтверждённого удаления.
`DELETE /v1/keys/{id}` возвращает `502 BITRIX_UNAVAILABLE`, если удаление такого ключа
не подтверждено. Ключ и занятое место сохраняются. После подтверждённого удаления
ответ — `204 No Content`.
Обычные отозванные ключи по-прежнему освобождают место.

**Что делать интеграторам**

Обрабатывайте `502 BITRIX_UNAVAILABLE` как незавершённое удаление: после восстановления
доступности повторите `DELETE /v1/keys/{id}`. До ответа `204 No Content` место остаётся занятым.
Поддержка прежнего успешного ответа при неподтверждённом удалении не предусмотрена.

### BC-1011-2: Защита серверов активного переезда в Галактику

> Поддержка старого формата до: не предусмотрена

**Было**

[`DELETE /v1/infra/servers/:id`](/docs/infra/servers/delete) мог удалить источник или место активного переезда в Галактику. Удаление места во время переключения могло уничтожить домен и оставить приложение без обоих серверов.

**Стало**

[`DELETE /v1/infra/servers/:id`](/docs/infra/servers/delete) отвечает `409 GALAXY_MOVE_ACTIVE`, если сервер — источник или место активного переезда в Галактику. Сервер и его домен при отказе не удаляются. [`POST /v1/infra/servers`](/docs/infra/servers/create) с `graduateFrom`, указывающим на активное место переезда, также отвечает `409 GALAXY_MOVE_ACTIVE` до создания новой VM. Кратковременная занятость источника другой операцией возвращает `409 APPLICATION_OP_IN_PROGRESS`: повторите запрос позже. Старое поведение отключается сразу для защиты данных.

**Что делать интеграторам**

При `GALAXY_MOVE_ACTIVE` прекратите автоматические повторы удаления или создания с `graduateFrom`, пока конфликт активного переезда не устранён. После устранения конфликта повторите исходный запрос. `APPLICATION_OP_IN_PROGRESS` означает кратковременную занятость: повторите запрос позже. Отказ не подтверждает удаление сервера или создание VM.

### BC-1011-3: Сборка galaxy-приложения ограничена половиной памяти хоста

> Поддержка старого формата до: не предусмотрена

**Было**

Сборка образа galaxy-приложения на [POST /v1/infra/servers/{id}/deploy](/docs/infra/deploy/deploy) не была ограничена по памяти. Тяжёлая сборка, например компиляция нативных зависимостей, могла занять всю память хоста галактики. Тогда хост переставал отвечать вместе с соседними приложениями, а выкладка завершалась без результата.

**Стало**

Сборка ограничена половиной памяти хоста галактики. Сборка, которой этой памяти не хватило, завершается ответом 502 `GALAXY_APP_BUILD_FAILED`, в поле `category` объекта `error` приходит новое значение `BUILD_OOM`, а подсказка `buildHint` объясняет причину. Соседние приложения на хосте продолжают работать. Категория ставится, только когда сборка остановилась именно на нехватке памяти: отказы по таймауту, месту на диске или недоступности каталогов пакетов сохраняют прежние категории. Отказ терминальный, платформа выкладку не повторяет.

**Что делать интеграторам**

Если выкладка вернула `BUILD_OOM`, уменьшите расход памяти при сборке: подготовьте тяжёлую компиляцию заранее и передавайте в выкладку готовые артефакты, а не собирайте их на хосте. Либо выберите тариф галактики с большим объёмом памяти — лимит сборки растёт вместе с ним.

### NEW-1011-4: Доставка секретов приложения при деплое

`POST /v1/infra/servers/:id/deploy` доставляет заданные секреты приложения в окружение запуска. Секрет со значением имеет приоритет над одноимённым полем `env`; имя без значения не перекрывает `env`. Значение `PORT` задаёт платформа. Команды `install` и `preStart` секреты не получают.

Массив `warnings` сообщает об отклонённых значениях `env` и секретах, которым владелец ещё не задал значение. Предупреждения содержат только имена, без значений секретов.

На отдельной машине секреты хранятся вне каталога приложения. Пути `extractTo` и `dataDirs` не должны пересекаться с `/var/lib/vibe/app-secrets`: запрещены сам каталог, его родители и вложенные пути. Подробности подключения, включая `systemd:false`, — в [документации деплоя](/docs/infra/deploy/deploy#секреты-приложения).

### NEW-1011-5: Дела у карточки CRM доступны в справочнике API

В OpenAPI и справочнике API Вайбкод опубликованы восемь работающих методов: GET и POST `/v1/deals/{id}/activities`, `/v1/leads/{id}/activities`, `/v1/contacts/{id}/activities` и `/v1/companies/{id}/activities`. Агент может найти их контракты, параметры и примеры.

Добавлены инструкции: [список дел у карточки CRM](/docs/entities/activities/owner-list) и [создание дела у карточки CRM](/docs/entities/activities/owner-create). Владелец берётся из URL, а создание возвращает только ID. Общий `/v1/activities` остаётся основным входом для фильтров и сортировки.
