---
title: "Получить пересчёт марок инвентаризации"
method: GET
path: "/api/v1/marking/inventories/{id}/codes"
tags: ["Marking stock documents"]
---

# Получить пересчёт марок инвентаризации

`GET /api/v1/marking/inventories/{id}/codes`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/marking/inventories/{id}/codes`
- 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`)

Сверка марок инвентаризации склада по товарам: сколько кодов числится на складе за юрлицом инвентаризации по регистру `marking_codes` на её дату (`expected`), сколько отсканировано (`scanned`), из них найдено (`found`), не найдено (`missing`, недостача) и лишних (`extra`). У каждого кода — состояние `found` / `missing` / `extra`, у лишнего — причина: `other_warehouse` (числится на другом складе юрлица, `warehouse_id`), `other_company` (у другого юрлица) или `not_on_stock` (не числится нигде — не принимался или уже ушёл). Количество и акты остаются у склада; коды без криптохвоста.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Response `200`

Пересчёт марок

- MarkingInventoryCodes
  - `inventory_id` string, uuid, required
  - `company_id` string, uuid, required
  - `warehouse_id` string, uuid, required
  - `date` string, date, required: Дата инвентаризации: на неё читается остаток кодов
  - `workflow` string, required: Состояние пересчёта склада: counting, counted, acts_created, closed
  - `editable` boolean, required: Марки ещё сканируются — акты не сформированы
  - `source` 'register', required: С чем сверено: регистр marking_codes
  - `lines` MarkingInventoryCodeLine[], required
    - `line` string, uuid, required
    - `product_id` string, uuid, required
    - `product_name` string, required
    - `product_sku` string, required
    - `group` string, required: Товарная группа профиля маркировки
    - `mode` '' | 'unit' | 'gtin', required: unit — коды поштучно; gtin — юрлицо передаёт товар по GTIN; пусто — товар не маркируется на дату
    - `book_qty` string, required: Количество по учёту из снимка инвентаризации
    - `actual_qty` string, nullable, required: Факт пересчёта; пусто — ещё не введён
    - `expected` integer, required: Кодов числится на складе
    - `scanned` integer, required: Отсканировано всего (найдено и лишних)
    - `found` integer, required
    - `missing` integer, required: Числится, но не найдено
    - `extra` integer, required: Найдено, но здесь не числится
    - `status` 'ok' | 'missing' | 'extra' | 'not_required', required: Лишние важнее нехватки
    - `codes` MarkingInventoryCode[], required
      - `id` string, uuid, required
      - `identity` string, required: Код без криптохвоста
      - `gtin` string, required
      - `gismt_status` string, required: Последний известный статус в ГИС МТ
      - `state` 'found' | 'missing' | 'extra', required: Найден, не найден (недостача) или лишний
      - `reason` 'other_warehouse' | 'other_company' | 'not_on_stock': Почему код лишний
      - `warehouse_id` string, uuid
      - `scanned_at` string, date-time: Когда отсканирован; у недостающего нет
  - `summary` MarkingInventoryCodesSummary, required
    - `expected` integer, required
    - `scanned` integer, required
    - `found` integer, required
    - `missing` integer, required
    - `extra` integer, required
    - `status` 'ok' | 'missing' | 'extra' | 'not_required', required

## Other responses

- `400`: У инвентаризации нет юрлица
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Инвентаризация не найдена или недоступна
- `503`: Сверка с регистром недоступна

---

[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)
