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

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

### FIX-1004-1: Облачные задачи различают прошедшее время запуска и истечение ключа

**Было**

Создание облачной задачи или изменение её одноразового расписания после указанного времени запуска возвращало `403 CREDENTIAL_EXPIRING`, даже если API-ключ был бессрочным.

**Стало**

Прошедшее время запуска возвращает `409 SCHEDULE_EXPIRED`. Если время запуска ещё не наступило, но срок действия API-ключа не покрывает выполнение задачи, по-прежнему возвращается `403 CREDENTIAL_EXPIRING`. Расписание не переносится автоматически.

**Влияние на интеграторов**

При `SCHEDULE_EXPIRED` укажите будущее время запуска. Обновление API-ключа не требуется, если его срок действия достаточен для выполнения задачи.

**Затронутые эндпоинты:** `POST /v1/cowork/cloud-tasks`, `PATCH /v1/cowork/cloud-tasks/{id}`.

### BC-1004-2: Завершение активной работы Коворка после пятичасового лимита

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

**Было**

После исчерпания пятичасовой квоты [POST /v1/chat/completions](/docs/ai/chat/completions) переходил к прежнему ответу о лимите, включая продолжение уже выданного вызова инструмента.

**Стало**

При включённой для пользователя возможности точное продолжение выданного вызова инструмента может завершиться за счёт существующего недельного остатка с учётом месячного лимита. Запас выдаётся один раз за пятичасовое окно; новый пользовательский запрос его не получает. Полный известный расход последнего ответа учитывается, даже если он превысил остаток запаса. Неизвестный расход закрывает дальнейшее продолжение; сброс окна возвращает обычное обслуживание. По умолчанию возможность выключена. Прежнее обслуживание сохраняется до адресного включения возможности для проверенного клиента. После включения прежний режим завершения параллельно не поддерживается.

Принудительный выбор именованного инструмента при завершении становится автоматическим: допустим итоговый текст без нового вызова инструмента. Форма sync/SSE-ответов сохраняется; завершение SSE ожидает окончания источника и расчёта расхода. При временной недоступности проверки продолжения возвращается `503 cowork_completion_unavailable` до обращения к модели.

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

Передавайте результат уже выданного инструмента даже после достижения 100%, сохраняйте исходную историю и инструменты, принимайте итоговый текст как завершение хода и читайте SSE до `[DONE]`. Новый пользовательский ход не должен повторно использовать запас. Перед включением требуется проверка этих сценариев в реальном клиенте.

### FIX-1004-3: переключение в OPEN при выключенном режиме отвечает отказом платформы

**Было**

Пока режим OPEN выключен на уровне платформы, [PATCH /v1/infra/servers/{id}/mode](/docs/infra/access/mode) с `mode: "OPEN"` отвечал `403 DIRECT_NETWORK_CHANGE_REQUIRES_HUMAN` со ссылкой на кабинет в `error.details.settingsUrl`. В кабинете при этом переключателя тоже нет, поэтому ссылка вела туда, где включить OPEN нельзя.

**Стало**

Пока режим OPEN выключен на уровне платформы, запрос отвечает `403 OPEN_MODE_DISABLED` с готовым текстом для человека в `error.userMessage`, как и описано на странице метода. Переключить сервер в OPEN в это время не может никто, в том числе через кабинет. Когда режим на платформе включён, ответ прежний: `403 DIRECT_NETWORK_CHANGE_REQUIRES_HUMAN`, переключение выполняет человек в кабинете.

**Влияние на интеграторов**

Действий не требуется. Обрабатывайте `403 OPEN_MODE_DISABLED` как окончательный отказ: для работы с сервером используйте [Deploy API](/docs/infra/deploy).
