---
title: "Переключить режим ячеек склада или зоны"
method: POST
path: "/api/v1/stock/warehouses/{id}/bins-mode"
tags: ["Stock warehouses"]
---

# Переключить режим ячеек склада или зоны

`POST /api/v1/stock/warehouses/{id}/bins-mode`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/warehouses/{id}/bins-mode`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Режим ячеек — отдельное действие, а не поле формы склада. Включить ячейки можно только на обычном складе: у склада площадки и склада товаров в пути ячеек нет (409, код bins_mode_unavailable). На складе с включёнными зонами ячейки не включаются — они включаются в самих зонах (409, код bins_mode_zoned). Режим strict включается, когда весь остаток места разложен по ячейкам: иначе 409 с кодом stock_bins_unplaced и не разложенным количеством (quantity). Выключить ячейки (off) можно, когда в них ничего не числится: иначе 409 с кодом stock_bins_not_empty и количеством (quantity). С параметром clear=true выключение само снимает товар с ячеек: система заводит и проводит перемещение «склад на тот же склад» из ячеек на пол, затем выключает режим; без параметра — прежний отказ.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- StockWarehouseBinsModeInput
  - `mode` 'off' | 'soft' | 'strict', required: off — ячеек нет; soft — ячейка необязательна; strict — документ обязан назвать ячейку
  - `clear` boolean: Только вместе с mode=off: снять товар с ячеек перекладкой на пол (документ остаётся в журнале) и выключить ячейки. Без параметра выключение при непустых ячейках отказывает кодом stock_bins_not_empty

## Response `200`

Склад или зона с новым режимом ячеек

- StockWarehouse
  - `id` string, uuid, required
  - `code` string, required
  - `name` string, required
  - `parent_id` string, uuid, required
  - `address` object, required
  - `responsible_employee_id` string, uuid, required
  - `is_active` boolean, required
  - `sort_order` integer, required
  - `zones_enabled` boolean, required: Внутри склада работают зоны — приход разрешён только в подчинённую зону
  - `needs_allocation` boolean, required: На самом зональном складе ещё лежит остаток, оставшийся с момента включения зон
  - `inbound_mode` 'documents' | 'external_receipt' | 'external_transit' | 'transfer_transit', required: documents — приход обычными складскими документами; external_receipt — склад внешней стороны: приход даёт только её приёмка, поступление и входящее перемещение запрещены; external_transit — склад товаров в пути к площадке (заводит подключение магазина); transfer_transit — склад «В пути на <склад>» перемещения с приёмкой (ERP-2179): приход — только отправка, расход — приёмка, возврат или списание недостачи по отправке
  - `transfer_receipt` boolean, required: «Приход перемещением — с приёмкой» (ERP-2179): перемещение на склад уходит на его склад «в пути», на склад товар кладёт приёмка по перемещению. Меняется действиями transfer-receipt/enable и disable
  - `transit_warehouse_id` string, uuid, required
  - `transit_for_id` string, uuid, required
  - `bins_mode` 'off' | 'soft' | 'strict', required: Ячейки в этом месте хранения: off — ячеек нет; soft — ячейка необязательна, товар без ячейки считается не размещённым; strict — документ обязан назвать ячейку
  - `bins_count` integer, required: Сколько в этом месте активных ячеек
  - `business_id` string, uuid, required
  - `company_ids` UUID[], required: Пустой список означает доступность склада всем активным юрлицам кабинета
  - `agent_contact_id` string, uuid
  - `agent_contract_id` string, uuid
  - `default_for_company_ids` UUID[]: Юрлица, у которых этот склад выбран складом по умолчанию в политике склада (ERP-2423). Только в списке складов; нет таких юрлиц — поля нет
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю
- `409`: Конфликт версии, идемпотентности или бизнес-состояния

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/a99574d597cc?raw)
