---
title: "Изменить серию целиком"
method: PATCH
path: "/api/v1/stock/batches/{id}/series"
tags: ["Stock batches"]
---

# Изменить серию целиком

`PATCH /api/v1/stock/batches/{id}/series`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/batches/{id}/series`
- 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

Правка серии целиком (ERP-2199): номер серии, дата выпуска и срок годности задаются у всех проведённых партий товара бизнеса с тем же номером серии, что у партии {id} (регистр и пробелы номера не важны). Партия без серии правится одна. Номер разбирается так же, как при приходе: «023 5L 031025 от 10.25 до 04.27» — номер «023 5L 031025», выпуск 03.10.2025, срок 01.04.2027 в незаданные поля. GTIN меняется у всех партий, только если прислан. Выпуск позже прихода любой партии серии — 400 batch_dates_invalid; партия серии в закрытом периоде — 409 batch_period_closed; в обоих случаях ничего не меняется. У каждой поменянной партии — строка истории; причина по умолчанию system:series_edit.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- StockBatchRequisitesPatch
  - `supplier_batch_code` string: Номер серии. Серия в записи учётной системы («… от ММ.ГГ до ММ.ГГ») разбирается, как при приходе (ERP-2199): номер — сюда, даты — в незаданные produced_at и expires_at, если у партии их нет
  - `produced_at` string, date, nullable: Дата выпуска YYYY-MM-DD; null очищает
  - `expires_at` string, date, nullable: Срок годности YYYY-MM-DD; null очищает
  - `gtin` string: GTIN маркировки партии (ERP-2134): один из действующих GTIN товара партии, 13 или 14 цифр; пустая строка снимает. Чужой GTIN — 400
  - `reason` string: Причина правки для истории

## Response `200`

Итог правки серии

- StockSeriesUpdateResult
  - `batch` StockBatch, required
    - `id` string, uuid, required
    - `business_id` string, uuid, required
    - `business_name` string, required
    - `company_id` string, uuid, required
    - `company_name` string, required
    - `product_id` string, uuid, required
    - `product_sku` string, required
    - `product_name` string, required
    - `photo_file_id` string, uuid
    - `source_document_id` string, uuid, required
    - `source_document_type_key` string, required
    - `source_line_id` string, uuid, required
    - `received_at` string, date-time, required
    - `supplier_batch_code` string, required
    - `gtin` string: GTIN маркировки партии (ERP-2134), 14 цифр; пусто — не задан
    - `produced_at` string, date-time, nullable, required
    - `expires_at` string, date-time, nullable, required
    - `is_active` boolean, required
    - `quantity` string, required: Считается из движений регистра stock
    - `amount` string, required: Считается из движений регистра stock
    - `source_document_number` string: Номер документа-источника партии
    - `source_document_date` string, date: Дата документа-источника
    - `warehouses` StockBatchWarehouseStock[]: Где лежит партия (ERP-1788): ненулевой остаток по складам и состояниям. Заполняется в списке; в карточке партии может быть пустым
      - `warehouse_id` string, uuid, required
      - `warehouse_name` string, required
      - `parent_id` string, uuid, required
      - `parent_name` string, required
      - `external` boolean, required: Склад внешней стороны: площадки или товара в пути к ней
      - `condition_id` string, uuid, required
      - `condition_name` string, required
      - `qty` string, required
    - `series_batch_count` integer: Строка серии (group=series, ERP-2199): сколько партий сложено; у строки партии поля нет
    - `series_dates_differ` boolean: Строка серии: выпуск или срок у партий серии разные — серию стоит поправить целиком
  - `batch_count` integer, required: Партий в серии
  - `changed` integer, 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/3c60ded179f2?raw)
