Для AI-агентов: markdown этой страницы — /docs-content/changelog/2026-09-06.md индекс документации — /llms.txt
Изменения API: 6 сентября 2026
← Журнал изменений · Сентябрь 2026
FIX-0906-1: бесплатный тариф Битрикс24 при выписке ключа отвечает терминально, а не «повторите позже»
Было
Облачный аккаунт на бесплатном тарифе Битрикс24 получал на выписку ключа 502
CONNECTOR_REST_UNAVAILABLE с details.retryable: true, если по данным аккаунта его
доступ к Маркетплейсу действовал. Ответ обещал, что поможет повтор. Битрикс24 на
бесплатном тарифе закрывает REST целиком, поэтому повтор не помогал никогда.
Аккаунт без подписки Маркетплейса на том же тарифе получал 403
B24_MARKET_SUBSCRIPTION_REQUIRED, а с уже израсходованным пробным периодом — 403
B24_MARKET_TRIAL_USED. Оба ответа продавали средство, которое бесплатный тариф не
снимает.
Признак activation.marketTrial.available в GET /v1/cowork/state отдавал true
такому аккаунту, и POST /v1/cowork/activate-market-trial расходовал его одноразовый
пробный период Маркетплейса впустую.
Стало
Тот же случай отвечает терминальным отказом, который называет средство — платный тариф
Битрикс24: B24_PAID_TARIFF_REQUIRED (402) с полем userMessage. Код не новый,
изменился набор состояний, при которых он приходит: раньше только «доступ оплачен, но
не действует», теперь — любое состояние доступа на прочитанном бесплатном тарифе.
Повтор без смены тарифа вернёт то же самое. В этом случае коды 403
B24_MARKET_SUBSCRIPTION_REQUIRED и B24_MARKET_TRIAL_USED уже не приходят — их клетки
перехватывает тарифный отказ. При других отказах выписки они по-прежнему возможны, в том
числе на бесплатном тарифе.
Всё сказанное про подписку относится к аккаунтам, где она продаётся, — Россия и
Беларусь. В Казахстане и Узбекистане подписки как продукта нет: там та же стена отдаёт
свой терминальный отказ — 403 INT_TARIFF_REQUIRED, — а подписочные коды к таким
аккаунтам не приходили и раньше.
activation.marketTrial.available для такого аккаунта теперь false с причиной
not_supported, а POST /v1/cowork/activate-market-trial и
POST /v1/portals/{id}/activate-market-trial отвечают отказом, не расходуя пробный
период. Аккаунт на тарифе «Демо» Битрикс24 не затронут: этот тариф REST не закрывает,
и ответ у него прежний. Аккаунт, тариф которого прочитать не удалось, ведёт себя как
раньше.
BC-0906-2: PATCH /v1/infra/servers/:id/mode отклоняет открытие для серверов с запечатанной ролью
Поддержка старого формата до: не предусмотрена
Было
Для сервера, которому по его роли (участник пула, служебная машина) полагается закрытая сетевая политика, PATCH /v1/infra/servers/:id/mode с mode: "OPEN" отвечал 200: сервер действительно переходил в открытый режим, а выданный SSH-пароль работал.
Стало
Такой запрос отклоняется с 409 MODE_SWITCH_SEALED_ROLE; режим сервера не меняется, пароль не выдаётся. Отказ применяется там, где сетевая политика сервера поддержана дополнительным слоем для этого сервера; там, где такой поддержки нет, поведение не изменилось.
Что делать интеграторам
Клиенты, которые ожидали 200 для серверов с запечатанной ролью, обязаны обрабатывать 409 MODE_SWITCH_SEALED_ROLE как терминальный отказ: открытый режим для такого сервера недоступен, повторять запрос бессмысленно. Для остальных серверов (не запечатанной роли) 200 и выдача пароля не изменились.
NEW-0906-3: PATCH /v1/infra/servers/:id/mode может отдать отказ переключения сетевой политики
PATCH /v1/infra/servers/:id/mode закрывает сетевую политику сервера ещё одним слоем — снаружи гостевой машины, поверх уже существующей защиты внутри неё. Если переключить сетевую политику сервера не удалось, ручка отвечает 503 SECURITY_GROUP_ATTACH_FAILED; режим сервера при этом не меняется, и повтор запроса имеет смысл. Отказ возможен только там, где этот дополнительный слой поддержан для конкретного сервера; там, где поддержки нет, поведение ручки не изменилось.
FIX-0906-4: PATCH /v1/infra/servers/:id/mode закрывает фаервол сервера, если связь с ним оборвалась посреди переключения
Было
PATCH /v1/infra/servers/:id/mode выполняет переключение режима командами на самом сервере. Если связь с сервером терялась посреди этой последовательности — таймаут, обрыв туннеля, недоступный агент, — ручка отвечала ошибкой, но сервер мог остаться с уже открытым фаерволом при неизменённом режиме BLACKHOLE: команда открытия успевала исполниться, а закрыть её обратно было некому. Ошибка при этом сообщала, что переключение отменено.
Стало
Такой обрыв теперь запускает закрытие фаервола обратно до того, как ошибка уедет клиенту: раньше на этом пути не делалось ничего, и открытый сервер при режиме BLACKHOLE оставался так до следующего вмешательства.
Закрытие идёт по тому же каналу связи, который только что оборвался, поэтому гарантией оно не является: если сервер недоступен полностью, оно тоже не доедет, и расхождение сохранится. Ответ ручки об этом не сообщает — исход попытки виден в журнале платформы.
Один случай остаётся исключением и описан здесь намеренно: если сервер уже успел закрыться, а сорвалась запись режима, фаервол НЕ открывается обратно — снимать выполненное закрытие из-за сбоя записи было бы опаснее. Сервер тогда закрыт, а режим по нему отдаётся как OPEN.
Влияние на интеграторов
Коды ответов не изменились, и повтор запроса по-прежнему имеет смысл. В исключении, описанном выше, повтор с mode: "OPEN" отклоняется как 400 SAME_MODE — режим по строке уже OPEN; доступ возвращается переключением в BLACKHOLE и обратно в OPEN.