{"openapi":"3.1.1","info":{"title":"Быстрый склад API","version":"1.0.0","description":"Первый серверный срез. Токен выпускается владельцем в настройках приложения и передаётся как Authorization: Bearer <token>. Данные каждой компании изолированы. Управление импортом МойСклада доступно только по сессии владельца в приложении."},"servers":[{"url":"/","description":"Текущий адрес документации (прокси к API)"}],"tags":[{"name":"Состояние"},{"name":"Товары"},{"name":"Фильтры"},{"name":"Цены"},{"name":"Контрагенты"},{"name":"Организации"},{"name":"Договоры"},{"name":"Дополнительные поля"},{"name":"Склады"},{"name":"Закупки"},{"name":"Продажи"},{"name":"Остатки"},{"name":"Интеграции"},{"name":"Аудит"},{"name":"Настройки"}],"paths":{"/api/v1/price-types":{"post":{"operationId":"price_type.create","summary":"Создать тип цены","tags":["Цены"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","examples":["Название"]},"city":{"type":"string","examples":["Город"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/price-types/{priceTypeId}":{"patch":{"operationId":"price_type.update","summary":"Изменить тип цены","tags":["Цены"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"priceTypeId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","archived"],"properties":{"name":{"type":"string","examples":["Название"]},"city":{"type":"string","examples":["Город"]},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"price_type.delete","summary":"Удалить тип цены и его цены товаров","tags":["Типы цен"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"priceTypeId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/filters":{"post":{"operationId":"filter.create","summary":"Создать фильтр","tags":["Фильтры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","examples":["Название"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/filters/{filterId}":{"patch":{"operationId":"filter.update","summary":"Изменить фильтр","tags":["Фильтры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"filterId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","archived"],"properties":{"name":{"type":"string","examples":["Название"]},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"filter.delete","summary":"Удалить фильтр, значения и привязки к товарам","tags":["Фильтры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"filterId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/filters/{filterId}/values":{"post":{"operationId":"filter_value.create","summary":"Добавить значение","tags":["Фильтры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"filterId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","examples":["Название"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/filters/{filterId}/values/{valueId}":{"patch":{"operationId":"filter_value.update","summary":"Изменить значение","tags":["Фильтры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"filterId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"path","name":"valueId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","archived"],"properties":{"name":{"type":"string","examples":["Название"]},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"filter_value.delete","summary":"Удалить значение и его привязки к товарам","tags":["Фильтры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"filterId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"path","name":"valueId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/products":{"post":{"operationId":"product.create","summary":"Создать товар или комплект","tags":["Товары"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"sku":{"type":"string","examples":["SKU-001"]},"name":{"type":"string","examples":["Товар"]},"category":{"type":"string","examples":["Категория"]},"description":{"type":"string","examples":["Описание товара"]},"price":{"type":["number","null"],"minimum":0,"examples":[1200]},"cost":{"type":["number","null"],"minimum":0,"examples":[800]},"minStock":{"type":["number","null"],"minimum":0,"examples":[5],"multipleOf":0.001},"code":{"type":"string","examples":["Код-001"]},"externalCode":{"type":"string","examples":["EXT-001"]},"uom":{"type":"string","examples":["шт"]},"country":{"type":"string","examples":["Россия"]},"weightKg":{"type":["number","null"],"minimum":0,"examples":[1.2]},"volumeM3":{"type":["number","null"],"minimum":0,"examples":[0.01]},"vatRate":{"type":["number","null"],"minimum":0,"examples":[20]},"minPrice":{"type":["number","null"],"minimum":0,"examples":[1100]},"preferredSupplierId":{"type":["string","null"],"examples":["replace-with-id"]},"parentProductId":{"type":["string","null"],"examples":["replace-with-id"]},"barcodes":{"type":"array","items":{"type":"string","examples":["4600000000000"]}},"packages":{"type":"array","items":{"type":"object","required":["name","quantity"],"properties":{"name":{"type":"string","examples":["Коробка"]},"quantity":{"type":"number","minimum":0,"examples":[10]},"barcode":{"type":"string","examples":["4600000000001"]}},"additionalProperties":false}},"analogIds":{"type":"array","items":{"type":"string","examples":["replace-with-id"]}},"customValues":{"type":"object","additionalProperties":true},"tags":{"type":"array","items":{"type":"string","examples":["метка"]}},"kind":{"type":"string","enum":["product","bundle","service","variant"]},"components":{"type":"array","items":{"type":"object","required":["productId","quantity"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001}},"additionalProperties":false}},"filterValueIds":{"type":"array","items":{"type":"string","examples":["replace-with-id"]}},"prices":{"type":"array","items":{"type":"object","required":["priceTypeId","price"],"properties":{"priceTypeId":{"type":"string","examples":["replace-with-id"]},"price":{"type":"number","minimum":0,"examples":[1200]}},"additionalProperties":false}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/products/{productId}":{"patch":{"operationId":"product.update","summary":"Изменить товар или комплект","tags":["Товары"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"productId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"sku":{"type":"string","examples":["SKU-001"]},"name":{"type":"string","examples":["Товар"]},"category":{"type":"string","examples":["Категория"]},"description":{"type":"string","examples":["Описание товара"]},"price":{"type":["number","null"],"minimum":0,"examples":[1200]},"cost":{"type":["number","null"],"minimum":0,"examples":[800]},"minStock":{"type":["number","null"],"minimum":0,"examples":[5],"multipleOf":0.001},"code":{"type":"string","examples":["Код-001"]},"externalCode":{"type":"string","examples":["EXT-001"]},"uom":{"type":"string","examples":["шт"]},"country":{"type":"string","examples":["Россия"]},"weightKg":{"type":["number","null"],"minimum":0,"examples":[1.2]},"volumeM3":{"type":["number","null"],"minimum":0,"examples":[0.01]},"vatRate":{"type":["number","null"],"minimum":0,"examples":[20]},"minPrice":{"type":["number","null"],"minimum":0,"examples":[1100]},"preferredSupplierId":{"type":["string","null"],"examples":["replace-with-id"]},"parentProductId":{"type":["string","null"],"examples":["replace-with-id"]},"barcodes":{"type":"array","items":{"type":"string","examples":["4600000000000"]}},"packages":{"type":"array","items":{"type":"object","required":["name","quantity"],"properties":{"name":{"type":"string","examples":["Коробка"]},"quantity":{"type":"number","minimum":0,"examples":[10]},"barcode":{"type":"string","examples":["4600000000001"]}},"additionalProperties":false}},"analogIds":{"type":"array","items":{"type":"string","examples":["replace-with-id"]}},"customValues":{"type":"object","additionalProperties":true},"tags":{"type":"array","items":{"type":"string","examples":["метка"]}},"kind":{"type":"string","enum":["product","bundle","service","variant"]},"components":{"type":"array","items":{"type":"object","required":["productId","quantity"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001}},"additionalProperties":false}},"filterValueIds":{"type":"array","items":{"type":"string","examples":["replace-with-id"]}},"prices":{"type":"array","items":{"type":"object","required":["priceTypeId","price"],"properties":{"priceTypeId":{"type":"string","examples":["replace-with-id"]},"price":{"type":"number","minimum":0,"examples":[1200]}},"additionalProperties":false}},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"product.delete","summary":"Удалить товар без операций и связей","tags":["Товары"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"productId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/products/{productId}/images/{imageId}":{"delete":{"operationId":"product_image.delete","summary":"Удалить фотографию","tags":["Товары"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"productId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"path","name":"imageId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/partners":{"post":{"operationId":"partner.create","summary":"Создать контрагента","tags":["Контрагенты"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","examples":["Название"]},"type":{"type":"string","enum":["Поставщик","Покупатель"]},"roles":{"type":"array","items":{"type":"string","examples":["Поставщик"]}},"contact":{"type":"string","examples":["Контакт"]},"phone":{"type":"string","examples":["+70000000000"]},"email":{"type":"string","examples":["mail@example.test"]},"legalKind":{"type":"string","examples":["company"]},"fullName":{"type":"string","examples":["Полное название"]},"inn":{"type":"string","examples":["1234567890"]},"kpp":{"type":"string","examples":["123456789"]},"ogrn":{"type":"string","examples":["1234567890123"]},"legalAddress":{"type":"string","examples":["Юридический адрес"]},"actualAddress":{"type":"string","examples":["Фактический адрес"]},"contacts":{"type":"array","items":{"type":"object","required":["name"],"properties":{"name":{"type":"string","examples":["Название"]},"phone":{"type":"string","examples":["+70000000000"]},"email":{"type":"string","examples":["mail@example.test"]}},"additionalProperties":false}},"bankAccounts":{"type":"array","items":{"type":"object","required":["bankName","accountNumber"],"properties":{"bankName":{"type":"string","examples":["Название"]},"accountNumber":{"type":"string","examples":["40702810000000000000"]},"bic":{"type":"string","examples":["044525000"]},"correspondentAccount":{"type":"string","examples":["30101810000000000000"]}},"additionalProperties":false}},"groups":{"type":"array","items":{"type":"string","examples":["Название"]}},"note":{"type":"string","examples":["Примечание"]},"priceTypeId":{"type":"string","examples":["replace-with-id"]},"discountPercent":{"type":"number","minimum":0,"examples":[5]},"customValues":{"type":"object","additionalProperties":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/partners/{partnerId}":{"patch":{"operationId":"partner.update","summary":"Изменить контрагента","tags":["Контрагенты"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"partnerId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","examples":["Название"]},"roles":{"type":"array","items":{"type":"string","examples":["Поставщик"]}},"contact":{"type":"string","examples":["Контакт"]},"phone":{"type":"string","examples":["+70000000000"]},"email":{"type":"string","examples":["mail@example.test"]},"legalKind":{"type":"string","examples":["company"]},"fullName":{"type":"string","examples":["Полное название"]},"inn":{"type":"string","examples":["1234567890"]},"kpp":{"type":"string","examples":["123456789"]},"ogrn":{"type":"string","examples":["1234567890123"]},"legalAddress":{"type":"string","examples":["Юридический адрес"]},"actualAddress":{"type":"string","examples":["Фактический адрес"]},"contacts":{"type":"array","items":{"type":"object"}},"bankAccounts":{"type":"array","items":{"type":"object"}},"groups":{"type":"array","items":{"type":"string","examples":["Название"]}},"note":{"type":"string","examples":["Примечание"]},"priceTypeId":{"type":"string","examples":["replace-with-id"]},"discountPercent":{"type":"number","minimum":0,"examples":[5]},"archived":{"type":"boolean","examples":[false]},"customValues":{"type":"object","additionalProperties":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"partner.delete","summary":"Удалить контрагента без связей","tags":["Контрагенты"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"partnerId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/partners/resolve":{"post":{"operationId":"partner.resolve","summary":"Найти или создать контрагента","tags":["Контрагенты"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","examples":["Название"]},"type":{"type":"string","enum":["Поставщик","Покупатель"]},"phone":{"type":"string","examples":["+70000000000"]},"email":{"type":"string","examples":["mail@example.test"]}},"additionalProperties":false,"anyOf":[{"required":["phone"]},{"required":["email"]}],"examples":[{"name":"Контрагент","type":"Поставщик","phone":"+70000000000"}]}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/organizations":{"post":{"operationId":"organization.create","summary":"Создать собственное юридическое лицо","tags":["Организации"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","examples":["Название"]},"legalKind":{"type":"string","examples":["company"]},"fullName":{"type":"string","examples":["Название"]},"inn":{"type":"string","examples":["1234567890"]},"kpp":{"type":"string","examples":["123456789"]},"ogrn":{"type":"string","examples":["1234567890123"]},"legalAddress":{"type":"string","examples":["Название"]},"actualAddress":{"type":"string","examples":["Название"]},"bankAccounts":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/organizations/{organizationId}":{"patch":{"operationId":"organization.update","summary":"Изменить собственное юридическое лицо","tags":["Организации"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","examples":["Название"]},"legalKind":{"type":"string","examples":["company"]},"fullName":{"type":"string","examples":["Название"]},"inn":{"type":"string","examples":["1234567890"]},"kpp":{"type":"string","examples":["123456789"]},"ogrn":{"type":"string","examples":["1234567890123"]},"legalAddress":{"type":"string","examples":["Название"]},"actualAddress":{"type":"string","examples":["Название"]},"bankAccounts":{"type":"array","items":{"type":"object"}},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"organization.delete","summary":"Удалить организацию без связей","tags":["Организации"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"organizationId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/contracts":{"post":{"operationId":"contract.create","summary":"Создать договор","tags":["Договоры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["partnerId","organizationId","kind"],"properties":{"partnerId":{"type":"string","examples":["replace-with-id"]},"organizationId":{"type":"string","examples":["replace-with-id"]},"kind":{"type":"string","enum":["purchase","sale","commission"]},"number":{"type":"string","examples":["Д-001"]},"signedAt":{"type":"string","examples":["2026-09-29"]},"commissionPercent":{"type":"number","minimum":0,"examples":[10]},"note":{"type":"string","examples":["Примечание"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/contracts/{contractId}":{"patch":{"operationId":"contract.update","summary":"Изменить договор","tags":["Договоры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"contractId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"partnerId":{"type":"string","examples":["replace-with-id"]},"organizationId":{"type":"string","examples":["replace-with-id"]},"kind":{"type":"string","enum":["purchase","sale","commission"]},"number":{"type":"string","examples":["Д-001"]},"signedAt":{"type":"string","examples":["2026-09-29"]},"commissionPercent":{"type":"number","minimum":0,"examples":[10]},"note":{"type":"string","examples":["Примечание"]},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"contract.delete","summary":"Удалить договор без связей","tags":["Договоры"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"contractId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/custom-fields":{"post":{"operationId":"custom_field.create","summary":"Создать определение поля","tags":["Дополнительные поля"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["entityKind","name","valueType"],"properties":{"entityKind":{"type":"string","examples":["product"]},"name":{"type":"string","examples":["Название"]},"valueType":{"type":"string","enum":["string","number","date","boolean","select"]},"options":{"type":"array","items":{"type":"string","examples":["Вариант"]}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/custom-fields/{fieldId}":{"patch":{"operationId":"custom_field.update","summary":"Изменить определение поля","tags":["Дополнительные поля"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"fieldId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","examples":["Название"]},"options":{"type":"array","items":{"type":"string","examples":["Вариант"]}},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"custom_field.delete","summary":"Удалить поле без сохранённых значений","tags":["Дополнительные поля"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"fieldId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/external-links":{"post":{"operationId":"external_link.create","summary":"Связать внешний ID","tags":["Интеграции"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["source","entityType","externalId","internalId"],"properties":{"source":{"type":"string","examples":["shop"]},"entityType":{"type":"string","enum":["product","partner","order"]},"externalId":{"type":"string","examples":["external-123"]},"internalId":{"type":"string","examples":["replace-with-id"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"get_external_links","summary":"Найти связь по внешнему ID","tags":["Интеграции"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"query","name":"source","required":true,"schema":{"type":"string","examples":["shop"]}},{"in":"query","name":"entityType","required":true,"schema":{"type":"string","enum":["product","partner","order"]}},{"in":"query","name":"externalId","required":true,"schema":{"type":"string","examples":["external-123"]}}],"responses":{"200":{"description":"Данные компании"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/warehouses":{"post":{"operationId":"warehouse.create","summary":"Создать склад","tags":["Склады"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","examples":["Название"]},"short":{"type":"string","examples":["Кратко"]},"city":{"type":"string","examples":["Город"]},"address":{"type":"string","examples":["Адрес"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/warehouses/{warehouseId}":{"patch":{"operationId":"warehouse.update","summary":"Изменить или архивировать склад","tags":["Склады"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"warehouseId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","examples":["Название"]},"short":{"type":"string","examples":["Кратко"]},"city":{"type":"string","examples":["Город"]},"address":{"type":"string","examples":["Адрес"]},"archived":{"type":"boolean","examples":[false]}},"additionalProperties":false,"examples":[{"name":"Новое название склада"}]}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"warehouse.delete","summary":"Удалить пустой склад","tags":["Склады"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"warehouseId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/purchases":{"post":{"operationId":"purchase.create","summary":"Создать заказ поставщику","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["productId","warehouseId","supplier","quantity","unitCost"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"warehouseId":{"type":"string","examples":["replace-with-id"]},"supplier":{"type":"string","examples":["Поставщик"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"unitCost":{"type":"number","minimum":0,"examples":[800]},"externalSource":{"type":"string","examples":["shop"]},"externalId":{"type":"string","examples":["external-123"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/purchases/{purchaseId}":{"delete":{"operationId":"purchase.delete","summary":"Удалить закупку без приёмки","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"purchaseId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/documents":{"post":{"operationId":"procurement.create","summary":"Создать многострочный документ","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["kind","lines"],"properties":{"kind":{"type":"string","enum":["purchase_order","supplier_invoice","receipt","supplier_return","internal_order"]},"reference":{"type":["string","null"],"examples":["ЗП-0001"]},"supplierId":{"type":["string","null"],"examples":["replace-with-id"]},"organizationId":{"type":["string","null"],"examples":["replace-with-id"]},"contractId":{"type":["string","null"],"examples":["replace-with-id"]},"warehouseId":{"type":["string","null"],"examples":["replace-with-id"]},"sourceDocumentId":{"type":["string","null"],"examples":["replace-with-id"]},"issuedAt":{"type":["string","null"],"examples":["2026-09-29"],"format":"date"},"dueAt":{"type":["string","null"],"examples":["2026-10-05"],"format":"date"},"note":{"type":"string","examples":["Примечание"]},"customValues":{"type":"object","additionalProperties":true},"lines":{"type":"array","items":{"type":"object","required":["productId","quantity","unitCost"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"unitCost":{"type":"number","minimum":0,"examples":[800]},"vatRate":{"type":["number","null"],"minimum":0,"examples":[20]},"damaged":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"missing":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"sourceLineNo":{"type":["integer","null"],"minimum":1,"examples":[1]}},"additionalProperties":false},"minItems":1,"maxItems":100}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/documents/{documentId}":{"patch":{"operationId":"procurement.update","summary":"Изменить черновик","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"documentId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"kind":{"type":"string","enum":["purchase_order","supplier_invoice","receipt","supplier_return","internal_order"]},"reference":{"type":["string","null"],"examples":["ЗП-0001"]},"supplierId":{"type":["string","null"],"examples":["replace-with-id"]},"organizationId":{"type":["string","null"],"examples":["replace-with-id"]},"contractId":{"type":["string","null"],"examples":["replace-with-id"]},"warehouseId":{"type":["string","null"],"examples":["replace-with-id"]},"sourceDocumentId":{"type":["string","null"],"examples":["replace-with-id"]},"issuedAt":{"type":["string","null"],"examples":["2026-09-29"],"format":"date"},"dueAt":{"type":["string","null"],"examples":["2026-10-05"],"format":"date"},"note":{"type":"string","examples":["Примечание"]},"customValues":{"type":"object","additionalProperties":true},"lines":{"type":"array","items":{"type":"object","required":["productId","quantity","unitCost"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"unitCost":{"type":"number","minimum":0,"examples":[800]},"vatRate":{"type":["number","null"],"minimum":0,"examples":[20]},"damaged":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"missing":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"sourceLineNo":{"type":["integer","null"],"minimum":1,"examples":[1]}},"additionalProperties":false},"minItems":1,"maxItems":100}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"procurement.delete","summary":"Удалить непроведённый документ без зависимых документов","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"documentId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/documents/{documentId}/status":{"patch":{"operationId":"procurement.status","summary":"Провести, закрыть или отменить документ","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"documentId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["posted","closed","cancelled"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/imports/{importId}/recognize":{"post":{"operationId":"procurement_import.retry","summary":"Повторить локальное распознавание файла","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"importId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/imports/{importId}":{"delete":{"operationId":"procurement_import.reject","summary":"Отклонить загруженный файл без созданного документа","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"importId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/imports/{importId}/document":{"post":{"operationId":"procurement_import.document","summary":"Создать черновик из распознанного файла","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"importId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["kind","lines"],"properties":{"kind":{"type":"string","enum":["purchase_order","supplier_invoice","receipt","supplier_return","internal_order"]},"reference":{"type":["string","null"],"examples":["ЗП-0001"]},"supplierId":{"type":["string","null"],"examples":["replace-with-id"]},"organizationId":{"type":["string","null"],"examples":["replace-with-id"]},"contractId":{"type":["string","null"],"examples":["replace-with-id"]},"warehouseId":{"type":["string","null"],"examples":["replace-with-id"]},"sourceDocumentId":{"type":["string","null"],"examples":["replace-with-id"]},"issuedAt":{"type":["string","null"],"examples":["2026-09-29"],"format":"date"},"dueAt":{"type":["string","null"],"examples":["2026-10-05"],"format":"date"},"note":{"type":"string","examples":["Примечание"]},"customValues":{"type":"object","additionalProperties":true},"lines":{"type":"array","items":{"type":"object","required":["productId","quantity","unitCost"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"unitCost":{"type":"number","minimum":0,"examples":[800]},"vatRate":{"type":["number","null"],"minimum":0,"examples":[20]},"damaged":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"missing":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"sourceLineNo":{"type":["integer","null"],"minimum":1,"examples":[1]}},"additionalProperties":false},"minItems":1,"maxItems":100}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/payments":{"post":{"operationId":"procurement_payment.create","summary":"Создать платёж","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["partnerId","direction","method","amount"],"properties":{"partnerId":{"type":"string","examples":["replace-with-id"]},"reference":{"type":["string","null"],"examples":["ПЛ-0001"]},"direction":{"type":"string","enum":["outgoing","incoming"]},"method":{"type":"string","enum":["bank","cash"]},"amount":{"type":"number","minimum":0,"examples":[800]},"organizationId":{"type":["string","null"],"examples":["replace-with-id"]},"contractId":{"type":["string","null"],"examples":["replace-with-id"]},"documentId":{"type":["string","null"],"examples":["replace-with-id"]},"paidAt":{"type":["string","null"],"examples":["2026-09-29"],"format":"date"},"note":{"type":"string","examples":["Примечание"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/payments/{paymentId}":{"patch":{"operationId":"procurement_payment.update","summary":"Изменить черновик платежа","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"paymentId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"partnerId":{"type":"string","examples":["replace-with-id"]},"reference":{"type":["string","null"],"examples":["ПЛ-0001"]},"direction":{"type":"string","enum":["outgoing","incoming"]},"method":{"type":"string","enum":["bank","cash"]},"amount":{"type":"number","minimum":0,"examples":[800]},"organizationId":{"type":["string","null"],"examples":["replace-with-id"]},"contractId":{"type":["string","null"],"examples":["replace-with-id"]},"documentId":{"type":["string","null"],"examples":["replace-with-id"]},"paidAt":{"type":["string","null"],"examples":["2026-09-29"],"format":"date"},"note":{"type":"string","examples":["Примечание"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"procurement_payment.delete","summary":"Удалить непроведённый платёж","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"paymentId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/payments/{paymentId}/status":{"patch":{"operationId":"procurement_payment.status","summary":"Провести или отменить платёж","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"paymentId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["posted","cancelled"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/orders":{"post":{"operationId":"order.create","summary":"Создать заказ покупателя","tags":["Продажи"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["customer","warehouseId","channel","items"],"properties":{"customer":{"type":"string","examples":["Покупатель"]},"warehouseId":{"type":"string","examples":["replace-with-id"]},"channel":{"type":"string","examples":["Сайт"]},"items":{"type":"array","items":{"type":"object","required":["productId","quantity"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"price":{"type":"number","minimum":0,"examples":[1200]}},"additionalProperties":false},"minItems":1},"priceTypeId":{"type":"string","examples":["replace-with-id"]},"externalNumber":{"type":"string","examples":["Заказ-123"]},"deliveryAddress":{"type":"string","examples":["Адрес доставки"]},"note":{"type":"string","examples":["Примечание"]},"orderedAt":{"type":"string","format":"date-time","examples":["2026-09-29T12:00:00Z"]},"externalSource":{"type":"string","examples":["shop"]},"externalId":{"type":"string","examples":["external-123"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/orders/{orderId}/status":{"patch":{"operationId":"order.status","summary":"Сменить статус заказа","tags":["Продажи"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"orderId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["picking","shipped","cancelled"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/orders/{orderId}":{"delete":{"operationId":"order.delete","summary":"Удалить неотгруженный заказ и снять резерв","tags":["Продажи"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"orderId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/stock/receipt":{"post":{"operationId":"stock.receipt","summary":"Принять товар","tags":["Остатки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["productId","warehouseId","supplier","quantity","unitCost"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"warehouseId":{"type":"string","examples":["replace-with-id"]},"supplier":{"type":"string","examples":["Поставщик"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"damaged":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"missing":{"type":"number","minimum":0,"examples":[0],"multipleOf":0.001},"unitCost":{"type":"number","minimum":0,"examples":[800]},"purchaseId":{"type":"string","examples":["replace-with-id"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/stock/writeoff":{"post":{"operationId":"stock.writeoff","summary":"Списать товар","tags":["Остатки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["productId","warehouseId","quantity","reason"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"warehouseId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"reason":{"type":"string","examples":["Причина"]},"selectedLotId":{"type":"string","examples":["replace-with-id"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/stock/transfer":{"post":{"operationId":"stock.transfer","summary":"Переместить товар","tags":["Остатки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["productId","warehouseId","toWarehouseId","quantity"],"properties":{"productId":{"type":"string","examples":["replace-with-id"]},"warehouseId":{"type":"string","examples":["replace-with-id"]},"toWarehouseId":{"type":"string","examples":["replace-with-id"]},"quantity":{"type":"number","minimum":0.001,"examples":[1],"multipleOf":0.001},"selectedLotId":{"type":"string","examples":["replace-with-id"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/settings":{"patch":{"operationId":"settings.update","summary":"Изменить настройки компании","tags":["Настройки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"description":"Уникальный ключ команды (8–120 символов). Повтор с тем же ключом возвращает прежний ответ.","schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["companyName","lowStockAlerts","dailySummary"],"properties":{"companyName":{"type":"string","examples":["Название"]},"lowStockAlerts":{"type":"boolean","examples":[true]},"dailySummary":{"type":"boolean","examples":[true]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/bootstrap":{"get":{"operationId":"get_bootstrap","summary":"Состояние склада","tags":["Состояние"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Данные компании"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/catalog":{"get":{"operationId":"get_catalog","summary":"Каталог с фильтрами и типом цены","tags":["Товары"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"query","name":"valueId","schema":{"type":"array","items":{"type":"string","examples":["replace-with-id"]},"maxItems":30},"style":"form","explode":true,"description":"Несколько ID через повторяющийся параметр"},{"in":"query","name":"priceTypeId","schema":{"type":"string","examples":["replace-with-id"]}}],"responses":{"200":{"description":"Данные компании"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/audit":{"get":{"operationId":"get_audit","summary":"Журнал аудита","tags":["Аудит"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"responses":{"200":{"description":"Данные компании"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/images/{imageId}":{"get":{"operationId":"get_images_imageId_","summary":"Получить оригинал фотографии","tags":["Товары"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"imageId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}}],"responses":{"200":{"description":"Оригинал файла"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/imports":{"get":{"operationId":"get_procurement_imports","summary":"Список загруженных закупочных файлов","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Данные компании"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"procurement_import.create","summary":"Загрузить файл закупки для локального распознавания","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"]}},{"in":"header","name":"X-File-Name","required":false,"schema":{"type":"string","examples":["nakladnaya.jpg"]}}],"requestBody":{"required":true,"content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"responses":{"202":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/procurement/imports/{importId}/file":{"get":{"operationId":"get_procurement_imports_importId_file","summary":"Оригинал закупочного файла","tags":["Закупки"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"importId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}}],"responses":{"200":{"description":"Оригинал файла"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/products/{productId}/images":{"post":{"operationId":"product_image.create","summary":"Загрузить фотографию","tags":["Товары"],"security":[{"bearerAuth":[]}],"parameters":[{"in":"path","name":"productId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"]}}],"requestBody":{"required":true,"content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Результат операции и актуальное состояние склада","content":{"application/json":{"schema":{"type":"object","required":["result","state"],"properties":{"result":{"type":"object","additionalProperties":true},"state":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad":{"get":{"operationId":"moysklad.overview","summary":"Подключение и история импорта МойСклада (сессия владельца)","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"responses":{"200":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"401":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad/connection":{"post":{"operationId":"moysklad.connect","summary":"Проверить и сохранить шифрованный токен МойСклада","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","minLength":10,"maxLength":4096,"writeOnly":true,"examples":["<MOYSKLAD_TOKEN>"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"moysklad.disconnect","summary":"Отключить МойСклад после завершения задач","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad/jobs":{"post":{"operationId":"moysklad.preview","summary":"Подготовить возобновляемый предварительный отчёт; склад не изменяется","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["products","partners","warehouses","organizations","purchases"],"properties":{"products":{"type":"boolean","examples":[true]},"partners":{"type":"boolean","examples":[true]},"warehouses":{"type":"boolean","examples":[true]},"organizations":{"type":"boolean","examples":[true]},"purchases":{"type":"boolean","examples":[false]}},"additionalProperties":false}}}},"responses":{"202":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad/jobs/{jobId}/pause":{"post":{"operationId":"moysklad.pause","summary":"Приостановить импорт","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad/jobs/{jobId}/resume":{"post":{"operationId":"moysklad.resume","summary":"Продолжить с checkpoint","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad/jobs/{jobId}/cancel":{"post":{"operationId":"moysklad.cancel","summary":"Отменить дальнейший перенос; созданные данные сохраняются","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad/jobs/{jobId}/apply":{"post":{"operationId":"moysklad.apply","summary":"Начать запись после готового preview; закупки только черновиками","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"header","name":"Idempotency-Key","required":true,"schema":{"type":"string","examples":["replace-with-unique-key"],"minLength":8,"maxLength":120}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{},"additionalProperties":false}}}},"responses":{"200":{"description":"Подключение без токена, задачи, этапы и счётчики импорта"},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/integrations/moysklad/jobs/{jobId}/rows":{"get":{"operationId":"moysklad.report","summary":"Страница отчёта; source=true включает сохранённый исходный снимок","tags":["Интеграции"],"security":[{"sessionCookie":[]}],"parameters":[{"in":"path","name":"jobId","required":true,"schema":{"type":"string","examples":["replace-with-id"]}},{"in":"query","name":"offset","schema":{"type":"integer","minimum":0,"default":0}},{"in":"query","name":"limit","schema":{"type":"integer","minimum":1,"maximum":100,"default":100}},{"in":"query","name":"problems","schema":{"type":"boolean","default":false}},{"in":"query","name":"source","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"rows,total,offset,limit; все строки ограничены компанией"},"400":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Ошибка","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API token"},"sessionCookie":{"type":"apiKey","in":"cookie","name":"bs_session"}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","examples":["INVALID_REQUEST"]},"message":{"type":"string","examples":["Описание ошибки"]}},"additionalProperties":false}},"additionalProperties":false}}}}