@hubex/mcp 0.9.20260922 → 0.9.20260925

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hubex/mcp",
3
- "version": "0.9.20260922",
3
+ "version": "0.9.20260925",
4
4
  "type": "module",
5
5
  "description": "MCP server for managing HubEx test data (tasks, assets, companies, users) via the HubEx REST API",
6
6
  "author": "HubEx Team",
@@ -21,7 +21,7 @@
21
21
  "Assets"
22
22
  ],
23
23
  "summary": "Импорт объектов и оборудования из Excel-файла",
24
- "description": "## Пример запроса:\r\n`POST /Assets`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом `Объекты и оборудование`.\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт объектов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями.\r\n- 409 Conflict: отсутствует лист `Объекты и оборудование` (`WrongFile`) или лист пустой (`EmptyFile`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- 409 Conflict: отсутствует обязательное поле формы `File` или тело запроса некорректно.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `AssetsImport`.",
24
+ "description": "## Пример запроса:\r\n`POST /Assets`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Объекты и оборудование`, en: `Assets`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт объектов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Объекты и оборудование`, en: `Assets`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `AssetsImport`.",
25
25
  "parameters": [
26
26
  {
27
27
  "name": "X-Application-ID",
@@ -209,7 +209,7 @@
209
209
  "description": "Недостаточно прав для импорта объектов."
210
210
  },
211
211
  "409": {
212
- "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк возвращается Excel-файл с комментариями;\r\nпри прочих ошибках — тело System.Collections.Generic.List`1.",
212
+ "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
213
213
  "content": {
214
214
  "text/plain": {
215
215
  "schema": {
@@ -251,7 +251,7 @@
251
251
  "Companies"
252
252
  ],
253
253
  "summary": "Импорт компаний из Excel-файла",
254
- "description": "## Пример запроса:\r\n`POST /Companies`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом `Компании`.\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт компаний принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями.\r\n- 409 Conflict: отсутствует лист `Компании` (`WrongFile`) или лист пустой (`EmptyFile`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- 409 Conflict: отсутствует обязательное поле формы `File` или тело запроса некорректно.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `CompaniesImport`.",
254
+ "description": "## Пример запроса:\r\n`POST /Companies`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Компании`, en: `Companies`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт компаний принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Компании`, en: `Companies`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `CompaniesImport`.",
255
255
  "parameters": [
256
256
  {
257
257
  "name": "X-Application-ID",
@@ -439,7 +439,7 @@
439
439
  "description": "Недостаточно прав для импорта компаний."
440
440
  },
441
441
  "409": {
442
- "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк возвращается Excel-файл с комментариями;\r\nпри прочих ошибках — тело System.Collections.Generic.List`1.",
442
+ "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
443
443
  "content": {
444
444
  "text/plain": {
445
445
  "schema": {
@@ -481,7 +481,7 @@
481
481
  "Materials"
482
482
  ],
483
483
  "summary": "Импорт материалов из Excel-файла (v1)",
484
- "description": "## Пример запроса:\r\n`POST /Materials`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом `Материалы`.\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт материалов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями.\r\n- 409 Conflict: отсутствует лист `Материалы` (`WrongFile`) или лист пустой (`EmptyFile`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- 409 Conflict: отсутствует обязательное поле формы `File` или тело запроса некорректно.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `MaterialImport`.",
484
+ "description": "## Пример запроса:\r\n`POST /Materials`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Материалы`, en: `Materials`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт материалов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Материалы`, en: `Materials`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `MaterialImport`.",
485
485
  "parameters": [
486
486
  {
487
487
  "name": "X-Application-ID",
@@ -669,7 +669,7 @@
669
669
  "description": "Недостаточно прав для импорта материалов."
670
670
  },
671
671
  "409": {
672
- "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк возвращается Excel-файл с комментариями;\r\nпри прочих ошибках — тело System.Collections.Generic.List`1.",
672
+ "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
673
673
  "content": {
674
674
  "text/plain": {
675
675
  "schema": {
@@ -711,7 +711,7 @@
711
711
  "Materials"
712
712
  ],
713
713
  "summary": "Импорт материалов из Excel-файла (v2)",
714
- "description": "## Пример запроса:\r\n`POST /Materials/v2.0`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом `Материалы`.\r\n \r\nПеред записью строки группируются по `MaterialErpID` (для каждого ERP ID сохраняется последняя запись).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт материалов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями.\r\n- 409 Conflict: отсутствует лист `Материалы` (`WrongFile`) или лист пустой (`EmptyFile`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- 409 Conflict: отсутствует обязательное поле формы `File` или тело запроса некорректно.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `MaterialImport`.",
714
+ "description": "## Пример запроса:\r\n`POST /Materials/v2.0`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Материалы`, en: `Materials`).\r\n \r\nПеред записью строки группируются по `MaterialErpID` (для каждого ERP ID сохраняется последняя запись).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт материалов принят в обработку.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Материалы`, en: `Materials`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `MaterialImport`.",
715
715
  "parameters": [
716
716
  {
717
717
  "name": "X-Application-ID",
@@ -899,7 +899,7 @@
899
899
  "description": "Недостаточно прав для импорта материалов."
900
900
  },
901
901
  "409": {
902
- "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк возвращается Excel-файл с комментариями;\r\nпри прочих ошибках — тело System.Collections.Generic.List`1.",
902
+ "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
903
903
  "content": {
904
904
  "text/plain": {
905
905
  "schema": {
@@ -941,7 +941,7 @@
941
941
  "Tasks"
942
942
  ],
943
943
  "summary": "Импорт заявок из Excel-файла",
944
- "description": "## Пример запроса:\r\n`POST /Tasks`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом `Заявки`.\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт заявок принят в обработку.\r\nПосле импорта асинхронно отправляются уведомления и запросы на перевод по стадиям.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями.\r\n- 409 Conflict: отсутствует лист `Заявки` (`WrongFile`) или лист пустой (`EmptyFile`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- 409 Conflict: отсутствует обязательное поле формы `File` или тело запроса некорректно.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TaskImport`.",
944
+ "description": "## Пример запроса:\r\n`POST /Tasks`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Заявки`, en: `Tasks`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт заявок принят в обработку.\r\nПосле импорта асинхронно отправляются уведомления и запросы на перевод по стадиям.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Заявки`, en: `Tasks`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `TaskImport`.",
945
945
  "parameters": [
946
946
  {
947
947
  "name": "X-Application-ID",
@@ -1129,7 +1129,7 @@
1129
1129
  "description": "Недостаточно прав для импорта заявок."
1130
1130
  },
1131
1131
  "409": {
1132
- "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк возвращается Excel-файл с комментариями;\r\nпри прочих ошибках — тело System.Collections.Generic.List`1.",
1132
+ "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
1133
1133
  "content": {
1134
1134
  "text/plain": {
1135
1135
  "schema": {
@@ -1171,7 +1171,7 @@
1171
1171
  "Users"
1172
1172
  ],
1173
1173
  "summary": "Импорт пользователей из Excel-файла",
1174
- "description": "## Пример запроса:\r\n`POST /Users`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом `Пользователи`.\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт пользователей принят в обработку.\r\nПосле импорта отправляются приглашения на верификацию аккаунта.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями.\r\n- 409 Conflict: отсутствует лист `Пользователи` (`WrongFile`) или лист пустой (`EmptyFile`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- 409 Conflict: отсутствует обязательное поле формы `File` или тело запроса некорректно.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserImport`.",
1174
+ "description": "## Пример запроса:\r\n`POST /Users`\r\n \r\nContent-Type: `multipart/form-data`\r\n \r\nПоле формы: `File` — Excel-файл (.xlsx) с листом, имя которого зависит от `Accept-Language`\r\n(ru: `Пользователи`, en: `Users`).\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует. Импорт пользователей принят в обработку.\r\nПосле импорта отправляются приглашения на верификацию аккаунта.\r\n \r\n## Пример ошибки валидации файла (409):\r\nВозвращается Excel-файл с теми же данными и комментариями в ячейках с ошибками.\r\nВ заголовке ответа присутствует `X-Application-Errors: InvalidData`.\r\n \r\n## Пример ошибки (409):\r\n```json\r\n[\r\n {\r\n \"traceIdentifier\": \"00-abc123\",\r\n \"code\": \"InvalidData\",\r\n \"message\": \"Загружен неверный файл\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: в файле есть ошибки валидации строк/ячеек — возвращается Excel с комментариями\r\n (`Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`,\r\n заголовок `X-Application-Errors: InvalidData`).\r\n- 409 Conflict: отсутствует лист с ожидаемым именем (`WrongFile`) или лист пустой (`EmptyFile`).\r\n Имя листа зависит от `Accept-Language` (ru: `Пользователи`, en: `Users`).\r\n- 409 Conflict: файл создан в неподдерживаемом приложении (например, MyOffice) — `UnsupportedFileFormat`.\r\n- Отсутствует обязательное поле формы `File` или тело запроса некорректно —\r\n обрабатывается model binding / global exception handling (не 409 Conflict).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserImport`.",
1175
1175
  "parameters": [
1176
1176
  {
1177
1177
  "name": "X-Application-ID",
@@ -1359,7 +1359,7 @@
1359
1359
  "description": "Недостаточно прав для импорта пользователей."
1360
1360
  },
1361
1361
  "409": {
1362
- "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк возвращается Excel-файл с комментариями;\r\nпри прочих ошибках — тело System.Collections.Generic.List`1.",
1362
+ "description": "Ошибка валидации файла или бизнес-конфликт.\r\nПри ошибках строк — Excel-файл с комментариями и заголовком `X-Application-Errors: InvalidData`;\r\nпри прочих конфликтах — JSON System.Collections.Generic.List`1.",
1363
1363
  "content": {
1364
1364
  "text/plain": {
1365
1365
  "schema": {