@oneentry/mcp-platform-server 0.1.0
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/README.md +189 -0
- package/data/catalog.json +1 -0
- package/data/knowledge.json +1 -0
- package/dist/api/audit.d.ts +32 -0
- package/dist/api/audit.d.ts.map +1 -0
- package/dist/api/audit.js +35 -0
- package/dist/api/audit.js.map +1 -0
- package/dist/api/auth.d.ts +53 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +126 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/catalog.d.ts +39 -0
- package/dist/api/catalog.d.ts.map +1 -0
- package/dist/api/catalog.js +108 -0
- package/dist/api/catalog.js.map +1 -0
- package/dist/api/client.d.ts +60 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +196 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/policy.d.ts +52 -0
- package/dist/api/policy.d.ts.map +1 -0
- package/dist/api/policy.js +0 -0
- package/dist/api/policy.js.map +1 -0
- package/dist/api/shape.d.ts +19 -0
- package/dist/api/shape.d.ts.map +1 -0
- package/dist/api/shape.js +151 -0
- package/dist/api/shape.js.map +1 -0
- package/dist/api/types.d.ts +85 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +48 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/config/config.d.ts +108 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +167 -0
- package/dist/config/config.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge/chunk.d.ts +35 -0
- package/dist/knowledge/chunk.d.ts.map +1 -0
- package/dist/knowledge/chunk.js +87 -0
- package/dist/knowledge/chunk.js.map +1 -0
- package/dist/knowledge/loader.d.ts +27 -0
- package/dist/knowledge/loader.d.ts.map +1 -0
- package/dist/knowledge/loader.js +125 -0
- package/dist/knowledge/loader.js.map +1 -0
- package/dist/knowledge/search.d.ts +34 -0
- package/dist/knowledge/search.d.ts.map +1 -0
- package/dist/knowledge/search.js +95 -0
- package/dist/knowledge/search.js.map +1 -0
- package/dist/knowledge/types.d.ts +47 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/knowledge/types.js +2 -0
- package/dist/knowledge/types.js.map +1 -0
- package/dist/server.d.ts +16 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +48 -0
- package/dist/server.js.map +1 -0
- package/dist/session.d.ts +43 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +75 -0
- package/dist/session.js.map +1 -0
- package/dist/tools/api-call.d.ts +5 -0
- package/dist/tools/api-call.d.ts.map +1 -0
- package/dist/tools/api-call.js +169 -0
- package/dist/tools/api-call.js.map +1 -0
- package/dist/tools/api-discovery.d.ts +5 -0
- package/dist/tools/api-discovery.d.ts.map +1 -0
- package/dist/tools/api-discovery.js +80 -0
- package/dist/tools/api-discovery.js.map +1 -0
- package/dist/tools/docs.d.ts +5 -0
- package/dist/tools/docs.d.ts.map +1 -0
- package/dist/tools/docs.js +113 -0
- package/dist/tools/docs.js.map +1 -0
- package/dist/tools/guide.d.ts +11 -0
- package/dist/tools/guide.d.ts.map +1 -0
- package/dist/tools/guide.js +67 -0
- package/dist/tools/guide.js.map +1 -0
- package/dist/tools/result.d.ts +19 -0
- package/dist/tools/result.d.ts.map +1 -0
- package/dist/tools/result.js +19 -0
- package/dist/tools/result.js.map +1 -0
- package/dist/tools/whoami.d.ts +5 -0
- package/dist/tools/whoami.d.ts.map +1 -0
- package/dist/tools/whoami.js +42 -0
- package/dist/tools/whoami.js.map +1 -0
- package/dist/transports/http.d.ts +10 -0
- package/dist/transports/http.d.ts.map +1 -0
- package/dist/transports/http.js +126 -0
- package/dist/transports/http.js.map +1 -0
- package/dist/transports/stdio.d.ts +8 -0
- package/dist/transports/stdio.d.ts.map +1 -0
- package/dist/transports/stdio.js +15 -0
- package/dist/transports/stdio.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"builtAt":"2026-08-06T13:04:19.064Z","apiPrefix":"/api/admin","swaggerHash":"65104a280f83480a","permissions":["menu.create","menu.update","menu.delete","menu.items.add","menu.items.remove","menu.items.changePositions","filter.create","filter.update","filter.delete","filter.items.add","filter.items.remove","filter.items.changePositions","settings.modules.create","settings.modules.update","settings.modules.switching","settings.modules.delete","settings.modules.changePositions","settings.modules.upload","settings.attributesSets.create","settings.attributesSets.update","settings.attributesSets.delete","settings.attributesSets.switching","settings.attributesSets.changePositions","settings.attributes.create","settings.attributes.update","settings.attributes.delete","settings.attributes.changePositions","settings.templates.create","settings.templates.update","settings.templates.delete","settings.templates.changePositions","settings.templatePreview.create","settings.templatePreview.update","settings.templatePreview.delete","settings.templatePreview.changePositions","settings.certs.create","settings.certs.download","settings.certs.delete","settings.tokens.create","settings.tokens.delete","settings.locales.create","settings.locales.update","settings.locales.delete","settings.locales.switching","settings.locales.changePositions","settings.general.update","admins.create","admins.update","admins.updatePermissions","admins.modules","admins.delete","admins.get","admins.changePositions","admins.totalLogout","forms.create","forms.update","forms.delete","forms.data.delete","forms.data.update","blocks.create","blocks.update","blocks.delete","blocks.preview","markers.create","markers.update","markers.delete","pages.create","pages.update","pages.updateBlockAndForms","pages.delete","pages.settings.update","pages.copy","pages.errorStatus.create","pages.errorStatus.delete","pages.changePositions","pages.forms.changePositions","pages.blocks.changePositions","pages.blocks.nested.changePositions","pages.switching","pages.move","catalog.products.create","catalog.products.update","catalog.products.delete","catalog.products.switching","catalog.products.copy","catalog.products.deleteMany","catalog.products.updateCategories","catalog.products.lockPositions","catalog.products.changePositions","catalog.products.outputSettings","catalog.products.filterSearch","catalog.products.editStatus","catalog.products.setTemplate","catalog.products.createRelationTemplate","catalog.products.updateRelationTemplate","catalog.products.deleteRelationTemplate","catalog.status.update","catalog.status.delete","catalog.status.create","catalog.status.changePositions","catalog.products.blocks.changePositions","users.get","users.create","users.update","users.delete","usersAuthProvider.create","usersAuthProvider.update","usersAuthProvider.delete","userGroups.get","userGroups.create","userGroups.update","userGroups.delete","userPermissions.create","userPermissions.update","userPermissions.delete","events.get","events.create","events.update","events.delete","events.setupFirebase","events.emailSettings","orders.storage.create","orders.storage.update","orders.storage.delete","orders.storage.order.update","orders.storage.order.delete","orders.storage.order-status.create","orders.storage.order-status.update","orders.storage.order-status.delete","orders.storage.order-status.changePositions","payments.settings.get","payments.settings.update","payments.accounts.get","payments.accounts.create","payments.accounts.update","payments.accounts.delete","payments.refunds","workflows.get","workflows.update","collections.collection.get","collections.collection.create","collections.collection.update","collections.collection.delete","collections.row.get","collections.row.create","collections.row.update","collections.row.delete","users.export","orders.export","payments.export","discounts.create","discounts.update","discounts.delete","discounts.updatePriority","import.data","import.data.createTemplate","import.data.deleteTemplate","subscriptions.create","subscriptions.update","subscriptions.delete","subscriptions.manage","analytics.read","slides.create","slides.update","slides.delete","slides.switching","slides.changePositions","journal.viewContentApiStats","journal.viewContentApiErrors"],"warnings":["19 admin handler(s) declare a permission but are absent from swagger.json (e.g. AdminFormDataController_updateStatus, AdminImportController_importAttributeSet, AdminImportController_importPages). Regenerate it by booting dnk-back with API_TYPE=/api/admin if the catalog looks incomplete."],"operations":[{"opId":"AdminAiGatewayController_cancelJob","method":"post","path":"/ai-gateway/jobs/{id}/cancel","fullPath":"/api/admin/ai-gateway/jobs/{id}/cancel","tag":"AI Gateway","summary":"Отмена AI-job-а","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"ID job-а","schema":{"type":"number"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaigatewaycontroller_canceljob post /ai-gateway/jobs/{id}/cancel ai gateway отмена ai-job-а "},{"opId":"AdminAiGatewayController_generateWorkflowFunction","method":"post","path":"/ai-gateway/agents/workflow-function/generate","fullPath":"/api/admin/ai-gateway/agents/workflow-function/generate","tag":"AI Gateway","summary":"Запуск генерации кода для function-ноды","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{}},"required":true},"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaigatewaycontroller_generateworkflowfunction post /ai-gateway/agents/workflow-function/generate ai gateway запуск генерации кода для function-ноды "},{"opId":"AdminAiGatewayController_getJob","method":"get","path":"/ai-gateway/jobs/{id}","fullPath":"/api/admin/ai-gateway/jobs/{id}","tag":"AI Gateway","summary":"Получение состояния AI-job-а (polling)","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"ID job-а","schema":{"type":"number"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaigatewaycontroller_getjob get /ai-gateway/jobs/{id} ai gateway получение состояния ai-job-а (polling) "},{"opId":"AdminAiGatewayController_getNodeHistory","method":"get","path":"/ai-gateway/agents/workflow-function/nodes/{nodeId}/history","fullPath":"/api/admin/ai-gateway/agents/workflow-function/nodes/{nodeId}/history","tag":"AI Gateway","summary":"История генераций по function-ноде (keyset-пагинация)","risk":"read","alwaysConfirm":false,"params":[{"name":"nodeId","location":"path","required":true,"description":"ID function-ноды","schema":{"type":"string"}},{"name":"limit","location":"query","required":false,"description":"Размер страницы (1..100, по умолчанию 20)","schema":{"type":"string"}},{"name":"cursor","location":"query","required":false,"description":"id последнего элемента предыдущей страницы","schema":{"type":"string"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaigatewaycontroller_getnodehistory get /ai-gateway/agents/workflow-function/nodes/{nodeid}/history ai gateway история генераций по function-ноде (keyset-пагинация) "},{"opId":"AdminAiSettingsController_createRouter","method":"post","path":"/ai-gateway/routers","fullPath":"/api/admin/ai-gateway/routers","tag":"AI Gateway / settings","summary":"Создать роутер-аккаунт","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"name":{"type":"string","description":"Имя роутера для admin-UI"},"apiKey":{"type":"string","description":"Токен провайдера. Только на запись. Не передавать → не менять; null → удалить ключ; строка → задать новый."},"allowedModels":{"type":"array","description":"Разрешённые пользователям модели (id из каталога роутера).","example":["anthropic/claude-haiku-4.5"],"items":{"type":"string"}},"defaultModel":{"type":"string","example":"anthropic/claude-haiku-4.5"},"tokenLimit":{"type":"number","description":"Лимит токенов; null — снять токен-лимит","example":1000000},"costLimitUsd":{"type":"number","description":"Лимит расходов в USD; null — снять USD-лимит","example":5},"resetTokenUsage":{"type":"boolean","description":"true — обнулить счётчик токенов (сдвигает точку отсчёта)"},"resetCostUsage":{"type":"boolean","description":"true — обнулить счётчик расходов USD"},"providerKey":{"type":"string","example":"openrouter","enum":["openrouter"]},"marker":{"type":"string","description":"Уникальный маркер роутера (выбирается при submit job). Латиница, начинается с буквы, далее буквы/цифры/`_`/`-`.","example":"openrouter-main"}},"required":["providerKey","marker"]},"required":true},"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_createrouter post /ai-gateway/routers ai gateway / settings создать роутер-аккаунт "},{"opId":"AdminAiSettingsController_deleteRouter","method":"delete","path":"/ai-gateway/routers/{marker}","fullPath":"/api/admin/ai-gateway/routers/{marker}","tag":"AI Gateway / settings","summary":"Удалить роутер","risk":"destructive","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"schema":{"type":"string"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_deleterouter delete /ai-gateway/routers/{marker} ai gateway / settings удалить роутер "},{"opId":"AdminAiSettingsController_getCatalog","method":"get","path":"/ai-gateway/catalog","fullPath":"/api/admin/ai-gateway/catalog","tag":"AI Gateway / settings","summary":"Каталог моделей провайдера (для экрана курации)","risk":"read","alwaysConfirm":false,"params":[{"name":"provider","location":"query","required":false,"description":"Ключ провайдера; по умолчанию openrouter","schema":{"type":"string","enum":["openrouter"]}},{"name":"freeOnly","location":"query","required":false,"description":"true — только бесплатные модели","schema":{"type":"string"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_getcatalog get /ai-gateway/catalog ai gateway / settings каталог моделей провайдера (для экрана курации) "},{"opId":"AdminAiSettingsController_getRouter","method":"get","path":"/ai-gateway/routers/{marker}","fullPath":"/api/admin/ai-gateway/routers/{marker}","tag":"AI Gateway / settings","summary":"Один роутер по marker","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"schema":{"type":"string"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_getrouter get /ai-gateway/routers/{marker} ai gateway / settings один роутер по marker "},{"opId":"AdminAiSettingsController_getRouterModels","method":"get","path":"/ai-gateway/routers/{marker}/models","fullPath":"/api/admin/ai-gateway/routers/{marker}/models","tag":"AI Gateway / settings","summary":"Доступные модели роутера (выпадашка)","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"schema":{"type":"string"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_getroutermodels get /ai-gateway/routers/{marker}/models ai gateway / settings доступные модели роутера (выпадашка) "},{"opId":"AdminAiSettingsController_getRouterUsage","method":"get","path":"/ai-gateway/routers/{marker}/usage","fullPath":"/api/admin/ai-gateway/routers/{marker}/usage","tag":"AI Gateway / settings","summary":"Потребление роутера (токены + USD) против лимитов","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"schema":{"type":"string"}}],"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_getrouterusage get /ai-gateway/routers/{marker}/usage ai gateway / settings потребление роутера (токены + usd) против лимитов "},{"opId":"AdminAiSettingsController_listRouters","method":"get","path":"/ai-gateway/routers","fullPath":"/api/admin/ai-gateway/routers","tag":"AI Gateway / settings","summary":"Список роутер-аккаунтов","risk":"read","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"смещение отбора, по умолчанию 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"ограничение отбора, по умолчанию 30","schema":{},"example":30}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_listrouters get /ai-gateway/routers ai gateway / settings список роутер-аккаунтов "},{"opId":"AdminAiSettingsController_updateRouter","method":"put","path":"/ai-gateway/routers/{marker}","fullPath":"/api/admin/ai-gateway/routers/{marker}","tag":"AI Gateway / settings","summary":"Обновить конфиг роутера","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"schema":{"type":"string"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"name":{"type":"string","description":"Имя роутера для admin-UI"},"apiKey":{"type":"string","description":"Токен провайдера. Только на запись. Не передавать → не менять; null → удалить ключ; строка → задать новый."},"allowedModels":{"type":"array","description":"Разрешённые пользователям модели (id из каталога роутера).","example":["anthropic/claude-haiku-4.5"],"items":{"type":"string"}},"defaultModel":{"type":"string","example":"anthropic/claude-haiku-4.5"},"tokenLimit":{"type":"number","description":"Лимит токенов; null — снять токен-лимит","example":1000000},"costLimitUsd":{"type":"number","description":"Лимит расходов в USD; null — снять USD-лимит","example":5},"resetTokenUsage":{"type":"boolean","description":"true — обнулить счётчик токенов (сдвигает точку отсчёта)"},"resetCostUsage":{"type":"boolean","description":"true — обнулить счётчик расходов USD"}}},"required":true},"docLinks":["back/docs/ai-gateway","mcp/operating-rules"],"searchText":"adminaisettingscontroller_updaterouter put /ai-gateway/routers/{marker} ai gateway / settings обновить конфиг роутера "},{"opId":"AdminAnalyticsController_getBlockPerformance","method":"get","path":"/analytics/block-performance","fullPath":"/api/admin/analytics/block-performance","tag":"Analytics","summary":"Производительность блоков за период (STUB в Wave 3 — всегда пустой массив)","permission":"analytics.read","risk":"read","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":false,"description":"Начало периода (YYYY-MM-DD). Включительно.","schema":{"type":"string"},"example":"2026-01-01"},{"name":"to","location":"query","required":false,"description":"Конец периода (YYYY-MM-DD). Включительно.","schema":{"type":"string"},"example":"2026-04-27"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminanalyticscontroller_getblockperformance get /analytics/block-performance analytics производительность блоков за период (stub в wave 3 — всегда пустой массив) analytics.read"},{"opId":"AdminAnalyticsController_getFunnel","method":"get","path":"/analytics/funnel","fullPath":"/api/admin/analytics/funnel","tag":"Analytics","summary":"Воронка (views / add_to_cart / checkout_started / paid) по дням","permission":"analytics.read","risk":"read","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":false,"description":"Начало периода (YYYY-MM-DD). Включительно.","schema":{"type":"string"},"example":"2026-01-01"},{"name":"to","location":"query","required":false,"description":"Конец периода (YYYY-MM-DD). Включительно.","schema":{"type":"string"},"example":"2026-04-27"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminanalyticscontroller_getfunnel get /analytics/funnel analytics воронка (views / add_to_cart / checkout_started / paid) по дням analytics.read"},{"opId":"AdminAnalyticsController_getSearchNoResults","method":"get","path":"/analytics/search-no-results","fullPath":"/api/admin/analytics/search-no-results","tag":"Analytics","summary":"Топ поисковых запросов БЕЗ результатов (resultsCount=0)","permission":"analytics.read","risk":"read","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":false,"description":"Начало периода (YYYY-MM-DD)","schema":{"type":"string"},"example":"2026-01-01"},{"name":"to","location":"query","required":false,"description":"Конец периода (YYYY-MM-DD)","schema":{"type":"string"},"example":"2026-04-27"},{"name":"limit","location":"query","required":false,"description":"Максимум записей в ответе (>=1, default 50; верхняя граница 100 clamp-ится в сервисе)","schema":{"type":"number"},"example":50}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminanalyticscontroller_getsearchnoresults get /analytics/search-no-results analytics топ поисковых запросов без результатов (resultscount=0) analytics.read"},{"opId":"AdminAnalyticsController_getSearchTop","method":"get","path":"/analytics/search-top","fullPath":"/api/admin/analytics/search-top","tag":"Analytics","summary":"Топ всех поисковых запросов за период","permission":"analytics.read","risk":"read","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":false,"description":"Начало периода (YYYY-MM-DD)","schema":{"type":"string"},"example":"2026-01-01"},{"name":"to","location":"query","required":false,"description":"Конец периода (YYYY-MM-DD)","schema":{"type":"string"},"example":"2026-04-27"},{"name":"limit","location":"query","required":false,"description":"Максимум записей в ответе (>=1, default 50; верхняя граница 100 clamp-ится в сервисе)","schema":{"type":"number"},"example":50}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminanalyticscontroller_getsearchtop get /analytics/search-top analytics топ всех поисковых запросов за период analytics.read"},{"opId":"AdminAnalyticsController_getSegmentsDistribution","method":"get","path":"/analytics/segments-distribution","fullPath":"/api/admin/analytics/segments-distribution","tag":"Analytics","summary":"Распределение юзеров по сегментам (UNNEST user_segments.segments)","permission":"analytics.read","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminanalyticscontroller_getsegmentsdistribution get /analytics/segments-distribution analytics распределение юзеров по сегментам (unnest user_segments.segments) analytics.read"},{"opId":"AdminAnalyticsController_getTopNotBuying","method":"get","path":"/analytics/top-not-buying","fullPath":"/api/admin/analytics/top-not-buying","tag":"Analytics","summary":"Товары с большим трафиком и низкой конверсией (views_30d ≥ minViews AND conversion ≤ maxConversion)","permission":"analytics.read","risk":"read","alwaysConfirm":false,"params":[{"name":"minViews","location":"query","required":false,"description":"Минимальное число просмотров за 30 дней","schema":{"type":"number"},"example":100},{"name":"maxConversion","location":"query","required":false,"description":"Максимальная допустимая конверсия (доля 0..1). 0.02 = 2%.","schema":{"type":"number"},"example":0.02},{"name":"limit","location":"query","required":false,"description":"Максимум товаров в ответе (>=1, default 50; верхняя граница 100 clamp-ится в сервисе)","schema":{"type":"number"},"example":50}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminanalyticscontroller_gettopnotbuying get /analytics/top-not-buying analytics товары с большим трафиком и низкой конверсией (views_30d ≥ minviews and conversion ≤ maxconversion) analytics.read"},{"opId":"AdminAttributesSetsController_copyValues","method":"post","path":"/attributes-sets/{id}/copy-values","fullPath":"/api/admin/attributes-sets/{id}/copy-values","tag":"Attributes Sets","summary":"Копирование значений атрибутов набора между языками (сценарий 2)","permission":"settings.attributesSets.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"},"example":42}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"sourceLang":{"type":"string","description":"Исходный код языка (откуда копируем)","example":"en_US"},"targetLangs":{"type":"array","description":"Коды целевых языков (куда копируем)","example":["de_DE","fr_FR"],"items":{"type":"string"}},"attributeIdentifiers":{"type":"array","description":"Идентификаторы атрибутов (ключи в schema набора), которые нужно копировать","example":["title","description"],"items":{"type":"string"}},"overwriteMode":{"type":"string","description":"Режим перезаписи: force — затирает существующие значения, skip_non_empty — пишет только в пустые","example":"force","enum":["force","skip_non_empty"]},"localizeInfoKeys":{"type":"array","description":"Ключи localizeInfos для копирования (title, description и т.д.). Если не передано или пустой массив — копируются все ключи (обратная совместимость).","example":["title","plainContent"],"items":{"type":"string"}}},"required":["sourceLang","targetLangs","attributeIdentifiers","overwriteMode"]},"required":true},"responseSummary":"{mode:\"sync\",updated} при ≤ COPY_VALUES_SYNC_THRESHOLD consumers, иначе {mode:\"queued\",jobId}","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_copyvalues post /attributes-sets/{id}/copy-values attributes sets копирование значений атрибутов набора между языками (сценарий 2) settings.attributessets.update"},{"opId":"AdminAttributesSetsController_create","method":"post","path":"/attributes-sets","fullPath":"/api/admin/attributes-sets","tag":"Attributes Sets","summary":"Создание объекта набора атрибутов","permission":"settings.attributesSets.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"typeId":{"type":"number","description":"идентификтор типа для атрибута"},"title":{"type":"string","description":"название","example":"Мой набор"},"schema":{"type":"object","description":"схема набора (состав)","example":{"attribute1":{"id":1,"type":"string","isPrice":false,"original":true,"identifier":1,"localizeInfos":{"en_US":{"title":"Ид"}}}}},"isVisible":{"type":"boolean","description":"значение видимости"},"hash":{"type":"string","description":"уникальное значение для набора атрибута (хэш набора атрибута)"},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"properties":{"type":"object","description":"Дополнительные свойства набора"}},"required":["typeId","title","schema","isVisible","hash","identifier","properties"]},"required":true},"responseSummary":"Возвращает объект AdminPositionAttributesSetDto - созданный набор атрибутов (для обращения необходимо наличие разрешения \"settings.attributesSets.create\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_create post /attributes-sets attributes sets создание объекта набора атрибутов settings.attributessets.create"},{"opId":"AdminAttributesSetsController_findAll","method":"get","path":"/attributes-sets","fullPath":"/api/admin/attributes-sets","tag":"Attributes Sets","summary":"Получение всех объектов наборов атрибутов","risk":"read","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{"type":"number"},"example":0},{"name":"typeId","location":"query","required":false,"description":"идентификатор типа набора атрибутов","schema":{},"example":null},{"name":"sortBy","location":"query","required":false,"description":"ключ для сортировки","schema":{},"example":"id"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_findall get /attributes-sets attributes sets получение всех объектов наборов атрибутов "},{"opId":"AdminAttributesSetsController_findOne","method":"get","path":"/attributes-sets/{id}","fullPath":"/api/admin/attributes-sets/{id}","tag":"Attributes Sets","summary":"Получение одного объекта набора атрибутов","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта набора атрибутов","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает один объект набора атрибутов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_findone get /attributes-sets/{id} attributes sets получение одного объекта набора атрибутов "},{"opId":"AdminAttributesSetsController_getAllAttributesFromAllAttributeSets","method":"get","path":"/attributes-sets/all-attributes","fullPath":"/api/admin/attributes-sets/all-attributes","tag":"Attributes Sets","summary":"Получение всех атрибутов, содержащихся во всех наборах атрибутов","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает маасив объектов AttributeInSetShortDto","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_getallattributesfromallattributesets get /attributes-sets/all-attributes attributes sets получение всех атрибутов, содержащихся во всех наборах атрибутов "},{"opId":"AdminAttributesSetsController_getAllAttributesFromAttributeSet","method":"get","path":"/attributes-sets/{marker}/attributes","fullPath":"/api/admin/attributes-sets/{marker}/attributes","tag":"Attributes Sets","summary":"Получение всех атрибутов с данными из набора атрибутов","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор (маркер) набора атрибутов","schema":{"type":"string"},"example":"form"}],"responseSummary":"Возвращает маасив объектов AttributeInSetDto","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_getallattributesfromattributeset get /attributes-sets/{marker}/attributes attributes sets получение всех атрибутов с данными из набора атрибутов "},{"opId":"AdminAttributesSetsController_getAttributeFromAttributeSet","method":"get","path":"/attributes-sets/{marker}/attributes/{attributeMarker}","fullPath":"/api/admin/attributes-sets/{marker}/attributes/{attributeMarker}","tag":"Attributes Sets","summary":"Получение одного атрибута с данными из набора атрибутов","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"attributeMarker","location":"path","required":true,"description":"текстовый идентификатор (маркер) атрибута в наборе","schema":{"type":"string"},"example":"list1"},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор (маркер) набора атрибутов","schema":{"type":"string"},"example":"form"}],"responseSummary":"Возвращает объект AttributeInSetDto","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_getattributefromattributeset get /attributes-sets/{marker}/attributes/{attributemarker} attributes sets получение одного атрибута с данными из набора атрибутов "},{"opId":"AdminAttributesSetsController_getCopyValuesStatus","method":"get","path":"/attributes-sets/copy-values/status/{jobId}","fullPath":"/api/admin/attributes-sets/copy-values/status/{jobId}","tag":"Attributes Sets","summary":"Получение статуса Bull job копирования значений атрибутов","permission":"settings.attributesSets.update","risk":"read","alwaysConfirm":false,"params":[{"name":"jobId","location":"path","required":true,"schema":{"type":"string"},"example":"attributes-sets:copy-values:42:1712945600000"}],"docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_getcopyvaluesstatus get /attributes-sets/copy-values/status/{jobid} attributes sets получение статуса bull job копирования значений атрибутов settings.attributessets.update"},{"opId":"AdminAttributesSetsController_getLocalizeInfoSchema","method":"get","path":"/attributes-sets/{id}/localize-info-schema","fullPath":"/api/admin/attributes-sets/{id}/localize-info-schema","tag":"Attributes Sets","summary":"Получение схемы ключей localizeInfos consumer-сущностей для набора атрибутов","permission":"settings.attributesSets.update","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"},"example":42}],"docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_getlocalizeinfoschema get /attributes-sets/{id}/localize-info-schema attributes sets получение схемы ключей localizeinfos consumer-сущностей для набора атрибутов settings.attributessets.update"},{"opId":"AdminAttributesSetsController_getUsage","method":"get","path":"/attributes-sets/{id}/usage","fullPath":"/api/admin/attributes-sets/{id}/usage","tag":"Attributes Sets","summary":"Детализация использования набора атрибутов (где используется)","permission":"settings.attributesSets.delete","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"},"example":42},{"name":"langCode","location":"query","required":false,"schema":{"type":"string"},"example":"en_US"}],"docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_getusage get /attributes-sets/{id}/usage attributes sets детализация использования набора атрибутов (где используется) settings.attributessets.delete"},{"opId":"AdminAttributesSetsController_logCopyEntity","method":"post","path":"/attributes-sets/log-copy-entity","fullPath":"/api/admin/attributes-sets/log-copy-entity","tag":"Attributes Sets","summary":"Журналирование операции копирования значений внутри одной сущности (сценарий 1)","permission":"settings.attributesSets.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"entityType":{"type":"string","description":"Тип сущности (products, pages, blocks, discounts и т.д.)","example":"products"},"entityId":{"type":"number","description":"Идентификатор сущности","example":42},"sourceLang":{"type":"string","description":"Исходный код языка (откуда копировали)","example":"en_US"},"targetLangs":{"type":"array","description":"Коды целевых языков (куда копировали)","example":["de_DE","fr_FR"],"items":{"type":"string"}},"overwriteMode":{"type":"string","description":"Режим перезаписи","example":"force","enum":["force","skip_non_empty"]}},"required":["entityType","entityId","sourceLang","targetLangs","overwriteMode"]},"required":true},"docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_logcopyentity post /attributes-sets/log-copy-entity attributes sets журналирование операции копирования значений внутри одной сущности (сценарий 1) settings.attributessets.update"},{"opId":"AdminAttributesSetsController_remove","method":"delete","path":"/attributes-sets/{id}","fullPath":"/api/admin/attributes-sets/{id}","tag":"Attributes Sets","summary":"Удаление одного объекта набора атрибутов","permission":"settings.attributesSets.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор удаляемого объекта набора атрибутов","schema":{"type":"number"}}],"responseSummary":"Возвращает значение <Record<string, string | boolean> с ключом result=true (в случае успешного удаления) или с ключом result=false (в случае неуспешного удаления) и ключом message - причиной неуспешного удаления (для обращения необходимо наличие разрешения \"settings.attributesSets.delete\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_remove delete /attributes-sets/{id} attributes sets удаление одного объекта набора атрибутов settings.attributessets.delete"},{"opId":"AdminAttributesSetsController_setAdminVisibility","method":"put","path":"/attributes-sets/{id}/change-visibility","fullPath":"/api/admin/attributes-sets/{id}/change-visibility","tag":"Attributes Sets","summary":"Изменение видимости объекта набора атрибутов","permission":"settings.attributesSets.switching","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта для изменения","schema":{"type":"number"},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_setadminvisibility put /attributes-sets/{id}/change-visibility attributes sets изменение видимости объекта набора атрибутов settings.attributessets.switching"},{"opId":"AdminAttributesSetsController_update","method":"put","path":"/attributes-sets/{id}","fullPath":"/api/admin/attributes-sets/{id}","tag":"Attributes Sets","summary":"Обновление одного объекта набора атрибутов","permission":"settings.attributesSets.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта набора атрибутов","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"typeId":{"type":"number","description":"идентификтор типа для атрибута"},"title":{"type":"string","description":"название","example":"Мой набор"},"schema":{"type":"object","description":"схема набора (состав)","example":{"attribute1":{"id":1,"type":"string","isPrice":false,"original":true,"identifier":1,"localizeInfos":{"en_US":{"title":"Ид"}}}}},"isVisible":{"type":"boolean","description":"значение видимости"},"hash":{"type":"string","description":"уникальное значение для набора атрибута (хэш набора атрибута)"},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"properties":{"type":"object","description":"Дополнительные свойства набора"},"id":{"type":"number","description":"идентификатор набора атрибутов"}},"required":["id"]},"required":true},"responseSummary":"Возвращает значение true (в случае успешного обновления) или false (в случае неуспешного) (для обращения необходимо наличие разрешения \"settings.attributesSets.update\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_update put /attributes-sets/{id} attributes sets обновление одного объекта набора атрибутов settings.attributessets.update"},{"opId":"AdminAttributesSetsController_updateAttributeSetPosition","method":"put","path":"/attributes-sets/{id}/position","fullPath":"/api/admin/attributes-sets/{id}/position","tag":"Attributes Sets","summary":"Обновление позиции у одного объекта набора атрибутов","permission":"settings.attributesSets.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор набора атрибутов","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект AdminPositionAttributesSetDto с новой позицией","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_updateattributesetposition put /attributes-sets/{id}/position attributes sets обновление позиции у одного объекта набора атрибутов settings.attributessets.changepositions"},{"opId":"AdminAttributesSetsController_updateSchema","method":"put","path":"/attributes-sets/{id}/schema","fullPath":"/api/admin/attributes-sets/{id}/schema","tag":"Attributes Sets","summary":"Обновление схемы атрибутов для одного объекта набора атрибутов","permission":"settings.attributes.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта набора атрибутов","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает значение true (в случае успешного обновления) или false (в случае неуспешного) (для обращения необходимо наличие разрешения \"settings.attributesSets.update\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_updateschema put /attributes-sets/{id}/schema attributes sets обновление схемы атрибутов для одного объекта набора атрибутов settings.attributes.changepositions"},{"opId":"AdminAttributesSetsController_validateMarker","method":"get","path":"/attributes-sets/marker-validation/{marker}","fullPath":"/api/admin/attributes-sets/marker-validation/{marker}","tag":"Attributes Sets","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_validatemarker get /attributes-sets/marker-validation/{marker} attributes sets проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminAttributesSetsController_validateSchemaMarker","method":"get","path":"/attributes-sets/schema/marker-validation/{marker}","fullPath":"/api/admin/attributes-sets/schema/marker-validation/{marker}","tag":"Attributes Sets","summary":"Проверка текстового идентификатора (маркера) на существование (для схемы набора)","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект AttributesSetsSchema схемы атрибутов, используемых в наборе если текстовый идентификатор (маркера) существует или undefined если нет","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/attribute-indexing","back/tests/attributes-sets-e2e","mcp/operating-rules"],"searchText":"adminattributessetscontroller_validateschemamarker get /attributes-sets/schema/marker-validation/{marker} attributes sets проверка текстового идентификатора (маркера) на существование (для схемы набора) "},{"opId":"AdminBlocksController_create","method":"post","path":"/blocks","fullPath":"/api/admin/blocks","tag":"Blocks","summary":"Создание объекта блока","permission":"blocks.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"generalTypeId":{"type":"number","description":"идентификатор типа","example":4},"identifier":{"type":"string","description":"текстовый идентификатор","example":"catalog"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"json описание (в основном название) набора атрибутов с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Блок для страниц"}}},"images":{"type":"array","description":"массив адресов картинок для слайдера","items":{"type":"string"}},"customSettings":{"type":"object","description":"индивидуальные настройки для разных типов блоков"},"productCategoryIds":{"type":"array","description":"идентификаторы страниц категорий откуда могут браться товары","example":[1,2,3],"items":{"type":"number"}}},"required":["generalTypeId","identifier","localizeInfos"]},"required":true},"responseSummary":"Возвращает созданный объект BlockEntity (для обращения необходимо наличие разрешения \"blocks.create\")","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_create post /blocks blocks создание объекта блока blocks.create"},{"opId":"AdminBlocksController_findAll","method":"get","path":"/blocks","fullPath":"/api/admin/blocks","tag":"Blocks","summary":"Получение всех объектов блоков","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":false,"description":"тип блока (опционально)","schema":{"type":"string","enum":["common_page","error_page","catalog_page","product","product_preview","common_block","product_block","similar_products_block","form","order","Service","external_page","discount","frequently_ordered_block","trending_block","recently_viewed_block","repeat_purchase_block","slider_block","personal_recommendations_block","cart_complement_block","cart_similar_block","wishlist_similar_block"]},"example":"form"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findall get /blocks blocks получение всех объектов блоков "},{"opId":"AdminBlocksController_findAllBlocksConsumers","method":"get","path":"/blocks/{marker}/consumers","fullPath":"/api/admin/blocks/{marker}/consumers","tag":"Blocks","summary":"Получение объектов блоков с информацией об их привязке","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":false,"description":"тип блока (опционально)","schema":{"type":"string","enum":["common_page","error_page","catalog_page","product","product_preview","common_block","product_block","similar_products_block","form","order","Service","external_page","discount","frequently_ordered_block","trending_block","recently_viewed_block","repeat_purchase_block","slider_block","personal_recommendations_block","cart_complement_block","cart_similar_block","wishlist_similar_block"]},"example":"form"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findallblocksconsumers get /blocks/{marker}/consumers blocks получение объектов блоков с информацией об их привязке "},{"opId":"AdminBlocksController_findAllByName","method":"get","path":"/blocks/quick/search","fullPath":"/api/admin/blocks/quick/search","tag":"Blocks","summary":"Быстрый поиск для объектов блоков с ограниченным выводом","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"name","location":"query","required":true,"description":"текст для поиска объектов блоков (поиск осуществляется по полю title объекта localizeInfos с учетом языка)","schema":{"type":"string"},"example":"заголовок"}],"responseSummary":"Возвращает массив объектов SearchBlockDto","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findallbyname get /blocks/quick/search blocks быстрый поиск для объектов блоков с ограниченным выводом "},{"opId":"AdminBlocksController_findCartComplementProducts","method":"get","path":"/blocks/{marker}/cart-complement","fullPath":"/api/admin/blocks/{marker}/cart-complement","tag":"Blocks","summary":"Получение товаров «дополни корзину» по корзине из контекста (auth-user или гость по X-Guest-Id)","risk":"read","alwaysConfirm":false,"params":[{"name":"x-guest-id","location":"header","required":false,"description":"Идентификатор гостя для чтения cart-снапшота из Redis. Игнорируется, если пришёл валидный Authorization Bearer.","schema":{"type":"string"}},{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-cart-complement-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findcartcomplementproducts get /blocks/{marker}/cart-complement blocks получение товаров «дополни корзину» по корзине из контекста (auth-user или гость по x-guest-id) "},{"opId":"AdminBlocksController_findCartComplementProductsByBody","method":"post","path":"/blocks/{marker}/cart-complement","fullPath":"/api/admin/blocks/{marker}/cart-complement","tag":"Blocks","summary":"Получение товаров «дополни корзину» по явному списку productIds (POST body) — для third-party-сторов или preview-режима","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-cart-complement-block"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"productIds":{"type":"array","description":"Список ID товаров корзины. Дубликаты схлопываются на стороне сервиса; при длине > 50 → 400. Все ID должны быть положительными целыми.","example":[101,102,103],"items":{"type":"number"}},"langCode":{"type":"string","description":"Код языка в формате IETF underscored (например, en_US).","example":"en_US"},"limit":{"type":"number","description":"Override на лимит выдачи. Если не указан — используется cartDrivenConfig.limit (или CART_DRIVEN_DEFAULTS.limit=12).","example":12},"signPrice":{"type":"string","description":"Маркер хранилища заказов для фиксации цены.","example":"orders_storage"}},"required":["productIds","langCode"]},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findcartcomplementproductsbybody post /blocks/{marker}/cart-complement blocks получение товаров «дополни корзину» по явному списку productids (post body) — для third-party-сторов или preview-режима "},{"opId":"AdminBlocksController_findCartSimilarProducts","method":"get","path":"/blocks/{marker}/cart-similar","fullPath":"/api/admin/blocks/{marker}/cart-similar","tag":"Blocks","summary":"Получение товаров «похожие на корзину» по корзине из контекста (auth-user или гость по X-Guest-Id)","risk":"read","alwaysConfirm":false,"params":[{"name":"X-Guest-Id","location":"header","required":false,"description":"Идентификатор гостя для чтения cart-снапшота из Redis. Игнорируется, если пришёл валидный Authorization Bearer.","schema":{"type":"string"}},{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-cart-similar-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findcartsimilarproducts get /blocks/{marker}/cart-similar blocks получение товаров «похожие на корзину» по корзине из контекста (auth-user или гость по x-guest-id) "},{"opId":"AdminBlocksController_findCartSimilarProductsByBody","method":"post","path":"/blocks/{marker}/cart-similar","fullPath":"/api/admin/blocks/{marker}/cart-similar","tag":"Blocks","summary":"Получение товаров «похожие на корзину» по явному списку productIds (POST body) — для third-party-сторов или preview-режима","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-cart-similar-block"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"productIds":{"type":"array","description":"Список ID товаров корзины. Дубликаты схлопываются на стороне сервиса; при длине > 50 → 400. Все ID должны быть положительными целыми.","example":[101,102,103],"items":{"type":"number"}},"langCode":{"type":"string","description":"Код языка в формате IETF underscored (например, en_US).","example":"en_US"},"limit":{"type":"number","description":"Override на лимит выдачи. Если не указан — используется cartDrivenConfig.limit (или CART_DRIVEN_DEFAULTS.limit=12).","example":12},"signPrice":{"type":"string","description":"Маркер хранилища заказов для фиксации цены.","example":"orders_storage"}},"required":["productIds","langCode"]},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findcartsimilarproductsbybody post /blocks/{marker}/cart-similar blocks получение товаров «похожие на корзину» по явному списку productids (post body) — для third-party-сторов или preview-режима "},{"opId":"AdminBlocksController_findFrequentlyOrderedProducts","method":"get","path":"/blocks/{marker}/products/{productId}/frequently-ordered","fullPath":"/api/admin/blocks/{marker}/products/{productId}/frequently-ordered","tag":"Blocks","summary":"Получение часто заказываемых товаров (вместе с указанным товаром)","risk":"read","alwaysConfirm":false,"params":[{"name":"productId","location":"path","required":true,"description":"идентификатор товара","schema":{"type":"number"},"example":1},{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-freq-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findfrequentlyorderedproducts get /blocks/{marker}/products/{productid}/frequently-ordered blocks получение часто заказываемых товаров (вместе с указанным товаром) "},{"opId":"AdminBlocksController_findOne","method":"get","path":"/blocks/{id}","fullPath":"/api/admin/blocks/{id}","tag":"Blocks","summary":"Получение одного объекта блока","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{},"example":1}],"responseSummary":"Возвращает один объект формы AdminIndexedBlockDto","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findone get /blocks/{id} blocks получение одного объекта блока "},{"opId":"AdminBlocksController_findOneByMarker","method":"get","path":"/blocks/marker/{marker}","fullPath":"/api/admin/blocks/marker/{marker}","tag":"Blocks","summary":"Получение одного объекта блока по маркеру","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"маркер объекта блока","schema":{"type":"string"},"example":"my-block"}],"responseSummary":"Возвращает объект ContentIndexedBlockDto","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findonebymarker get /blocks/marker/{marker} blocks получение одного объекта блока по маркеру "},{"opId":"AdminBlocksController_findPersonalRecommendationsProducts","method":"get","path":"/blocks/{marker}/personal-recommendations","fullPath":"/api/admin/blocks/{marker}/personal-recommendations","tag":"Blocks","summary":"Получение персональных рекомендаций для пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-personal-recommendations-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findpersonalrecommendationsproducts get /blocks/{marker}/personal-recommendations blocks получение персональных рекомендаций для пользователя "},{"opId":"AdminBlocksController_findProductsForBlock","method":"get","path":"/blocks/{marker}/similar-products","fullPath":"/api/admin/blocks/{marker}/similar-products","tag":"Blocks","summary":"Получение похожих товаров (по условиям в блоке), привязанных к блоку (пагинация берется из настроек блока)","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"sortOrder","location":"query","required":false,"description":"порядок сортировки DESC | ASC (по умолчанию DESC)","schema":{"type":"string","enum":["ASC","DESC"]},"example":"DESC"},{"name":"sortKey","location":"query","required":false,"description":"поле для сортировки (по умолчанию не задан - сортировка по позиции, возможные значения: id, title, date, price, position)","schema":{"type":"string","enum":["id","position","title","date","price","status"]},"example":"id"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findproductsforblock get /blocks/{marker}/similar-products blocks получение похожих товаров (по условиям в блоке), привязанных к блоку (пагинация берется из настроек блока) "},{"opId":"AdminBlocksController_findProductsForBlockFromCategories","method":"get","path":"/blocks/{marker}/products","fullPath":"/api/admin/blocks/{marker}/products","tag":"Blocks","summary":"Получение товаров из категорий, привязанных к блоку","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findproductsforblockfromcategories get /blocks/{marker}/products blocks получение товаров из категорий, привязанных к блоку "},{"opId":"AdminBlocksController_findRecentlyViewedProducts","method":"get","path":"/blocks/{marker}/recently-viewed","fullPath":"/api/admin/blocks/{marker}/recently-viewed","tag":"Blocks","summary":"Получение недавно просмотренных товаров","risk":"read","alwaysConfirm":false,"params":[{"name":"x-guest-id","location":"header","required":true,"schema":{"type":"string"}},{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-recently-viewed-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findrecentlyviewedproducts get /blocks/{marker}/recently-viewed blocks получение недавно просмотренных товаров "},{"opId":"AdminBlocksController_findRepeatPurchaseProducts","method":"get","path":"/blocks/{marker}/repeat-purchase","fullPath":"/api/admin/blocks/{marker}/repeat-purchase","tag":"Blocks","summary":"Получение товаров для повторной покупки","risk":"read","alwaysConfirm":false,"params":[{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-repeat-purchase-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findrepeatpurchaseproducts get /blocks/{marker}/repeat-purchase blocks получение товаров для повторной покупки "},{"opId":"AdminBlocksController_findTrendingProducts","method":"get","path":"/blocks/{marker}/trending","fullPath":"/api/admin/blocks/{marker}/trending","tag":"Blocks","summary":"Получение трендовых товаров блока","risk":"read","alwaysConfirm":false,"params":[{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-trending-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findtrendingproducts get /blocks/{marker}/trending blocks получение трендовых товаров блока "},{"opId":"AdminBlocksController_findWishlistSimilarProducts","method":"get","path":"/blocks/{marker}/wishlist-similar","fullPath":"/api/admin/blocks/{marker}/wishlist-similar","tag":"Blocks","summary":"Получение товаров «похожие на wishlist» по wishlist из контекста (auth-user или гость по X-Guest-Id)","risk":"read","alwaysConfirm":false,"params":[{"name":"X-Guest-Id","location":"header","required":false,"description":"Идентификатор гостя для чтения wishlist-снапшота из Redis. Игнорируется, если пришёл валидный Authorization Bearer.","schema":{"type":"string"}},{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-wishlist-similar-block"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findwishlistsimilarproducts get /blocks/{marker}/wishlist-similar blocks получение товаров «похожие на wishlist» по wishlist из контекста (auth-user или гость по x-guest-id) "},{"opId":"AdminBlocksController_findWishlistSimilarProductsByBody","method":"post","path":"/blocks/{marker}/wishlist-similar","fullPath":"/api/admin/blocks/{marker}/wishlist-similar","tag":"Blocks","summary":"Получение товаров «похожие на wishlist» по явному списку productIds (POST body) — для third-party-сторов или preview-режима","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый маркер объекта блока","schema":{"type":"string"},"example":"my-wishlist-similar-block"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"productIds":{"type":"array","description":"Список ID товаров wishlist. Дубликаты схлопываются на стороне сервиса; при длине > 50 → 400. Все ID должны быть положительными целыми.","example":[201,202,203],"items":{"type":"number"}},"langCode":{"type":"string","description":"Код языка в формате IETF underscored (например, en_US).","example":"en_US"},"limit":{"type":"number","description":"Override на лимит выдачи. Если не указан — используется cartDrivenConfig.limit (или CART_DRIVEN_DEFAULTS.limit=12).","example":12},"signPrice":{"type":"string","description":"Маркер хранилища заказов для фиксации цены.","example":"orders_storage"}},"required":["productIds","langCode"]},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_findwishlistsimilarproductsbybody post /blocks/{marker}/wishlist-similar blocks получение товаров «похожие на wishlist» по явному списку productids (post body) — для third-party-сторов или preview-режима "},{"opId":"AdminBlocksController_getSlides","method":"get","path":"/blocks/{marker}/slides","fullPath":"/api/admin/blocks/{marker}/slides","tag":"Blocks","summary":"Получение дерева слайдов блока в виде flat pre-order массива (только для blocks типа slider_block)","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый маркер блока","schema":{"type":"string"},"example":"my-slider"}],"responseSummary":"Возвращает объект ContentSlidesResponseDto","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_getslides get /blocks/{marker}/slides blocks получение дерева слайдов блока в виде flat pre-order массива (только для blocks типа slider_block) "},{"opId":"AdminBlocksController_previewBlock","method":"get","path":"/blocks/{id}/preview","fullPath":"/api/admin/blocks/{id}/preview","tag":"Blocks","summary":"Превью блока: показывает товары, которые увидит пользователь для заданного тестового контекста (admin-only, read-only). Поддерживает audience-фильтр и overrides: simulatedUserId / ageOverride / userAttributeOverride. Не журналируется, не пишет в БД.","permission":"blocks.preview","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка (используется для атрибутов и условий блока)","schema":{"type":"string"},"example":"en_US"},{"name":"targetProductId","location":"query","required":false,"description":"тестовый productId для блоков, требующих контекст товара (similar_products_block, frequently_ordered_block)","schema":{"type":"number"},"example":1},{"name":"simulatedUserId","location":"query","required":false,"description":"тестовый userId — admin \"прикидывается\" пользователем для проверки audience-фильтра","schema":{"type":"number"},"example":42},{"name":"ageOverride","location":"query","required":false,"description":"тестовый возраст (полные годы) для проверки ageRange-фильтра без реального пользователя","schema":{"type":"number"},"example":25},{"name":"userAttributeOverride","location":"query","required":false,"description":"тестовое значение user-атрибута в формате \"key=value\" (пример: \"gender=male\") — для проверки attribute-фильтра","schema":{"type":"string"},"example":"gender=male"},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей (max: 200)","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей","schema":{"type":"number"},"example":0},{"name":"cartProductIds","location":"query","required":false,"description":"тестовый список productId в \"корзине\" (CSV, до 50 значений) — для блоков cart_complement_block / cart_similar_block","schema":{"type":"string"},"example":"1,2,3"},{"name":"wishlistProductIds","location":"query","required":false,"description":"тестовый список productId в \"wishlist\" (CSV, до 50 значений) — для блока wishlist_similar_block","schema":{"type":"string"},"example":"1,2,3"},{"name":"id","location":"path","required":true,"description":"идентификатор блока","schema":{},"example":1}],"responseSummary":"Возвращает объект BlockPreviewResponseDto","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_previewblock get /blocks/{id}/preview blocks превью блока: показывает товары, которые увидит пользователь для заданного тестового контекста (admin-only, read-only). поддерживает audience-фильтр и overrides: simulateduserid / ageoverride / userattributeoverride. не журналируется, не пишет в бд. blocks.preview"},{"opId":"AdminBlocksController_remove","method":"delete","path":"/blocks/{id}","fullPath":"/api/admin/blocks/{id}","tag":"Blocks","summary":"Удаление объекта блока","permission":"blocks.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта блока","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"blocks.delete\")","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_remove delete /blocks/{id} blocks удаление объекта блока blocks.delete"},{"opId":"AdminBlocksController_setVisibility","method":"put","path":"/blocks/{blockId}/similar-products/{productId}/change-visibility","fullPath":"/api/admin/blocks/{blockId}/similar-products/{productId}/change-visibility","tag":"Blocks","summary":"Изменение видимости объекта товара, привязанного к блоку","risk":"write","alwaysConfirm":false,"params":[{"name":"blockId","location":"path","required":true,"description":"идентификатор объекта блока","schema":{"type":"number"},"example":2},{"name":"productId","location":"path","required":true,"description":"идентификатор объекта товара","schema":{"type":"number"},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_setvisibility put /blocks/{blockid}/similar-products/{productid}/change-visibility blocks изменение видимости объекта товара, привязанного к блоку "},{"opId":"AdminBlocksController_update","method":"put","path":"/blocks/{id}","fullPath":"/api/admin/blocks/{id}","tag":"Blocks","summary":"Обновление объекта блока","permission":"blocks.update","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта блока","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"generalTypeId":{"type":"number","description":"идентификатор типа","example":4},"identifier":{"type":"string","description":"текстовый идентификатор","example":"catalog"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"json описание (в основном название) набора атрибутов с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Блок для страниц"}}},"images":{"type":"array","description":"массив адресов картинок для слайдера","items":{"type":"string"}},"customSettings":{"type":"object","description":"индивидуальные настройки для разных типов блоков"},"productCategoryIds":{"type":"array","description":"идентификаторы страниц категорий откуда могут браться товары","example":[1,2,3],"items":{"type":"number"}}}},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"blocks.update\")","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_update put /blocks/{id} blocks обновление объекта блока blocks.update"},{"opId":"AdminBlocksController_validateMarker","method":"get","path":"/blocks/marker-validation/{marker}","fullPath":"/api/admin/blocks/marker-validation/{marker}","tag":"Blocks","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/blocks-module","mcp/operating-rules"],"searchText":"adminblockscontroller_validatemarker get /blocks/marker-validation/{marker} blocks проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminCollectionsController_create","method":"post","path":"/integration-collections","fullPath":"/api/admin/integration-collections","tag":"Integration Collections","summary":"Создание коллекции","permission":"collections.collection.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"collection"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название коллекции с учетом локализации","example":{"en_US":{"title":"Коллекция 1"}}}},"required":["identifier","localizeInfos"]},"required":true},"responseSummary":"Возвращает созданный объект CollectionEntity (для обращения необходимо наличие разрешения \"collections.collection.create\")","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_create post /integration-collections integration collections создание коллекции collections.collection.create"},{"opId":"AdminCollectionsController_createCollectionRow","method":"post","path":"/integration-collections/marker/{marker}/rows","fullPath":"/api/admin/integration-collections/marker/{marker}/rows","tag":"Integration Collections","summary":"Создание записи в коллекции","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор коллекции","schema":{"type":"string"},"example":"collection1"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"entityType":{"type":"string","description":"тип записи","example":"orders"},"entityId":{"type":"number","description":"идентификатор записи","example":1},"formIdentifier":{"type":"string","description":"текстовый идентификатор объекта формы, привязанной к хранилищу заказов","example":"collection_form"},"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные отправленные формой, привязянной к коллекции","example":{"en_US":[{"marker":"naimenovanie_1","type":"string","value":"Наименование"}]}}},"required":["formIdentifier"]},"required":true},"responseSummary":"Возвращает объект CreateCollectionRowDto","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_createcollectionrow post /integration-collections/marker/{marker}/rows integration collections создание записи в коллекции "},{"opId":"AdminCollectionsController_findAll","method":"get","path":"/integration-collections","fullPath":"/api/admin/integration-collections","tag":"Integration Collections","summary":"Получение всех коллекций","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает массив объектов CollectionDto","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_findall get /integration-collections integration collections получение всех коллекций "},{"opId":"AdminCollectionsController_findAllRowsByCollectionId","method":"get","path":"/integration-collections/{id}/rows","fullPath":"/api/admin/integration-collections/{id}/rows","tag":"Integration Collections","summary":"Получение всех записей, принадлежащих коллекции","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"entityType","location":"query","required":false,"description":"Тип сущности","schema":{},"example":1},{"name":"entityId","location":"query","required":false,"description":"Идентификатор сущности","schema":{},"example":"orders"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"id","location":"path","required":true,"description":"идентификатор объекта коллекции","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_findallrowsbycollectionid get /integration-collections/{id}/rows integration collections получение всех записей, принадлежащих коллекции "},{"opId":"AdminCollectionsController_findAllRowsByCollectionMarker","method":"get","path":"/integration-collections/marker/{marker}/rows","fullPath":"/api/admin/integration-collections/marker/{marker}/rows","tag":"Integration Collections","summary":"Получение всех записей, принадлежащих коллекции","risk":"read","alwaysConfirm":false,"params":[{"name":"entityType","location":"query","required":false,"description":"Тип сущности","schema":{},"example":1},{"name":"entityId","location":"query","required":false,"description":"Идентификатор сущности","schema":{},"example":"orders"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор коллекции","schema":{"type":"string"},"example":"collection1"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_findallrowsbycollectionmarker get /integration-collections/marker/{marker}/rows integration collections получение всех записей, принадлежащих коллекции "},{"opId":"AdminCollectionsController_findOne","method":"get","path":"/integration-collections/{id}","fullPath":"/api/admin/integration-collections/{id}","tag":"Integration Collections","summary":"Получение одного объекта коллекции","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{},"example":1}],"responseSummary":"Возвращает один объект CollectionDto","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_findone get /integration-collections/{id} integration collections получение одного объекта коллекции "},{"opId":"AdminCollectionsController_findOneRowByCollectionMarkerAndRowId","method":"get","path":"/integration-collections/marker/{marker}/rows/{id}","fullPath":"/api/admin/integration-collections/marker/{marker}/rows/{id}","tag":"Integration Collections","summary":"Получение одной записи из коллекции","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор записи в коллекции","schema":{"type":"number"},"example":12},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор коллекции","schema":{"type":"string"},"example":"collection1"}],"responseSummary":"Возвращает объект CollectionRowEntity","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_findonerowbycollectionmarkerandrowid get /integration-collections/marker/{marker}/rows/{id} integration collections получение одной записи из коллекции "},{"opId":"AdminCollectionsController_remove","method":"delete","path":"/integration-collections/{id}","fullPath":"/api/admin/integration-collections/{id}","tag":"Integration Collections","summary":"Удаление коллекции","permission":"collections.collection.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор коллекции","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"collections.collection.delete\")","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_remove delete /integration-collections/{id} integration collections удаление коллекции collections.collection.delete"},{"opId":"AdminCollectionsController_removeAllRows","method":"delete","path":"/integration-collections/{id}/rows","fullPath":"/api/admin/integration-collections/{id}/rows","tag":"Integration Collections","summary":"Удаление нескольких записей из коллекции","permission":"collections.collection.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор коллекции","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"deleteAll":{"type":"boolean","description":"признак удаления всех данных","example":true},"ids":{"type":"array","description":"числовые идентификаторы удаляемых объектов данных формы","example":"my-form","items":{"type":"number"}}},"required":["deleteAll","ids"]},"required":true},"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"collections.collection.delete\")","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_removeallrows delete /integration-collections/{id}/rows integration collections удаление нескольких записей из коллекции collections.collection.delete"},{"opId":"AdminCollectionsController_removeRow","method":"delete","path":"/integration-collections/{id}/rows/{rowId}","fullPath":"/api/admin/integration-collections/{id}/rows/{rowId}","tag":"Integration Collections","summary":"Удаление объекта записи коллекции","permission":"collections.row.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор коллекции","schema":{"type":"number"},"example":1},{"name":"rowId","location":"path","required":true,"description":"идентификатор объекта записи коллекции","schema":{"type":"number"},"example":2}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"collections.row.delete\")","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_removerow delete /integration-collections/{id}/rows/{rowid} integration collections удаление объекта записи коллекции collections.row.delete"},{"opId":"AdminCollectionsController_removeRowByCollectionMarkerAndRowId","method":"delete","path":"/integration-collections/marker/{marker}/rows/{id}","fullPath":"/api/admin/integration-collections/marker/{marker}/rows/{id}","tag":"Integration Collections","summary":"Удаление объекта записи коллекции","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор записи в коллекции","schema":{"type":"number"},"example":12},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор коллекции","schema":{"type":"string"},"example":"collection1"}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"collections.row.delete\")","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_removerowbycollectionmarkerandrowid delete /integration-collections/marker/{marker}/rows/{id} integration collections удаление объекта записи коллекции "},{"opId":"AdminCollectionsController_update","method":"put","path":"/integration-collections/{id}","fullPath":"/api/admin/integration-collections/{id}","tag":"Integration Collections","summary":"Обновление коллекции","permission":"collections.collection.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"formId":{"type":"number","description":"идентификатор для формы, привязанной к коллекции","example":1},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"collection"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название коллекции с учетом локализации","example":{"en_US":{"title":"Коллекция 1"}}}},"required":["formId","identifier","localizeInfos"]},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"collections.collection.update\")","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_update put /integration-collections/{id} integration collections обновление коллекции collections.collection.update"},{"opId":"AdminCollectionsController_updateCollectionRow","method":"put","path":"/integration-collections/marker/{marker}/rows/{id}","fullPath":"/api/admin/integration-collections/marker/{marker}/rows/{id}","tag":"Integration Collections","summary":"Изменение записи в коллекции","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор записи в коллекции","schema":{"type":"number"},"example":12},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор коллекции","schema":{"type":"string"},"example":"collection1"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"entityType":{"type":"string","description":"тип записи","example":"orders"},"entityId":{"type":"number","description":"идентификатор записи","example":1},"formIdentifier":{"type":"string","description":"текстовый идентификатор объекта формы, привязанной к хранилищу заказов","example":"collection_form"},"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные отправленные формой, привязянной к коллекции","example":{"en_US":[{"marker":"naimenovanie_1","type":"string","value":"Наименование"}]}}},"required":["formIdentifier"]},"required":true},"responseSummary":"Возвращает объект UpdateCollectionRowDto","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_updatecollectionrow put /integration-collections/marker/{marker}/rows/{id} integration collections изменение записи в коллекции "},{"opId":"AdminCollectionsController_validateMarker","method":"get","path":"/integration-collections/marker-validation/{marker}","fullPath":"/api/admin/integration-collections/marker-validation/{marker}","tag":"Integration Collections","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["mcp/operating-rules"],"searchText":"admincollectionscontroller_validatemarker get /integration-collections/marker-validation/{marker} integration collections проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminContentApiErrorsController_clearAll","method":"delete","path":"/journal/content-api-errors","fullPath":"/api/admin/journal/content-api-errors","tag":"Journal","summary":"Очистить весь журнал ошибок Content API (массовое удаление).","permission":"journal.viewContentApiErrors","risk":"destructive","alwaysConfirm":false,"params":[],"responseSummary":"Сколько записей было удалено.","docLinks":["mcp/operating-rules"],"searchText":"admincontentapierrorscontroller_clearall delete /journal/content-api-errors journal очистить весь журнал ошибок content api (массовое удаление). journal.viewcontentapierrors"},{"opId":"AdminContentApiErrorsController_getById","method":"get","path":"/journal/content-api-errors/{id}","fullPath":"/api/admin/journal/content-api-errors/{id}","tag":"Journal","summary":"Детальная карточка ошибки Content API по id.","permission":"journal.viewContentApiErrors","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"Идентификатор записи (PK content_api_errors.id).","schema":{"type":"number"},"example":142}],"responseSummary":"Полная карточка ошибки.","docLinks":["mcp/operating-rules"],"searchText":"admincontentapierrorscontroller_getbyid get /journal/content-api-errors/{id} journal детальная карточка ошибки content api по id. journal.viewcontentapierrors"},{"opId":"AdminContentApiErrorsController_getList","method":"get","path":"/journal/content-api-errors","fullPath":"/api/admin/journal/content-api-errors","tag":"Journal","summary":"Список ошибок Content API (4xx/5xx) за период.","permission":"journal.viewContentApiErrors","risk":"read","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":false,"description":"Начало периода (ISO 8601). По умолчанию: текущее время минус 24 часа.","schema":{"type":"string","format":"date-time"},"example":"2026-05-24T00:00:00.000Z"},{"name":"to","location":"query","required":false,"description":"Конец периода (ISO 8601). По умолчанию: текущее время.","schema":{"type":"string","format":"date-time"},"example":"2026-05-25T23:59:59.999Z"},{"name":"statusCodes","location":"query","required":false,"description":"CSV статусов: классы \"4xx\"/\"5xx\" и/или конкретные коды (например \"404,500\"). Без пробелов.","schema":{"type":"string"},"example":"4xx,5xx"},{"name":"path","location":"query","required":false,"description":"Часть пути (case-insensitive contains, max 200 символов). Например `/products/`.","schema":{"type":"string"},"example":"/products/"},{"name":"limit","location":"query","required":false,"description":"Сколько записей вернуть (default 30, max 200).","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"Смещение для пагинации.","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"admincontentapierrorscontroller_getlist get /journal/content-api-errors journal список ошибок content api (4xx/5xx) за период. journal.viewcontentapierrors"},{"opId":"AdminContentApiStatsController_getStats","method":"get","path":"/journal/content-api-stats","fullPath":"/api/admin/journal/content-api-stats","tag":"Journal","summary":"Статистика запросов к публичным content-* ручкам за период (1ч/24ч/7д).","permission":"journal.viewContentApiStats","risk":"read","alwaysConfirm":false,"params":[{"name":"period","location":"query","required":false,"description":"Период агрегации. По умолчанию: HOURS_24 (последние 24 часа).","schema":{"type":"string","enum":["HOUR_1","HOURS_24","DAYS_7"]},"example":"HOURS_24"}],"responseSummary":"Агрегат по content-ручкам.","docLinks":["mcp/operating-rules"],"searchText":"admincontentapistatscontroller_getstats get /journal/content-api-stats journal статистика запросов к публичным content-* ручкам за период (1ч/24ч/7д). journal.viewcontentapistats"},{"opId":"AdminDiscountsController_adjustBonusBalance","method":"post","path":"/discounts/bonus-balance/adjust","fullPath":"/api/admin/discounts/bonus-balance/adjust","tag":"Discounts","summary":"Ручная корректировка бонусного баланса пользователя","permission":"discounts.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"userId":{"type":"number","description":"ID пользователя","example":1},"amount":{"type":"number","description":"Сумма операции (положительное число)","example":500},"type":{"type":"string","description":"Тип операции: ACCRUAL (начисление), REDUCE (корректировка)","example":"ACCRUAL","enum":["ACCRUAL","REDUCE"]},"comment":{"type":"string","description":"Комментарий к операции","example":"Ручная корректировка баланса"}},"required":["userId","amount","type"]},"required":true},"responseSummary":"Возвращает созданную транзакцию","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_adjustbonusbalance post /discounts/bonus-balance/adjust discounts ручная корректировка бонусного баланса пользователя discounts.update"},{"opId":"AdminDiscountsController_create","method":"post","path":"/discounts","fullPath":"/api/admin/discounts","tag":"Discounts","summary":"Создание объекта скидки","permission":"discounts.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"summer-sale"},"type":{"type":"string","description":"тип скидки/бонуса","example":"DISCOUNT"},"attributesSets":{"description":"атрибуты со значениями, используемые объектом","example":{"string_id19":"Летняя акция","string_id18":"Скидка 20% на всё"},"x-loose":true},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов"},"localizeInfos":{"description":"название скидки с учетом локализации","example":{"en_US":{"title":"Летняя скидка"}},"x-loose":true},"startDate":{"type":"string","description":"дата и время начала действия скидки","example":"2024-06-01T00:00:00.000Z"},"endDate":{"type":"string","description":"дата и время окончания действия скидки","example":"2024-08-31T23:59:59.000Z"},"conditionLogic":{"type":"string","description":"логика работы условий (И/ИЛИ)","example":"AND"},"selectedAttributeMarkers":{"type":"string","description":"текстовые идентификаторы атрибутов объекта для отображения в таблице","example":"marker1, marker2"},"discountValue":{"type":"object","description":"настройки величины скидки (для типа DISCOUNT)","x-truncated":true},"conditions":{"type":"array","description":"условия активации скидки","x-truncated":true},"exclusions":{"type":"array","description":"исключения из скидки (массив идентификаторов товаров/категорий)","example":[{"id":"category-slug","isNested":true}]},"gifts":{"type":"array","description":"подарки при активации скидки (массив идентификаторов товаров)","example":[{"id":"product-123","isNested":false}]},"giftsReplaceCartItems":{"type":"boolean","description":"замещают ли подарки товары из корзины","example":false},"bonusEvent":{"type":"object","description":"конфигурация события-триггера бонуса (только для type=BONUS)","x-truncated":true},"userGroups":{"type":"array","description":"группы пользователей, к которым применяется персональная скидка","example":[{"id":1,"isNested":false}]},"userExclusions":{"type":"array","description":"исключения по пользователям (массив id пользователей, для которых скидка не применяется)","example":[{"id":5},{"id":10}]}},"required":["identifier","type"],"x-truncated":true},"required":true},"responseSummary":"Возвращает созданный объект DiscountEntity (для обращения необходимо наличие разрешения \"discounts.create\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_create post /discounts discounts создание объекта скидки discounts.create"},{"opId":"AdminDiscountsController_createCoupon","method":"post","path":"/discounts/{id}/coupons","fullPath":"/api/admin/discounts/{id}/coupons","tag":"Discounts","summary":"Создание купона из строки для скидки","permission":"discounts.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор скидки","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"code":{"type":"string","description":"код купона для генерации","example":"SUMMER2025"}},"required":["code"]},"required":true},"responseSummary":"Возвращает созданный объект DiscountCouponEntity (для обращения необходимо наличие разрешения \"discounts.update\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_createcoupon post /discounts/{id}/coupons discounts создание купона из строки для скидки discounts.update"},{"opId":"AdminDiscountsController_findAll","method":"get","path":"/discounts","fullPath":"/api/admin/discounts","tag":"Discounts","summary":"Получение всех объектов скидок","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":false,"description":"тип скидки (опционально)","schema":{"type":"string","enum":["DISCOUNT","BONUS","PERSONAL_DISCOUNT"]},"example":"DISCOUNT"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_findall get /discounts discounts получение всех объектов скидок "},{"opId":"AdminDiscountsController_findOne","method":"get","path":"/discounts/{id}","fullPath":"/api/admin/discounts/{id}","tag":"Discounts","summary":"Получение одного объекта скидки","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта скидки","schema":{},"example":1}],"responseSummary":"Возвращает объект AdminIndexedDiscountDto","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_findone get /discounts/{id} discounts получение одного объекта скидки "},{"opId":"AdminDiscountsController_findOneByMarker","method":"get","path":"/discounts/marker/{marker}","fullPath":"/api/admin/discounts/marker/{marker}","tag":"Discounts","summary":"Получение одного объекта скидки по маркеру","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"маркер объекта скидки","schema":{"type":"string"},"example":"summer-sale"}],"responseSummary":"Возвращает объект ContentIndexedDiscountDto","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_findonebymarker get /discounts/marker/{marker} discounts получение одного объекта скидки по маркеру "},{"opId":"AdminDiscountsController_generateCouponsByMask","method":"post","path":"/discounts/{id}/coupons/generate","fullPath":"/api/admin/discounts/{id}/coupons/generate","tag":"Discounts","summary":"Генерация купонов по маске для скидки","permission":"discounts.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор скидки","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"mask":{"type":"string","description":"маска для генерации купонов. Символ \"A\" заменяется на случайную букву (A-Z), символ \"9\" заменяется на случайную цифру (0-9), остальные символы остаются без изменений. Для использования буквальных символов \"A\" или \"9\" используйте экранирован…","example":"PW-AAAA9"},"quantity":{"type":"number","description":"количество купонов для генерации (максимум 100 за запрос)","example":100}},"required":["mask","quantity"]},"required":true},"responseSummary":"Возвращает массив созданных купонов DiscountCouponEntity (для обращения необходимо наличие разрешения \"discounts.update\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_generatecouponsbymask post /discounts/{id}/coupons/generate discounts генерация купонов по маске для скидки discounts.update"},{"opId":"AdminDiscountsController_getBonusBalance","method":"get","path":"/discounts/bonus-balance/{userId}","fullPath":"/api/admin/discounts/bonus-balance/{userId}","tag":"Discounts","summary":"Получение бонусного баланса пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"userId","location":"path","required":true,"description":"идентификатор пользователя","schema":{},"example":42}],"responseSummary":"Возвращает текущий бонусный баланс пользователя","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_getbonusbalance get /discounts/bonus-balance/{userid} discounts получение бонусного баланса пользователя "},{"opId":"AdminDiscountsController_getBonusHistory","method":"get","path":"/discounts/bonus-balance/{userId}/history","fullPath":"/api/admin/discounts/bonus-balance/{userId}/history","tag":"Discounts","summary":"История бонусных транзакций пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":false,"description":"Тип транзакции","schema":{"type":"string","enum":["ACCRUAL","USAGE","REDUCE","REVERSAL_ACCRUAL","REVERSAL_USAGE","EXPIRATION"]},"example":"ACCRUAL"},{"name":"dateFrom","location":"query","required":false,"description":"Начало периода (ISO date)","schema":{"type":"string"},"example":"2026-01-01"},{"name":"dateTo","location":"query","required":false,"description":"Конец периода (ISO date)","schema":{"type":"string"},"example":"2026-03-17"},{"name":"discountId","location":"query","required":false,"description":"ID скидки/акции","schema":{"type":"number"},"example":42},{"name":"moduleId","location":"query","required":false,"description":"ID модуля-источника (2=forms, 12=orders)","schema":{"type":"number"},"example":12},{"name":"isAdmin","location":"query","required":false,"description":"Только ручные корректировки администратором","schema":{"type":"boolean"},"example":true},{"name":"userId","location":"path","required":true,"description":"идентификатор пользователя","schema":{},"example":42}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_getbonushistory get /discounts/bonus-balance/{userid}/history discounts история бонусных транзакций пользователя "},{"opId":"AdminDiscountsController_getCoupons","method":"get","path":"/discounts/{id}/coupons","fullPath":"/api/admin/discounts/{id}/coupons","tag":"Discounts","summary":"Получение списка купонов скидки","risk":"read","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей","schema":{},"example":100},{"name":"id","location":"path","required":true,"description":"идентификатор скидки","schema":{},"example":1}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_getcoupons get /discounts/{id}/coupons discounts получение списка купонов скидки "},{"opId":"AdminDiscountsController_getSettings","method":"get","path":"/discounts/settings","fullPath":"/api/admin/discounts/settings","tag":"Discounts","summary":"Получение настроек скидок","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает объект DiscountSettingsDto с настройками скидок","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_getsettings get /discounts/settings discounts получение настроек скидок "},{"opId":"AdminDiscountsController_remove","method":"delete","path":"/discounts/{id}","fullPath":"/api/admin/discounts/{id}","tag":"Discounts","summary":"Удаление объекта скидки","permission":"discounts.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта скидки","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"discounts.delete\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_remove delete /discounts/{id} discounts удаление объекта скидки discounts.delete"},{"opId":"AdminDiscountsController_removeCoupon","method":"delete","path":"/discounts/{id}/coupons/{couponId}","fullPath":"/api/admin/discounts/{id}/coupons/{couponId}","tag":"Discounts","summary":"Удаление купона","permission":"discounts.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"couponId","location":"path","required":true,"description":"идентификатор купона","schema":{"type":"number"},"example":5},{"name":"id","location":"path","required":true,"description":"идентификатор скидки","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"discounts.delete\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_removecoupon delete /discounts/{id}/coupons/{couponid} discounts удаление купона discounts.delete"},{"opId":"AdminDiscountsController_removeCoupons","method":"delete","path":"/discounts/{id}/coupons","fullPath":"/api/admin/discounts/{id}/coupons","tag":"Discounts","summary":"Массовое удаление купонов","permission":"discounts.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор скидки","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"ids":{"type":"array","description":"массив идентификаторов купонов для удаления (максимум 100 за запрос)","example":[1,2,3,5],"items":{"type":"number"}}},"required":["ids"]},"required":true},"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"discounts.delete\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_removecoupons delete /discounts/{id}/coupons discounts массовое удаление купонов discounts.delete"},{"opId":"AdminDiscountsController_update","method":"put","path":"/discounts/{id}","fullPath":"/api/admin/discounts/{id}","tag":"Discounts","summary":"Обновление объекта скидки","permission":"discounts.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта скидки","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"summer-sale"},"type":{"type":"string","description":"тип скидки/бонуса","example":"DISCOUNT"},"attributesSets":{"description":"атрибуты со значениями, используемые объектом","example":{"string_id19":"Летняя акция","string_id18":"Скидка 20% на всё"},"x-loose":true},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов"},"localizeInfos":{"description":"название скидки с учетом локализации","example":{"en_US":{"title":"Летняя скидка"}},"x-loose":true},"startDate":{"type":"string","description":"дата и время начала действия скидки","example":"2024-06-01T00:00:00.000Z"},"endDate":{"type":"string","description":"дата и время окончания действия скидки","example":"2024-08-31T23:59:59.000Z"},"conditionLogic":{"type":"string","description":"логика работы условий (И/ИЛИ)","example":"AND"},"selectedAttributeMarkers":{"type":"string","description":"текстовые идентификаторы атрибутов объекта для отображения в таблице","example":"marker1, marker2"},"discountValue":{"type":"object","description":"настройки величины скидки (для типа DISCOUNT)","x-truncated":true},"conditions":{"type":"array","description":"условия активации скидки","x-truncated":true},"exclusions":{"type":"array","description":"исключения из скидки (массив идентификаторов товаров/категорий)","example":[{"id":"category-slug","isNested":true}]},"gifts":{"type":"array","description":"подарки при активации скидки (массив идентификаторов товаров)","example":[{"id":"product-123","isNested":false}]},"giftsReplaceCartItems":{"type":"boolean","description":"замещают ли подарки товары из корзины","example":false},"bonusEvent":{"type":"object","description":"конфигурация события-триггера бонуса (только для type=BONUS)","x-truncated":true},"userGroups":{"type":"array","description":"группы пользователей, к которым применяется персональная скидка","example":[{"id":1,"isNested":false}]},"userExclusions":{"type":"array","description":"исключения по пользователям (массив id пользователей, для которых скидка не применяется)","example":[{"id":5},{"id":10}]}},"x-truncated":true},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"discounts.update\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_update put /discounts/{id} discounts обновление объекта скидки discounts.update"},{"opId":"AdminDiscountsController_updatePosition","method":"put","path":"/discounts/{id}/position","fullPath":"/api/admin/discounts/{id}/position","tag":"Discounts","summary":"Обновление позиции скидки (приоритета)","permission":"discounts.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор скидки","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает обновленную скидку с новой позицией (для обращения необходимо наличие разрешения \"discounts.update\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_updateposition put /discounts/{id}/position discounts обновление позиции скидки (приоритета) discounts.update"},{"opId":"AdminDiscountsController_updateSettings","method":"put","path":"/discounts/settings","fullPath":"/api/admin/discounts/settings","tag":"Discounts","summary":"Обновление настроек скидок","permission":"discounts.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"allowStacking":{"type":"boolean","description":"разрешено ли суммирование нескольких скидок","example":false},"maxDiscountValue":{"type":"number","description":"максимальный процент скидки при суммировании (от 0 до 100). Если скидки суммируются, итоговая скидка не может превышать этот процент","example":75},"allowGiftStacking":{"type":"boolean","description":"суммировать ли подарки при применении нескольких скидок","example":false},"maxBonusPaymentPercent":{"type":"number","description":"максимальный процент от суммы заказа, который можно оплатить бонусами (от 0 до 100)","example":50},"minBonusAmount":{"type":"number","description":"минимальная сумма бонусов для списания","example":100},"minOrderAmountForBonus":{"type":"number","description":"минимальная сумма заказа для применения бонусов","example":500},"bonusExpirationDays":{"type":"number","description":"Срок действия бонусов в днях (rolling expiration). null = бессрочно","example":365},"bonusExpirationDate":{"type":"string","description":"Фиксированная дата сгорания всех бонусов. null = не используется","example":"2026-12-31T23:59:59.000Z"},"giftRefundPolicy":{"type":"string","description":"Политика рефанда при наличии подарков: KEEP_GIFT — подарок остаётся бесплатным, BLOCK_REFUND — рефанд блокируется если условие подарка слетает","example":"KEEP_GIFT","enum":["KEEP_GIFT","BLOCK_REFUND"]}}},"required":true},"responseSummary":"Возвращает обновленный объект DiscountSettingsDto (для обращения необходимо наличие разрешения \"discounts.update\")","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_updatesettings put /discounts/settings discounts обновление настроек скидок discounts.update"},{"opId":"AdminDiscountsController_validateCoupon","method":"get","path":"/discounts/coupons/validate","fullPath":"/api/admin/discounts/coupons/validate","tag":"Discounts","summary":"Валидация купона","risk":"read","alwaysConfirm":false,"params":[{"name":"code","location":"query","required":true,"description":"код купона (обязательный параметр)","schema":{"type":"string"},"example":"SUMMER2024"}],"responseSummary":"Возвращает объект CouponValidationResultDto с результатом валидации купона","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_validatecoupon get /discounts/coupons/validate discounts валидация купона "},{"opId":"AdminDiscountsController_validateMarker","method":"get","path":"/discounts/marker-validation/{marker}","fullPath":"/api/admin/discounts/marker-validation/{marker}","tag":"Discounts","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/orders-module","mcp/operating-rules"],"searchText":"admindiscountscontroller_validatemarker get /discounts/marker-validation/{marker} discounts проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminEntityVersionsController_createVersion","method":"post","path":"/entity-versions","fullPath":"/api/admin/entity-versions","tag":"Entity Versions","summary":"Создание версионного снимка сущности","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"entityName":{"type":"string","description":"имя таблицы сущности","example":"products"},"entityId":{"type":"number","description":"идентификатор записи сущности","example":1}},"required":["entityName","entityId"]},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"adminentityversionscontroller_createversion post /entity-versions entity versions создание версионного снимка сущности "},{"opId":"AdminEntityVersionsController_getVersion","method":"get","path":"/entity-versions/{entityName}/{entityId}/{version}","fullPath":"/api/admin/entity-versions/{entityName}/{entityId}/{version}","tag":"Entity Versions","summary":"Получение конкретной версии сущности","risk":"read","alwaysConfirm":false,"params":[{"name":"entityName","location":"path","required":true,"description":"имя таблицы","schema":{"type":"string"},"example":"products"},{"name":"entityId","location":"path","required":true,"description":"ID записи","schema":{"type":"number"},"example":1},{"name":"version","location":"path","required":true,"description":"номер версии","schema":{"type":"number"},"example":0}],"docLinks":["mcp/operating-rules"],"searchText":"adminentityversionscontroller_getversion get /entity-versions/{entityname}/{entityid}/{version} entity versions получение конкретной версии сущности "},{"opId":"AdminEntityVersionsController_getVersions","method":"get","path":"/entity-versions/{entityName}/{entityId}","fullPath":"/api/admin/entity-versions/{entityName}/{entityId}","tag":"Entity Versions","summary":"Получение истории версий сущности","risk":"read","alwaysConfirm":false,"params":[{"name":"entityName","location":"path","required":true,"description":"имя таблицы","schema":{"type":"string"},"example":"products"},{"name":"entityId","location":"path","required":true,"description":"ID записи","schema":{"type":"number"},"example":1}],"docLinks":["mcp/operating-rules"],"searchText":"adminentityversionscontroller_getversions get /entity-versions/{entityname}/{entityid} entity versions получение истории версий сущности "},{"opId":"AdminEntityVersionsController_restoreVersion","method":"post","path":"/entity-versions/{entityName}/{entityId}/{version}/restore","fullPath":"/api/admin/entity-versions/{entityName}/{entityId}/{version}/restore","tag":"Entity Versions","summary":"Восстановление сущности из версии","risk":"write","alwaysConfirm":false,"params":[{"name":"entityName","location":"path","required":true,"description":"имя таблицы","schema":{"type":"string"},"example":"products"},{"name":"entityId","location":"path","required":true,"description":"ID записи","schema":{"type":"number"},"example":1},{"name":"version","location":"path","required":true,"description":"номер версии","schema":{"type":"number"},"example":0}],"docLinks":["mcp/operating-rules"],"searchText":"adminentityversionscontroller_restoreversion post /entity-versions/{entityname}/{entityid}/{version}/restore entity versions восстановление сущности из версии "},{"opId":"AdminEventsController_create","method":"post","path":"/events","fullPath":"/api/admin/events","tag":"Events","summary":"Создание объекта event","permission":"events.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"name":{"type":"string","description":"Имя события"},"type":{"type":"string","description":"Имя события может быть либо attribute либо status","enum":["attribute","status"]},"productStatus":{"type":"string","description":"Статус продукта","example":"available"},"attributeSetId":{"type":"number","description":"Устанавливаемый атрибут"},"moduleId":{"type":"number","description":"Идентификатор модуля"},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"eventAttributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые ивентом","example":{"string_id19":"","string_id18":""}},"attribute":{"type":"string","description":"Атрибут на который реагирует event"},"productAttributeSetId":{"type":"number","description":"Набор атрибута из которого выбран отслеживаемый атрибут"},"attributeListItem":{"type":"string","description":"Атрибут из списка на который реагирует event"},"groupAttributeItem":{"type":"string","description":"Имя атрибута группы"},"groupAttributeListItem":{"type":"string","description":"Имя атрибута группы"},"conditions":{"type":"string","description":"Условия для выполнения event","enum":["change","large","less"]},"extraCondition":{"type":"object","description":"Дополнительное условие","example":{"type":"eq","value":10}},"actions":{"type":"object","properties":{"isPush":{"type":"boolean","description":"Указывает должно ли событие отправлять push уведомление"},"isWebsocket":{"type":"boolean","description":"Указывает, должно ли событие использовать websocket для отправки"},"isEmail":{"type":"boolean","description":"Указывает должно ли событие отправляться по email"}},"required":["isPush","isWebsocket","isEmail"],"description":"Действия определяющие поведение event"},"whom":{"type":"string","description":"Кому предназначен event может быть либо all либо user_group","enum":["all","subs","user_group","users_from_payload","emails_from_payload"]},"userGroupId":{"type":"number","description":"Идентификатор группы пользователей (whom=user_group)"},"typeSchedule":{"type":"string","description":"Тип расписания","enum":["once","every_time"]},"scheduleTime":{"type":"string","format":"date-time","description":"Время расписания в формате даты/времени"},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"event"},"mailing":{"type":"object","properties":{},"description":"Настройки рассылки"},"discountEventType":{"type":"string","description":"Тип события дисконта","enum":["discount_start","discount_end","bonus_accrual","bonus_expiration"]},"discounts":{"type":"object","description":"Конфигурация события дисконта (daysBefore, dailyReminders)"},"isTemplate":{"type":"boolean","description":"Признак шаблона уведомления. Шаблон вызывается из workflow `notification`-ноды"},"customVariables":{"type":"array","description":"Список переменных, заполняемых вызывающей нодой workflow. В шаблоне используются как `{{ <marker> }}`","example":[{"marker":"couponCode","label":"Промокод"}],"items":{"type":"string"}}},"required":["name","type","productStatus","attributeSetId","moduleId","attribute","attributeListItem","groupAttributeItem","groupAttributeListItem","conditions","actions","whom","userGroupId","typeSchedule","scheduleTime","identifier","mailing"]},"required":true},"responseSummary":"Возвращает созданный объект EventEntity","docLinks":["mcp/operating-rules"],"searchText":"admineventscontroller_create post /events events создание объекта event events.create"},{"opId":"AdminEventsController_delete","method":"delete","path":"/events/{id}","fullPath":"/api/admin/events/{id}","tag":"Events","summary":"Удаление event","permission":"events.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор удаляемого event","schema":{"type":"number"}}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["mcp/operating-rules"],"searchText":"admineventscontroller_delete delete /events/{id} events удаление event events.delete"},{"opId":"AdminEventsController_findAll","method":"get","path":"/events","fullPath":"/api/admin/events","tag":"Events","summary":"Получение всех объектов наборов атрибутов","risk":"read","alwaysConfirm":false,"params":[{"name":"isTemplate","location":"query","required":false,"description":"фильтр по типу: true — только шаблоны (вызываются из workflow), false — только триггерные events. Если не передан — возвращаются все","schema":{"type":"string"},"example":true},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"admineventscontroller_findall get /events events получение всех объектов наборов атрибутов "},{"opId":"AdminEventsController_findOne","method":"get","path":"/events/{id}","fullPath":"/api/admin/events/{id}","tag":"Events","summary":"Получение одного объекта event по его идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор получаемого объекта event","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает один объект event в виде объекта EventEntity","docLinks":["mcp/operating-rules"],"searchText":"admineventscontroller_findone get /events/{id} events получение одного объекта event по его идентификатору "},{"opId":"AdminEventsController_update","method":"put","path":"/events/{id}","fullPath":"/api/admin/events/{id}","tag":"Events","summary":"Обновление event","permission":"events.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта event","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"name":{"type":"string","description":"Имя события"},"type":{"type":"string","description":"Имя события может быть либо attribute либо status","enum":["attribute","status"]},"productStatus":{"type":"string","description":"Статус продукта","example":"available"},"attributeSetId":{"type":"number","description":"Устанавливаемый атрибут"},"moduleId":{"type":"number","description":"Идентификатор модуля"},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"eventAttributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые ивентом","example":{"string_id19":"","string_id18":""}},"attribute":{"type":"string","description":"Атрибут на который реагирует event"},"productAttributeSetId":{"type":"number","description":"Набор атрибута из которого выбран отслеживаемый атрибут"},"attributeListItem":{"type":"string","description":"Атрибут из списка на который реагирует event"},"groupAttributeItem":{"type":"string","description":"Имя атрибута группы"},"groupAttributeListItem":{"type":"string","description":"Имя атрибута группы"},"conditions":{"type":"string","description":"Условия для выполнения event","enum":["change","large","less"]},"extraCondition":{"type":"object","description":"Дополнительное условие","example":{"type":"eq","value":10}},"actions":{"type":"object","properties":{"isPush":{"type":"boolean","description":"Указывает должно ли событие отправлять push уведомление"},"isWebsocket":{"type":"boolean","description":"Указывает, должно ли событие использовать websocket для отправки"},"isEmail":{"type":"boolean","description":"Указывает должно ли событие отправляться по email"}},"required":["isPush","isWebsocket","isEmail"],"description":"Действия определяющие поведение event"},"whom":{"type":"string","description":"Кому предназначен event может быть либо all либо user_group","enum":["all","subs","user_group","users_from_payload","emails_from_payload"]},"userGroupId":{"type":"number","description":"Идентификатор группы пользователей (whom=user_group)"},"typeSchedule":{"type":"string","description":"Тип расписания","enum":["once","every_time"]},"scheduleTime":{"type":"string","format":"date-time","description":"Время расписания в формате даты/времени"},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"event"},"mailing":{"type":"object","properties":{},"description":"Настройки рассылки"},"discountEventType":{"type":"string","description":"Тип события дисконта","enum":["discount_start","discount_end","bonus_accrual","bonus_expiration"]},"discounts":{"type":"object","description":"Конфигурация события дисконта (daysBefore, dailyReminders)"},"isTemplate":{"type":"boolean","description":"Признак шаблона уведомления. Шаблон вызывается из workflow `notification`-ноды"},"customVariables":{"type":"array","description":"Список переменных, заполняемых вызывающей нодой workflow. В шаблоне используются как `{{ <marker> }}`","example":[{"marker":"couponCode","label":"Промокод"}],"items":{"type":"string"}}},"required":["name","type","productStatus","attributeSetId","moduleId","attribute","attributeListItem","groupAttributeItem","groupAttributeListItem","conditions","actions","whom","userGroupId","typeSchedule","scheduleTime","identifier","mailing"]},"required":true},"responseSummary":"Возвращает обовлённый объект EventEntity","docLinks":["mcp/operating-rules"],"searchText":"admineventscontroller_update put /events/{id} events обновление event events.update"},{"opId":"AdminEventsController_validateMarker","method":"get","path":"/events/marker-validation/{marker}","fullPath":"/api/admin/events/marker-validation/{marker}","tag":"Events","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["mcp/operating-rules"],"searchText":"admineventscontroller_validatemarker get /events/marker-validation/{marker} events проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminExportController_exporAllOrders","method":"get","path":"/export/orders","fullPath":"/api/admin/export/orders","tag":"Export","summary":"Экспорт всех заказов","permission":"orders.export","risk":"read","alwaysConfirm":false,"params":[{"name":"format","location":"query","required":true,"description":"Формат экспорта","schema":{"type":"string","enum":["csv","xml"]},"example":"csv"},{"name":"langCode","location":"query","required":false,"description":"код языка экспортируемых данных","schema":{"type":"string"},"example":"en_US"}],"docLinks":["mcp/operating-rules"],"searchText":"adminexportcontroller_exporallorders get /export/orders export экспорт всех заказов orders.export"},{"opId":"AdminExportController_exporAllPayments","method":"get","path":"/export/payments","fullPath":"/api/admin/export/payments","tag":"Export","summary":"Экспорт всех платежей","permission":"payments.export","risk":"read","alwaysConfirm":false,"params":[{"name":"format","location":"query","required":true,"description":"Формат экспорта","schema":{"type":"string","enum":["csv","xml"]},"example":"csv"}],"docLinks":["mcp/operating-rules"],"searchText":"adminexportcontroller_exporallpayments get /export/payments export экспорт всех платежей payments.export"},{"opId":"AdminExportController_exporAllUsers","method":"get","path":"/export/users","fullPath":"/api/admin/export/users","tag":"Export","summary":"Экспорт всех пользователей","permission":"users.export","risk":"read","alwaysConfirm":false,"params":[{"name":"format","location":"query","required":true,"description":"Формат экспорта","schema":{"type":"string","enum":["csv","xml"]},"example":"csv"},{"name":"langCode","location":"query","required":false,"description":"код языка экспортируемых данных","schema":{"type":"string"},"example":"en_US"}],"docLinks":["mcp/operating-rules"],"searchText":"adminexportcontroller_exporallusers get /export/users export экспорт всех пользователей users.export"},{"opId":"AdminExportController_exportOrdersByStorage","method":"get","path":"/export/orders/{storageId}","fullPath":"/api/admin/export/orders/{storageId}","tag":"Export","summary":"Экспорт заказов по id хранилища","permission":"orders.export","risk":"read","alwaysConfirm":false,"params":[{"name":"storageId","location":"path","required":true,"description":"id хранилища заказов","schema":{"type":"number"}},{"name":"format","location":"query","required":true,"description":"Формат экспорта","schema":{"type":"string","enum":["csv","xml"]},"example":"csv"},{"name":"langCode","location":"query","required":false,"description":"код языка экспортируемых данных","schema":{"type":"string"},"example":"en_US"}],"docLinks":["mcp/operating-rules"],"searchText":"adminexportcontroller_exportordersbystorage get /export/orders/{storageid} export экспорт заказов по id хранилища orders.export"},{"opId":"AdminExportController_exportPaymentsByAccount","method":"get","path":"/export/payments/{accountId}","fullPath":"/api/admin/export/payments/{accountId}","tag":"Export","summary":"Экспорт платежей по id платёжного аккаунта","permission":"payments.export","risk":"read","alwaysConfirm":false,"params":[{"name":"accountId","location":"path","required":true,"description":"id платёжного аккаунта","schema":{"type":"number"}},{"name":"format","location":"query","required":true,"description":"Формат экспорта","schema":{"type":"string","enum":["csv","xml"]},"example":"csv"}],"docLinks":["mcp/operating-rules"],"searchText":"adminexportcontroller_exportpaymentsbyaccount get /export/payments/{accountid} export экспорт платежей по id платёжного аккаунта payments.export"},{"opId":"AdminExportController_exportUsersFromAuthProvider","method":"get","path":"/export/users/{authProviderId}","fullPath":"/api/admin/export/users/{authProviderId}","tag":"Export","summary":"Экспорт пользователей по id провайдера","permission":"users.export","risk":"read","alwaysConfirm":false,"params":[{"name":"authProviderId","location":"path","required":true,"description":"id провайдера авторизации","schema":{"type":"number"}},{"name":"format","location":"query","required":true,"description":"Формат экспорта","schema":{"type":"string","enum":["csv","xml"]},"example":"csv"},{"name":"langCode","location":"query","required":false,"description":"код языка экспортируемых данных","schema":{"type":"string"},"example":"en_US"}],"docLinks":["mcp/operating-rules"],"searchText":"adminexportcontroller_exportusersfromauthprovider get /export/users/{authproviderid} export экспорт пользователей по id провайдера users.export"},{"opId":"AdminFileUploadController_deleteFile","method":"delete","path":"/files","fullPath":"/api/admin/files","tag":"File Uploading","summary":"Удаление файла","risk":"destructive","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":true,"description":"тип, определяет название папки в хранилище","schema":{"type":"string"},"example":"page"},{"name":"entity","location":"query","required":true,"description":"название сущности, от которой заливается файл, определяет название папки в хранилище","schema":{"type":"string"},"example":"editor"},{"name":"id","location":"query","required":true,"description":"идентификатор объeкта, от которого заливается файл, определяет название папки в хранилище","schema":{"type":"number"},"example":3787},{"name":"template","location":"query","required":false,"description":"идентификатор шаблона превью","schema":{"type":"string"},"example":1},{"name":"filename","location":"query","required":true,"description":"название файла","schema":{"type":"string"},"example":"file.png"}],"responseSummary":"Удаляет файл из облачного файлового хранилища","docLinks":["back/docs/file-upload-dev-mode","mcp/operating-rules"],"searchText":"adminfileuploadcontroller_deletefile delete /files file uploading удаление файла "},{"opId":"AdminFileUploadController_downloadFile","method":"get","path":"/files","fullPath":"/api/admin/files","tag":"File Uploading","summary":"Поиск файла","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":true,"description":"тип, определяет название папки в хранилище","schema":{"type":"string"},"example":"page"},{"name":"entity","location":"query","required":true,"description":"название сущности, от которой заливается файл, определяет название папки в хранилище","schema":{"type":"string"},"example":"editor"},{"name":"id","location":"query","required":true,"description":"идентификатор объeкта, от которого заливается файл, определяет название папки в хранилище","schema":{"type":"number"},"example":3787},{"name":"template","location":"query","required":false,"description":"идентификатор шаблона превью","schema":{"type":"string"},"example":1},{"name":"filename","location":"query","required":true,"description":"название файла","schema":{"type":"string"},"example":"file.png"}],"docLinks":["back/docs/file-upload-dev-mode","mcp/operating-rules"],"searchText":"adminfileuploadcontroller_downloadfile get /files file uploading поиск файла "},{"opId":"AdminFileUploadController_uploadFiles","method":"post","path":"/files","fullPath":"/api/admin/files","tag":"File Uploading","summary":"Загрузка файлов","risk":"write","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":true,"description":"тип, определяет название папки в хранилище","schema":{"type":"string"},"example":"page"},{"name":"entity","location":"query","required":true,"description":"название сущности, от которой заливается файл, определяет название папки в хранилище","schema":{"type":"string"},"example":"editor"},{"name":"id","location":"query","required":true,"description":"идентификатор объeкта, от которого заливается файл, определяет название папки в хранилище","schema":{"type":"number"},"example":3787},{"name":"template","location":"query","required":false,"description":"идентификатор шаблона превью","schema":{"type":"string"},"example":1},{"name":"compress","location":"query","required":false,"description":"признак оптимизации (сжатия) для изображений","schema":{"type":"string","enum":["true","false"]},"example":"true"},{"name":"edit","location":"query","required":false,"description":"признак редактирование файла (для редактора)","schema":{"type":"string","enum":["true","false"]},"example":"true"}],"body":{"contentType":"multipart/form-data","schema":{"type":"object","properties":{"files":{"type":"string","format":"binary"}}},"required":true},"responseSummary":"Загружает файл в облачное файловое хранилище","docLinks":["back/docs/file-upload-dev-mode","mcp/operating-rules"],"searchText":"adminfileuploadcontroller_uploadfiles post /files file uploading загрузка файлов "},{"opId":"AdminFiltersController_addItems","method":"post","path":"/filters/{id}/items","fullPath":"/api/admin/filters/{id}/items","tag":"Filters","summary":"Батч-добавление items в фильтр","permission":"filter.items.add","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"items":{"type":"array","description":"массив items для добавления","example":[{"objectType":"page","objectId":12},{"objectType":"product","objectId":100},{"objectType":"attribute","objectId":42,"attributeIdentifier":"color","attributeValueId":7},{"objectType":"discount","objectId":42},{"objectType":"payment-method","objectId":3}],"items":{"type":"object","properties":{"objectType":{"type":"string","description":"тип привязываемого объекта","example":"page","enum":["page","product","admin","attribute","discount","personal-discount","bonus","payment-method"]},"objectId":{"type":"number","description":"идентификатор привязываемого объекта","example":12},"attributeValueId":{"type":"number","description":"идентификатор значения списка (для атрибутов list/radioButton)","example":7},"attributeIdentifier":{"type":"string","description":"identifier атрибута внутри attribute_set (имеет смысл только для objectType=attribute; для прочих типов сервис игнорирует значение и сохраняет null)","example":"color"},"valueText":{"type":"string","description":"скалярное значение атрибута","example":"14.99"},"isRange":{"type":"boolean","description":"признак диапазонного режима. Имеет смысл только для objectType=attribute с числовым типом атрибута (integer/real/float). При true обязательны rangeFrom и rangeTo. Для прочих типов сервис игнорирует и сохраняет false.","example":false},"rangeFrom":{"type":"number","description":"нижняя граница диапазона (включительно). Имеет смысл только при isRange=true.","example":10},"rangeTo":{"type":"number","description":"верхняя граница диапазона (включительно). Имеет смысл только при isRange=true. Должна быть >= rangeFrom.","example":100},"allowedProductStatusIds":{"type":"array","description":"допустимые products.status_id (мульти-выбор) для гейтинга значений диапазона. Имеет смысл только если attribute_set относится к forProducts и isRange=true. Пустой массив или undefined → без ограничения. Для не-product атрибутов сервис норма…","example":[1,2],"items":{"type":"integer"}}},"required":["objectType","objectId"]}}},"required":["items"]},"required":true},"responseSummary":"Массив созданных FilterItemEntity","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_additems post /filters/{id}/items filters батч-добавление items в фильтр filter.items.add"},{"opId":"AdminFiltersController_create","method":"post","path":"/filters","fullPath":"/api/admin/filters","tag":"Filters","summary":"Создание фильтра","permission":"filter.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"текстовый идентификатор (маркер) фильтра","example":"main-filter"},"localizeInfos":{"type":"object","description":"локализация фильтра","example":{"en_US":{"title":"Главный фильтр"}}},"scopeTypes":{"type":"array","description":"разрешённые типы объектов","example":["page","product","attribute"],"items":{"type":"string","enum":["page","product","admin","attribute","discount","personal-discount","bonus","payment-method"]}}},"required":["identifier","localizeInfos"]},"required":true},"responseSummary":"Возвращает созданный FilterEntity","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_create post /filters filters создание фильтра filter.create"},{"opId":"AdminFiltersController_createCustomItem","method":"post","path":"/filters/{id}/custom-items","fullPath":"/api/admin/filters/{id}/custom-items","tag":"Filters","summary":"Создание кастомного пункта фильтра","permission":"filter.items.add","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","description":"локализация","example":{"en_US":{"title":"External"}}},"value":{"type":"string","description":"произвольное значение (URL/идентификатор)","example":"https://example.com"},"identifier":{"type":"string","description":"текстовый идентификатор","example":"external-link"}},"required":["localizeInfos","value"]},"required":true},"responseSummary":"FilterCustomItemEntity","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_createcustomitem post /filters/{id}/custom-items filters создание кастомного пункта фильтра filter.items.add"},{"opId":"AdminFiltersController_deleteAttributeConfig","method":"delete","path":"/filters/{id}/config/attribute","fullPath":"/api/admin/filters/{id}/config/attribute","tag":"Filters","summary":"Удаление записи конфига атрибута фильтра (снятие регистрации карточки)","permission":"filter.items.add","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"attributeSetId":{"type":"number","description":"идентификатор attributes_sets (object_id у items с objectType=attribute)","example":12},"attributeIdentifier":{"type":"string","description":"identifier атрибута внутри набора (ключ из attributes_sets.schema)","example":"color"}},"required":["attributeSetId","attributeIdentifier"]},"required":true},"responseSummary":"{ success: true }","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_deleteattributeconfig delete /filters/{id}/config/attribute filters удаление записи конфига атрибута фильтра (снятие регистрации карточки) filter.items.add"},{"opId":"AdminFiltersController_deselectAllItems","method":"post","path":"/filters/{id}/items/deselect-all","fullPath":"/api/admin/filters/{id}/items/deselect-all","tag":"Filters","summary":"Снять всё: массовое удаление всех сущностей scope из фильтра","permission":"filter.items.remove","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"objectType":{"type":"string","description":"тип добавляемых сущностей (page/product/admin/payment-method/discount/personal-discount/bonus/attribute)","example":"product","enum":["page","product","admin","attribute","discount","personal-discount","bonus","payment-method"]},"attributeSetId":{"type":"number","description":"идентификатор attributes_sets — обязателен только для objectType=attribute","example":12},"attributeIdentifier":{"type":"string","description":"identifier атрибута внутри набора — обязателен только для objectType=attribute","example":"color"}},"required":["objectType"]},"required":true},"responseSummary":"{ removed: <число удалённых> }","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_deselectallitems post /filters/{id}/items/deselect-all filters снять всё: массовое удаление всех сущностей scope из фильтра filter.items.remove"},{"opId":"AdminFiltersController_findAll","method":"get","path":"/filters","fullPath":"/api/admin/filters","tag":"Filters","summary":"Получение всех фильтров","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив AdminFilterDto","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_findall get /filters filters получение всех фильтров "},{"opId":"AdminFiltersController_findOne","method":"get","path":"/filters/{id}","fullPath":"/api/admin/filters/{id}","tag":"Filters","summary":"Получение одного фильтра по id","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"responseSummary":"AdminFilterDto","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_findone get /filters/{id} filters получение одного фильтра по id "},{"opId":"AdminFiltersController_remove","method":"delete","path":"/filters/{id}","fullPath":"/api/admin/filters/{id}","tag":"Filters","summary":"Удаление фильтра","permission":"filter.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"responseSummary":"true в случае успеха","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_remove delete /filters/{id} filters удаление фильтра filter.delete"},{"opId":"AdminFiltersController_removeCustomItem","method":"delete","path":"/filters/{id}/custom-items/{itemId}","fullPath":"/api/admin/filters/{id}/custom-items/{itemId}","tag":"Filters","summary":"Удаление кастомного пункта","permission":"filter.items.remove","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}},{"name":"itemId","location":"path","required":true,"schema":{"type":"number"}}],"responseSummary":"true","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_removecustomitem delete /filters/{id}/custom-items/{itemid} filters удаление кастомного пункта filter.items.remove"},{"opId":"AdminFiltersController_removeItem","method":"delete","path":"/filters/{id}/items/{itemId}","fullPath":"/api/admin/filters/{id}/items/{itemId}","tag":"Filters","summary":"Удаление одного item из фильтра","permission":"filter.items.remove","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}},{"name":"itemId","location":"path","required":true,"description":"id item","schema":{"type":"number"}}],"responseSummary":"true","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_removeitem delete /filters/{id}/items/{itemid} filters удаление одного item из фильтра filter.items.remove"},{"opId":"AdminFiltersController_reparentItems","method":"put","path":"/filters/{id}/items/reparent","fullPath":"/api/admin/filters/{id}/items/reparent","tag":"Filters","summary":"Массовый перенос items/custom-items под нового родителя","permission":"filter.items.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"items":{"type":"array","description":"верхнеуровневые узлы для переноса","example":[{"objectId":12,"objectType":"filter-item"},{"objectId":7,"objectType":"filter-custom-item"}],"items":{"type":"object","properties":{"objectId":{"type":"number","description":"реальный id переносимого узла (id строки в своей таблице)","example":12},"objectType":{"type":"string","description":"тип переносимого узла","example":"filter-item","enum":["filter-item","filter-custom-item"]}},"required":["objectId","objectType"]}},"newParentId":{"type":"number","description":"id нового родителя; null → перенос в корень","example":34},"newParentType":{"type":"string","description":"тип нового родителя; null → перенос в корень","example":"filter-item","enum":["filter-item","filter-custom-item"]}},"required":["items"]},"required":true},"responseSummary":"AdminFilterDto","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_reparentitems put /filters/{id}/items/reparent filters массовый перенос items/custom-items под нового родителя filter.items.changepositions"},{"opId":"AdminFiltersController_replaceAttributeItems","method":"put","path":"/filters/{id}/items/attribute/replace","fullPath":"/api/admin/filters/{id}/items/attribute/replace","tag":"Filters","summary":"Атомарная замена items типа attribute для пары (attributeSetId, attributeIdentifier)","permission":"filter.items.add","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"attributeSetId":{"type":"number","description":"идентификатор attributes_sets, к которому относятся items (object_id для objectType=attribute)","example":42},"attributeIdentifier":{"type":"string","description":"identifier атрибута внутри набора (ключ из attributes_sets.schema)","example":"price"},"items":{"type":"array","description":"новый набор items для данного атрибута. Может быть пустым (тогда все существующие items удаляются без замены).","example":[{"objectType":"attribute","objectId":42,"attributeIdentifier":"price","isRange":true,"rangeFrom":10,"rangeTo":100,"allowedProductStatusIds":[1,2]}],"items":{"type":"object","properties":{"objectType":{"type":"string","description":"тип привязываемого объекта","example":"page","enum":["page","product","admin","attribute","discount","personal-discount","bonus","payment-method"]},"objectId":{"type":"number","description":"идентификатор привязываемого объекта","example":12},"attributeValueId":{"type":"number","description":"идентификатор значения списка (для атрибутов list/radioButton)","example":7},"attributeIdentifier":{"type":"string","description":"identifier атрибута внутри attribute_set (имеет смысл только для objectType=attribute; для прочих типов сервис игнорирует значение и сохраняет null)","example":"color"},"valueText":{"type":"string","description":"скалярное значение атрибута","example":"14.99"},"isRange":{"type":"boolean","description":"признак диапазонного режима. Имеет смысл только для objectType=attribute с числовым типом атрибута (integer/real/float). При true обязательны rangeFrom и rangeTo. Для прочих типов сервис игнорирует и сохраняет false.","example":false},"rangeFrom":{"type":"number","description":"нижняя граница диапазона (включительно). Имеет смысл только при isRange=true.","example":10},"rangeTo":{"type":"number","description":"верхняя граница диапазона (включительно). Имеет смысл только при isRange=true. Должна быть >= rangeFrom.","example":100},"allowedProductStatusIds":{"type":"array","description":"допустимые products.status_id (мульти-выбор) для гейтинга значений диапазона. Имеет смысл только если attribute_set относится к forProducts и isRange=true. Пустой массив или undefined → без ограничения. Для не-product атрибутов сервис норма…","example":[1,2],"items":{"type":"integer"}}},"required":["objectType","objectId"]}}},"required":["attributeSetId","attributeIdentifier","items"]},"required":true},"responseSummary":"Массив созданных FilterItemEntity (может быть пустым)","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_replaceattributeitems put /filters/{id}/items/attribute/replace filters атомарная замена items типа attribute для пары (attributesetid, attributeidentifier) filter.items.add"},{"opId":"AdminFiltersController_selectAllItems","method":"post","path":"/filters/{id}/items/select-all","fullPath":"/api/admin/filters/{id}/items/select-all","tag":"Filters","summary":"Выбрать всё: массовое добавление всех сущностей scope в фильтр","permission":"filter.items.add","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"objectType":{"type":"string","description":"тип добавляемых сущностей (page/product/admin/payment-method/discount/personal-discount/bonus/attribute)","example":"product","enum":["page","product","admin","attribute","discount","personal-discount","bonus","payment-method"]},"attributeSetId":{"type":"number","description":"идентификатор attributes_sets — обязателен только для objectType=attribute","example":12},"attributeIdentifier":{"type":"string","description":"identifier атрибута внутри набора — обязателен только для objectType=attribute","example":"color"}},"required":["objectType"]},"required":true},"responseSummary":"{ added: <число добавленных>, items: FilterItemEntity[] }","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_selectallitems post /filters/{id}/items/select-all filters выбрать всё: массовое добавление всех сущностей scope в фильтр filter.items.add"},{"opId":"AdminFiltersController_update","method":"put","path":"/filters/{id}","fullPath":"/api/admin/filters/{id}","tag":"Filters","summary":"Обновление фильтра","permission":"filter.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"текстовый идентификатор (маркер) фильтра","example":"main-filter"},"localizeInfos":{"type":"object","description":"локализация фильтра","example":{"en_US":{"title":"Главный фильтр"}}},"scopeTypes":{"type":"array","description":"разрешённые типы объектов","example":["page","product","attribute"],"items":{"type":"string","enum":["page","product","admin","attribute","discount","personal-discount","bonus","payment-method"]}}}},"required":true},"responseSummary":"true в случае успеха","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_update put /filters/{id} filters обновление фильтра filter.update"},{"opId":"AdminFiltersController_updateCustomItem","method":"put","path":"/filters/{id}/custom-items/{itemId}","fullPath":"/api/admin/filters/{id}/custom-items/{itemId}","tag":"Filters","summary":"Обновление кастомного пункта","permission":"filter.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}},{"name":"itemId","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","description":"локализация","example":{"en_US":{"title":"External"}}},"value":{"type":"string","description":"произвольное значение (URL/идентификатор)","example":"https://example.com"},"identifier":{"type":"string","description":"текстовый идентификатор","example":"external-link"}}},"required":true},"responseSummary":"FilterCustomItemEntity","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_updatecustomitem put /filters/{id}/custom-items/{itemid} filters обновление кастомного пункта filter.update"},{"opId":"AdminFiltersController_updateCustomItemPosition","method":"put","path":"/filters/{id}/custom-items/{itemId}/position","fullPath":"/api/admin/filters/{id}/custom-items/{itemId}/position","tag":"Filters","summary":"Обновление позиции кастомного пункта","permission":"filter.items.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}},{"name":"itemId","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"FilterCustomItemEntity","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_updatecustomitemposition put /filters/{id}/custom-items/{itemid}/position filters обновление позиции кастомного пункта filter.items.changepositions"},{"opId":"AdminFiltersController_updateItemPosition","method":"put","path":"/filters/{id}/items/{itemId}/position","fullPath":"/api/admin/filters/{id}/items/{itemId}/position","tag":"Filters","summary":"Обновление позиции item-а","permission":"filter.items.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}},{"name":"itemId","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"FilterItemEntity","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_updateitemposition put /filters/{id}/items/{itemid}/position filters обновление позиции item-а filter.items.changepositions"},{"opId":"AdminFiltersController_upsertAttributeConfig","method":"put","path":"/filters/{id}/config/attribute","fullPath":"/api/admin/filters/{id}/config/attribute","tag":"Filters","summary":"Регистрация/обновление записи конфига атрибута фильтра (пары attributeSetId + attributeIdentifier)","permission":"filter.items.add","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"id фильтра","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"attributeSetId":{"type":"number","description":"идентификатор attributes_sets (object_id у items с objectType=attribute)","example":12},"attributeIdentifier":{"type":"string","description":"identifier атрибута внутри набора (ключ из attributes_sets.schema)","example":"color"},"isPinned":{"type":"boolean","description":"true — закрепить атрибут, false — открепить. Если поле не передано — запись только регистрируется (флаг не меняется).","example":true},"pinAnchorId":{"type":"number","description":"id якоря-родителя (строки в таблице по pinAnchorType); новые значения кладутся его детьми. null/отсутствует = корень","example":34},"pinAnchorType":{"type":"string","description":"тип таблицы якоря: filter-item | filter-custom-item; обязателен при ненулевом pinAnchorId","example":"filter-item","enum":["filter-item","filter-custom-item"]},"pinPlacement":{"type":"string","description":"только для корня (без якоря): before — в начало верхнего уровня, after — в конец (по умолчанию). При заданном якоре игнорируется: значение всегда добавляется последним ребёнком якоря","enum":["before","after"]}},"required":["attributeSetId","attributeIdentifier"]},"required":true},"responseSummary":"{ attributesSetsId, attributesId, isPinned, pinAnchorId, pinAnchorType, pinPlacement, knownValues? } — запись конфига","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_upsertattributeconfig put /filters/{id}/config/attribute filters регистрация/обновление записи конфига атрибута фильтра (пары attributesetid + attributeidentifier) filter.items.add"},{"opId":"AdminFiltersController_validateMarker","method":"get","path":"/filters/marker-validation/{marker}","fullPath":"/api/admin/filters/marker-validation/{marker}","tag":"Filters","summary":"Проверка маркера фильтра на уникальность","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"маркер","schema":{"type":"string"}}],"responseSummary":"MarkerValidDto","docLinks":["back/docs/filters","mcp/operating-rules"],"searchText":"adminfilterscontroller_validatemarker get /filters/marker-validation/{marker} filters проверка маркера фильтра на уникальность "},{"opId":"AdminFormDataController_countSent","method":"get","path":"/form-data/count/{marker}","fullPath":"/api/admin/form-data/count/{marker}","tag":"FormData","summary":"Подсчёт общего и уникального количества отправленных объектов данных форм","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"идентификатор объекта формы","schema":{"type":"number"}}],"docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformdatacontroller_countsent get /form-data/count/{marker} formdata подсчёт общего и уникального количества отправленных объектов данных форм "},{"opId":"AdminFormDataController_create","method":"post","path":"/form-data","fullPath":"/api/admin/form-data","tag":"FormData","summary":"Создание объекта данных формы","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта данных","example":1764},"formIdentifier":{"type":"string","description":"текстовый идентификатор объекта формы (маркер)","example":"my-form"},"time":{"type":"string","format":"date-time","x-source-type":"Date","x-loose":true,"description":"дата и время изменения формы","example":"2023-02-12 10:56"},"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные отправленные формой","example":{"en_US":[{"marker":"naimenovanie_1","type":"string","value":"Наименование"}]}},"replayTo":{"type":"number","description":"Ссылка идентификатор данных (для древовидных данных)","example":null},"formModuleConfigId":{"type":"number","description":"Идентификатор конфигурации модуля и формы","example":0},"moduleEntityIdentifier":{"x-source-type":"string | number","x-loose":true,"description":"Текстовый (или числовой для товаров, для пользователей или администраторов - логин) идентификатор сущности модуля для которой отправляются данные","example":"cat1"},"status":{"type":"string","description":"Статус отправленных данных","example":"sent","enum":["sent","banned","deleted","moderation","approved"]}},"required":["formIdentifier","formData","formModuleConfigId","moduleEntityIdentifier"]},"required":true},"responseSummary":"Возвращает созданный объект FormDataSubmittedDto","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformdatacontroller_create post /form-data formdata создание объекта данных формы "},{"opId":"AdminFormDataController_findByFormMarker","method":"post","path":"/form-data/marker/{marker}","fullPath":"/api/admin/form-data/marker/{marker}","tag":"FormData","summary":"Поиск данных формы по текстовому идентификатору (маркеру). В зависимости от флага isExtended, возвращает CommentFormDataDto или FormDataDto.","risk":"write","alwaysConfirm":false,"params":[{"name":"formModuleConfigId","location":"query","required":false,"description":"Идентификатор конфигурации модуля с формой","schema":{"type":"number"},"example":12},{"name":"isNested","location":"query","required":false,"description":"флаг для получения иерархических (вложенных данных, актуально для parentId) данных","schema":{"type":"number"},"example":1},{"name":"isExtended","location":"query","required":false,"description":"флаг для получения расширенных данных","schema":{"type":"number"},"example":1},{"name":"langCode","location":"query","required":false,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор формы","schema":{"type":"string"},"example":"my-form"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"userIdentifier":{"type":"string","description":"текстовый идентификатор пользователя, отправившего данные в форму","example":"test-user"},"entityIdentifier":{"type":"object","description":"текстовый (или числовой для товаров, для пользователей или администраторов - логин) идентификатор сущности, для которой были отправлены данные","example":10},"parentId":{"type":"number","description":"индентификатор родительской записи сохраненных данных (если parentId = 0, то будут возвращены данных верхнего уровня (опционально)","example":0},"status":{"type":"array","description":"статус отправленных данных","example":["sent"],"items":{"type":"string","enum":["sent","banned","deleted","moderation","approved"]}},"dateFrom":{"type":"string","description":"дата \"от\", отправления данных в формате \"YYYY-MM-DD HH:MM:SS\"","example":"2025-08-01 00:00:00"},"dateTo":{"type":"string","description":"дата \"по\", отправления данных в формате \"YYYY-MM-DD HH:MM:SS\"","example":"2025-08-01 23:59:59"},"isSentByAdmin":{"type":"boolean","description":"признак, что данные отправлены администратором","example":true}}},"required":false},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformdatacontroller_findbyformmarker post /form-data/marker/{marker} formdata поиск данных формы по текстовому идентификатору (маркеру). в зависимости от флага isextended, возвращает commentformdatadto или formdatadto. "},{"opId":"AdminFormDataController_remove","method":"delete","path":"/form-data/{id}","fullPath":"/api/admin/form-data/{id}","tag":"FormData","summary":"Удаление одного объекта данных формы","permission":"forms.data.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификтор объекта данных","schema":{"type":"number"},"example":12}],"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"forms.data.delete\")","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformdatacontroller_remove delete /form-data/{id} formdata удаление одного объекта данных формы forms.data.delete"},{"opId":"AdminFormDataController_removeSelected","method":"delete","path":"/form-data","fullPath":"/api/admin/form-data","tag":"FormData","summary":"Удаление нескольких объектов данных формы","permission":"forms.data.delete","risk":"destructive","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"deleteAll":{"type":"boolean","description":"признак удаления всех данных","example":true},"ids":{"type":"array","description":"числовые идентификаторы удаляемых объектов данных формы","example":"my-form","items":{"type":"number"}}},"required":["deleteAll","ids"]},"required":true},"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"forms.data.delete\")","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformdatacontroller_removeselected delete /form-data formdata удаление нескольких объектов данных формы forms.data.delete"},{"opId":"AdminFormDataController_updateUserDataById","method":"put","path":"/form-data/{id}","fullPath":"/api/admin/form-data/{id}","tag":"FormData","summary":"Обновление объекта данных формы","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта данных","schema":{"type":"number"},"example":12}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные отправленные формой","example":{"en_US":[{"marker":"naimenovanie_1","type":"string","value":"Наименование"}]}}},"required":["formData"]},"required":true},"responseSummary":"Возвращает обновленный объект FormDataSubmittedDto","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformdatacontroller_updateuserdatabyid put /form-data/{id} formdata обновление объекта данных формы "},{"opId":"AdminFormDataController_updateUserStatusById","method":"put","path":"/form-data/{id}/update-status","fullPath":"/api/admin/form-data/{id}/update-status","tag":"FormData","summary":"Обновление статуса одного объекта данных формы","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификтор объекта данных","schema":{"type":"number"},"example":12}],"body":{"contentType":"application/json","schema":{"type":"string","enum":["sent","banned","deleted","moderation","approved"]},"required":false},"responseSummary":"Возвращает true в случае успешного обновления и false - неуспешного","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformdatacontroller_updateuserstatusbyid put /form-data/{id}/update-status formdata обновление статуса одного объекта данных формы "},{"opId":"AdminFormsController_create","method":"post","path":"/forms","fullPath":"/api/admin/forms","tag":"Forms","summary":"Создание объекта формы","permission":"forms.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов"},"processingType":{"type":"string","description":"тип обработки формы","example":"email","enum":["db","email","script"]},"localizeInfos":{"x-source-type":"FormLocalizeInfos","x-loose":true,"description":"название формы с учетом локализации","example":{"en_US":{"title":"Моя форма","titleForSite":"","successMessage":"","unsuccessMessage":"","urlAddress":"","database":"0","script":"0"}}}},"required":["identifier","processingType"]},"required":true},"responseSummary":"Возвращает созданный объект FormEntity (для обращения необходимо наличие разрешения \"forms.create\")","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_create post /forms forms создание объекта формы forms.create"},{"opId":"AdminFormsController_findAll","method":"get","path":"/forms","fullPath":"/api/admin/forms","tag":"Forms","summary":"Получение всех объектов форм","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_findall get /forms forms получение всех объектов форм "},{"opId":"AdminFormsController_findOne","method":"get","path":"/forms/{id}","fullPath":"/api/admin/forms/{id}","tag":"Forms","summary":"Получение одного объекта формы","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{},"example":1}],"responseSummary":"Возвращает один объект формы AdminIndexedFormDto","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_findone get /forms/{id} forms получение одного объекта формы "},{"opId":"AdminFormsController_findOneByMarker","method":"get","path":"/forms/marker/{marker}","fullPath":"/api/admin/forms/marker/{marker}","tag":"Forms","summary":"Получение одного объекта формы по маркеру","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"маркер объекта формы","schema":{"type":"string"},"example":"my-form"}],"responseSummary":"Возвращает объект ContentIndexedFormDto","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_findonebymarker get /forms/marker/{marker} forms получение одного объекта формы по маркеру "},{"opId":"AdminFormsController_initModuleFormConfigPosition","method":"post","path":"/forms/module-config/init-position","fullPath":"/api/admin/forms/module-config/init-position","tag":"Forms","summary":"Инициализация позиций для объекта конфигурации модуля и формы, привязанной к сущности","risk":"write","alwaysConfirm":false,"params":[{"name":"configId","location":"path","required":true,"description":"идентификатор объекта конфигурации модуля и формы","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов","example":12},"configId":{"type":"number","description":"идентификатор объекта конфигурации модуля и формы","example":12},"entityId":{"type":"number","description":"идентификатор объекта сущности","example":12}},"required":["identifier","configId","entityId"]}},"required":true},"responseSummary":"Возвращает true в случае успешного выполнения инициализации","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_initmoduleformconfigposition post /forms/module-config/init-position forms инициализация позиций для объекта конфигурации модуля и формы, привязанной к сущности "},{"opId":"AdminFormsController_remove","method":"delete","path":"/forms/{id}","fullPath":"/api/admin/forms/{id}","tag":"Forms","summary":"Удаление объекта формы","permission":"forms.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта формы","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"forms.delete\")","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_remove delete /forms/{id} forms удаление объекта формы forms.delete"},{"opId":"AdminFormsController_update","method":"put","path":"/forms/{id}","fullPath":"/api/admin/forms/{id}","tag":"Forms","summary":"Обновление объекта формы","permission":"forms.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта формы","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов"},"processingType":{"type":"string","description":"тип обработки формы","example":"email","enum":["db","email","script"]},"localizeInfos":{"x-source-type":"FormLocalizeInfos","x-loose":true,"description":"название формы с учетом локализации","example":{"en_US":{"title":"Моя форма","titleForSite":"","successMessage":"","unsuccessMessage":"","urlAddress":"","database":"0","script":"0"}}},"formModuleConfigs":{"type":"array","description":"данные о настройке привязки форм (комментарии)","example":[{"moduleId":5,"formId":5,"isGlobal":true,"isClosed":false,"isModerate":false,"viewOnlyUserData":true,"commentOnlyUserData":false,"entityIdentifiers":[]},{"moduleId":4,"isGlobal":false,"isClosed":true,"isModerate":true,"formId":5,"viewOnlyUserData":true,"commentOnlyUserData":false,"entityIdentifiers":[{"id":1,"isNumeric":true,"childrenOn":false},{"id":"test-page","isNumeric":false,"childrenOn":true}]}],"items":{"type":"string"}}},"required":["formModuleConfigs"]},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"forms.update\")","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_update put /forms/{id} forms обновление объекта формы forms.update"},{"opId":"AdminFormsController_updateModuleFormConfigPosition","method":"put","path":"/forms/module-config/{configId}/position","fullPath":"/api/admin/forms/module-config/{configId}/position","tag":"Forms","summary":"Обновление позиции у одного объекта формы, привязанной к сущности","risk":"write","alwaysConfirm":false,"params":[{"name":"configId","location":"path","required":true,"description":"идентификатор объекта конфигурации модуля и формы","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionEntity с обновленной позицией","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_updatemoduleformconfigposition put /forms/module-config/{configid}/position forms обновление позиции у одного объекта формы, привязанной к сущности "},{"opId":"AdminFormsController_validateMarker","method":"get","path":"/forms/marker-validation/{marker}","fullPath":"/api/admin/forms/marker-validation/{marker}","tag":"Forms","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/forms-and-form-data","mcp/operating-rules"],"searchText":"adminformscontroller_validatemarker get /forms/marker-validation/{marker} forms проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminGlobalSearchController_search","method":"get","path":"/search","fullPath":"/api/admin/search","tag":"Global Search","summary":"Глобальный поиск: названия записей, имена и значения атрибутов","risk":"read","alwaysConfirm":false,"params":[{"name":"q","location":"query","required":true,"description":"Search query, 1-200 chars","schema":{"type":"string"},"example":"sneakers"},{"name":"types","location":"query","required":false,"description":"Comma-separated entity types to search in","schema":{"type":"array","items":{"type":"string"}},"example":"products,pages,orders"},{"name":"visibility","location":"query","required":false,"schema":{"type":"string","enum":["all","visible","hidden"]}},{"name":"offset","location":"query","required":false,"description":"Drilldown mode offset (single type in `types` required)","schema":{"type":"number"}},{"name":"limit","location":"query","required":false,"description":"Drilldown mode page size (single type in `types` required)","schema":{"type":"number"}}],"responseSummary":"Возвращает объект GlobalSearchResponseDto с группами результатов по типам","docLinks":["back/docs/global-search","mcp/operating-rules"],"searchText":"adminglobalsearchcontroller_search get /search global search глобальный поиск: названия записей, имена и значения атрибутов "},{"opId":"AdminImmutableSettingsController_getRecordsUsage","method":"get","path":"/immutable-settings/records-usage","fullPath":"/api/admin/immutable-settings/records-usage","tag":"Immutable Settings","summary":"Разбивка потребления записей БД по таблицам","risk":"read","alwaysConfirm":false,"params":[],"docLinks":["mcp/operating-rules"],"searchText":"adminimmutablesettingscontroller_getrecordsusage get /immutable-settings/records-usage immutable settings разбивка потребления записей бд по таблицам "},{"opId":"AdminImmutableSettingsController_getResourcesUsage","method":"get","path":"/immutable-settings","fullPath":"/api/admin/immutable-settings","tag":"Immutable Settings","summary":"","risk":"read","alwaysConfirm":false,"params":[],"docLinks":["mcp/operating-rules"],"searchText":"adminimmutablesettingscontroller_getresourcesusage get /immutable-settings immutable settings "},{"opId":"AdminImportController_getHistoryRecords","method":"get","path":"/import/history","fullPath":"/api/admin/import/history","tag":"Import","summary":"Получение истории импорта","permission":"import.data","risk":"read","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/tests/import-e2e","mcp/operating-rules"],"searchText":"adminimportcontroller_gethistoryrecords get /import/history import получение истории импорта import.data"},{"opId":"AdminImportController_importFromBlueprint","method":"post","path":"/import/from-blueprint","fullPath":"/api/admin/import/from-blueprint","tag":"Import","summary":"Восстановление проекта из Blueprint (набора сырых строк 18 таблиц со ссылками-токенами)","permission":"import.data","risk":"write","alwaysConfirm":false,"params":[{"name":"dry_run","location":"query","required":false,"description":"Если true — транзакция откатывается, возвращается только registry","schema":{"type":"string"},"example":false},{"name":"auto_positions","location":"query","required":false,"description":"Если true (по умолчанию) — для колонок position_id, не указанных в blueprint, автоматически создаётся запись в positions","schema":{"type":"string"},"example":true}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"tables":{"type":"object","description":"Map of table name → array of rows. Row ids and FKs may be string tokens like \"@ns.name\" that the loader resolves to real DB ids.","example":{"attributes_sets":[{"id":"@aset.page","identifier":"page","type_id":4,"title":"Page","schema":{},"properties":{}}]}}},"required":["tables"]},"required":true},"responseSummary":"Успех: карты вставленных id и разрешённых токенов","docLinks":["back/tests/import-e2e","mcp/operating-rules"],"searchText":"adminimportcontroller_importfromblueprint post /import/from-blueprint import восстановление проекта из blueprint (набора сырых строк 18 таблиц со ссылками-токенами) import.data"},{"opId":"AdminImportController_removeHistoryRecord","method":"delete","path":"/import/history/{id}","fullPath":"/api/admin/import/history/{id}","tag":"Import","summary":"Удаление истории импорта и всех связанных импортируемых данных","permission":"import.data","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор записи","schema":{},"example":1}],"responseSummary":"Результат выполнения операции: true или false","docLinks":["back/tests/import-e2e","mcp/operating-rules"],"searchText":"adminimportcontroller_removehistoryrecord delete /import/history/{id} import удаление истории импорта и всех связанных импортируемых данных import.data"},{"opId":"AdminJournalTrafficController_clear","method":"delete","path":"/journal/traffic","fullPath":"/api/admin/journal/traffic","tag":"Journal","summary":"Очистить журнал трафика. Удаляются ТОЛЬКО закрытые сессии (closed_at IS NOT NULL).","risk":"destructive","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":false,"description":"Начало периода (ISO 8601). По умолчанию: текущее время минус 24 часа.","schema":{"type":"string","format":"date-time"},"example":"2026-05-24T00:00:00.000Z"},{"name":"to","location":"query","required":false,"description":"Конец периода (ISO 8601). По умолчанию: текущее время.","schema":{"type":"string","format":"date-time"},"example":"2026-05-25T23:59:59.999Z"},{"name":"limit","location":"query","required":false,"description":"Сколько записей вернуть (default 30, max 200).","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"Смещение для пагинации.","schema":{"type":"number"},"example":0},{"name":"adminId","location":"query","required":false,"description":"Фильтр по конкретному админу (admins.id).","schema":{"type":"number"},"example":1},{"name":"status","location":"query","required":false,"description":"Фильтр по статусу сессии.","schema":{"type":"string","enum":["active","closed","all"]},"example":"all"}],"responseSummary":"Сколько записей было удалено.","docLinks":["mcp/operating-rules"],"searchText":"adminjournaltrafficcontroller_clear delete /journal/traffic journal очистить журнал трафика. удаляются только закрытые сессии (closed_at is not null). "},{"opId":"AdminJournalTrafficController_getTraffic","method":"get","path":"/journal/traffic","fullPath":"/api/admin/journal/traffic","tag":"Journal","summary":"Журнал трафика админов: входы/выходы из системы за период","risk":"read","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":false,"description":"Начало периода (ISO 8601). По умолчанию: текущее время минус 24 часа.","schema":{"type":"string","format":"date-time"},"example":"2026-05-24T00:00:00.000Z"},{"name":"to","location":"query","required":false,"description":"Конец периода (ISO 8601). По умолчанию: текущее время.","schema":{"type":"string","format":"date-time"},"example":"2026-05-25T23:59:59.999Z"},{"name":"limit","location":"query","required":false,"description":"Сколько записей вернуть (default 30, max 200).","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"Смещение для пагинации.","schema":{"type":"number"},"example":0},{"name":"adminId","location":"query","required":false,"description":"Фильтр по конкретному админу (admins.id).","schema":{"type":"number"},"example":1},{"name":"status","location":"query","required":false,"description":"Фильтр по статусу сессии.","schema":{"type":"string","enum":["active","closed","all"]},"example":"all"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminjournaltrafficcontroller_gettraffic get /journal/traffic journal журнал трафика админов: входы/выходы из системы за период "},{"opId":"AdminLocalesController_checkExists","method":"get","path":"/locales/check-existence/{code}","fullPath":"/api/admin/locales/check-existence/{code}","tag":"Locales","summary":"Проверка на существование объекта языковой локализации","risk":"read","alwaysConfirm":false,"params":[{"name":"code","location":"path","required":true,"description":"код языковой локализации","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает значение true (если объект существует) или false (если объект не существует)","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_checkexists get /locales/check-existence/{code} locales проверка на существование объекта языковой локализации "},{"opId":"AdminLocalesController_create","method":"post","path":"/locales","fullPath":"/api/admin/locales","tag":"Locales","summary":"Создание объекта языковой локализации","permission":"settings.locales.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"shortCode":{"type":"string","description":"код языка (короткий)","example":"ru"},"code":{"type":"string","description":"код языка с указанием кода страны","example":"en_US"},"name":{"type":"string","description":"Название языка (на английском)","example":"Bengali"},"nativeName":{"type":"string","description":"Название языка (на родном языке)","example":"বাংলা"},"isActive":{"type":"boolean","description":"Признак использования","example":false},"image":{"type":"string","description":"Графическое изображения языка (в разработке)","example":"🇦🇨"},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"},"positionId":{"type":"number","description":"идентификатор объекта - позиции","example":"0|hzzzzz:"}}},"required":true},"responseSummary":"Возвращает созданный объект LocaleEntity (для обращения необходимо наличие разрешения \"locales.create\")","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_create post /locales locales создание объекта языковой локализации settings.locales.create"},{"opId":"AdminLocalesController_findAll","method":"get","path":"/locales","fullPath":"/api/admin/locales","tag":"Locales","summary":"Поиск всех объектов языковых локализаций","risk":"read","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"filterValue","location":"query","required":false,"description":"значение для поиска кода языковой локализации","schema":{"type":"string"},"example":"engl"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_findall get /locales locales поиск всех объектов языковых локализаций "},{"opId":"AdminLocalesController_findAllActive","method":"get","path":"/locales/active/all","fullPath":"/api/admin/locales/active/all","tag":"Locales","summary":"Поиск всех активных объектов языковых локализаций (доступных для использования)","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив объектов LocaleEntity","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_findallactive get /locales/active/all locales поиск всех активных объектов языковых локализаций (доступных для использования) "},{"opId":"AdminLocalesController_findOne","method":"get","path":"/locales/{id}","fullPath":"/api/admin/locales/{id}","tag":"Locales","summary":"Получение одного объекта языковой локализации","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор кода языковой локализации","schema":{"type":"number"},"example":12}],"responseSummary":"Возвращает объект LocaleEntity","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_findone get /locales/{id} locales получение одного объекта языковой локализации "},{"opId":"AdminLocalesController_remove","method":"delete","path":"/locales/{code}","fullPath":"/api/admin/locales/{code}","tag":"Locales","summary":"Удаление одного объекта языковой локализации","permission":"settings.locales.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"code","location":"path","required":true,"description":"код языковой локализации","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"settings.locales.delete\")","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_remove delete /locales/{code} locales удаление одного объекта языковой локализации settings.locales.delete"},{"opId":"AdminLocalesController_setActive","method":"put","path":"/locales/{code}/set-active","fullPath":"/api/admin/locales/{code}/set-active","tag":"Locales","summary":"Изменение статуса доступности одного объекта языковой локализации","permission":"settings.locales.switching","risk":"write","alwaysConfirm":false,"params":[{"name":"code","location":"path","required":true,"description":"код языковой локализации","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает true в случае успешного изменений и false - неуспешного (для обращения необходимо наличие разрешения \"settings.locales.switching\")","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_setactive put /locales/{code}/set-active locales изменение статуса доступности одного объекта языковой локализации settings.locales.switching"},{"opId":"AdminLocalesController_update","method":"put","path":"/locales/{id}","fullPath":"/api/admin/locales/{id}","tag":"Locales","summary":"Обновление одного объекта языковой локализации","permission":"settings.locales.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор кода языковой локализации","schema":{"type":"number"},"example":12}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"shortCode":{"type":"string","description":"код языка (короткий)","example":"ru"},"code":{"type":"string","description":"код языка с указанием кода страны","example":"en_US"},"name":{"type":"string","description":"Название языка (на английском)","example":"Bengali"},"nativeName":{"type":"string","description":"Название языка (на родном языке)","example":"বাংলা"},"isActive":{"type":"boolean","description":"Признак использования","example":false},"image":{"type":"string","description":"Графическое изображения языка (в разработке)","example":"🇦🇨"},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"},"positionId":{"type":"number","description":"идентификатор объекта - позиции","example":"0|hzzzzz:"}}},"required":true},"responseSummary":"Возвращает true в случае успешного обновления и false - неуспешного (для обращения необходимо наличие разрешения \"settings.locales.update\")","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_update put /locales/{id} locales обновление одного объекта языковой локализации settings.locales.update"},{"opId":"AdminLocalesController_updateAttributeSetPosition","method":"put","path":"/locales/{id}/position","fullPath":"/api/admin/locales/{id}/position","tag":"Locales","summary":"Обновление позиции у одного объекта языковой локализации","permission":"settings.locales.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionLocaleDto с новой позицией (для обращения необходимо наличие разрешения \"settings.locales.changePositions\")","docLinks":["mcp/operating-rules"],"searchText":"adminlocalescontroller_updateattributesetposition put /locales/{id}/position locales обновление позиции у одного объекта языковой локализации settings.locales.changepositions"},{"opId":"AdminMarkersController_create","method":"post","path":"/markers","fullPath":"/api/admin/markers","tag":"Markers","summary":"Создание объекта маркера","permission":"markers.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":17},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"name":{"type":"string","description":"название"},"marker":{"type":"string","description":"текстовый идентификатор"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название маркера с учетом локализации","example":{"en_US":{"title":"Мой маркер"}}}},"required":["identifier","name","marker"]},"required":true},"responseSummary":"Возвращает объект маркера MarkerEntity (для обращения необходимо наличие разрешения \"markers.create\")","docLinks":["mcp/operating-rules"],"searchText":"adminmarkerscontroller_create post /markers markers создание объекта маркера markers.create"},{"opId":"AdminMarkersController_findAll","method":"get","path":"/markers","fullPath":"/api/admin/markers","tag":"Markers","summary":"Получение всех объектов маркеров","risk":"read","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminmarkerscontroller_findall get /markers markers получение всех объектов маркеров "},{"opId":"AdminMarkersController_findOne","method":"get","path":"/markers/{id}","fullPath":"/api/admin/markers/{id}","tag":"Markers","summary":"Получение одного объекта маркера","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта маркера","schema":{},"example":1}],"responseSummary":"Возвращает один объект маркера MarkerEntity","docLinks":["mcp/operating-rules"],"searchText":"adminmarkerscontroller_findone get /markers/{id} markers получение одного объекта маркера "},{"opId":"AdminMarkersController_remove","method":"delete","path":"/markers/{id}","fullPath":"/api/admin/markers/{id}","tag":"Markers","summary":"Удаление объекта маркера","permission":"markers.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта формы","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"markers.delete\")","docLinks":["mcp/operating-rules"],"searchText":"adminmarkerscontroller_remove delete /markers/{id} markers удаление объекта маркера markers.delete"},{"opId":"AdminMarkersController_update","method":"put","path":"/markers/{id}","fullPath":"/api/admin/markers/{id}","tag":"Markers","summary":"Обновление объекта маркера","permission":"markers.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта маркера","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":17},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"name":{"type":"string","description":"название"},"marker":{"type":"string","description":"текстовый идентификатор"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название маркера с учетом локализации","example":{"en_US":{"title":"Мой маркер"}}}}},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"markers.update\")","docLinks":["mcp/operating-rules"],"searchText":"adminmarkerscontroller_update put /markers/{id} markers обновление объекта маркера markers.update"},{"opId":"AdminMenusController_create","method":"post","path":"/menus","fullPath":"/api/admin/menus","tag":"Menus","summary":"Создание объекта меню","permission":"menu.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание объекта меню с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"MainMenu"}}},"pagesIds":{"type":"array","description":"массив идентификаторов страниц, к которым объект меню привязан","example":[1,2,3],"items":{"type":"array"}},"pinnedIds":{"type":"array","description":"массив идентификаторов страниц, к которым автоматически добавляются новые меню","example":[1,2,3],"items":{"type":"array"}},"isPinned":{"type":"boolean","description":"признак статуса для pinnedIds","example":true},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"}},"required":["identifier"]},"required":true},"responseSummary":"Возвращает созданный объект меню MenuEntity","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_create post /menus menus создание объекта меню menu.create"},{"opId":"AdminMenusController_createCustomItem","method":"post","path":"/menus/{id}/custom-items","fullPath":"/api/admin/menus/{id}/custom-items","tag":"Menus","summary":"Создание кастомного (произвольного) пункта меню","permission":"menu.items.add","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта меню","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"мультиязычное описание пункта (например, en_US: { title: \"External link\" })","example":{"en_US":{"title":"External link"}}},"value":{"type":"string","description":"значение пункта меню — URL, anchor, mailto, tel или относительный путь","example":"https://example.com/about"}},"required":["localizeInfos","value"]},"required":true},"responseSummary":"Возвращает созданный объект MenuCustomItemEntity","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_createcustomitem post /menus/{id}/custom-items menus создание кастомного (произвольного) пункта меню menu.items.add"},{"opId":"AdminMenusController_findAll","method":"get","path":"/menus","fullPath":"/api/admin/menus","tag":"Menus","summary":"Получение всех объектов меню в виде массива","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает все созданные меню в виде массива объектов AdminMenuDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_findall get /menus menus получение всех объектов меню в виде массива "},{"opId":"AdminMenusController_findAllByMenuId","method":"get","path":"/menus/{id}/included","fullPath":"/api/admin/menus/{id}/included","tag":"Menus","summary":"Получение всех объектов PageMenuDto, включенных в меню","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта меню","schema":{"type":"number"}}],"responseSummary":"Возвращает все объекты PageMenuDto, включенные в меню или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_findallbymenuid get /menus/{id}/included menus получение всех объектов pagemenudto, включенных в меню "},{"opId":"AdminMenusController_findByMarker","method":"get","path":"/menus/marker/{marker}","fullPath":"/api/admin/menus/marker/{marker}","tag":"Menus","summary":"Получение страниц, включенных меню по маркеру","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"маркер меню","schema":{"type":"string"},"example":"marker"}],"responseSummary":"Возвращает один объект меню в виде объекта ContentMenuDto, с включенными страницами","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_findbymarker get /menus/marker/{marker} menus получение страниц, включенных меню по маркеру "},{"opId":"AdminMenusController_findOne","method":"get","path":"/menus/{id}","fullPath":"/api/admin/menus/{id}","tag":"Menus","summary":"Получение одного объекта меню по его идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор получаемого объекта меню","schema":{"type":"number"},"example":"marker"}],"responseSummary":"Возвращает один объект меню в виде объекта MenuEntity","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_findone get /menus/{id} menus получение одного объекта меню по его идентификатору "},{"opId":"AdminMenusController_remove","method":"delete","path":"/menus/{id}","fullPath":"/api/admin/menus/{id}","tag":"Menus","summary":"Удаление одного объекта меню","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор удаляемого объекта меню","schema":{"type":"number"}}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_remove delete /menus/{id} menus удаление одного объекта меню "},{"opId":"AdminMenusController_removeCustomItem","method":"delete","path":"/menus/{id}/custom-items/{itemId}","fullPath":"/api/admin/menus/{id}/custom-items/{itemId}","tag":"Menus","summary":"Удаление кастомного пункта меню","permission":"menu.items.remove","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта меню","schema":{"type":"number"},"example":1},{"name":"itemId","location":"path","required":true,"description":"идентификатор кастомного пункта меню","schema":{"type":"number"},"example":42}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"flag":{"type":"string","description":"режим удаления кастомного пункта меню","enum":["self_only","with_children"]}}},"required":false},"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_removecustomitem delete /menus/{id}/custom-items/{itemid} menus удаление кастомного пункта меню menu.items.remove"},{"opId":"AdminMenusController_update","method":"put","path":"/menus/{id}","fullPath":"/api/admin/menus/{id}","tag":"Menus","summary":"Обновление одного объекта меню","permission":"menu.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор обновляемого объекта меню","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание объекта меню с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"MainMenu"}}},"pagesIds":{"type":"array","description":"массив идентификаторов страниц, к которым объект меню привязан","example":[1,2,3],"items":{"type":"array"}},"pinnedIds":{"type":"array","description":"массив идентификаторов страниц, к которым автоматически добавляются новые меню","example":[1,2,3],"items":{"type":"array"}},"isPinned":{"type":"boolean","description":"признак статуса для pinnedIds","example":true},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"}}},"required":true},"responseSummary":"Возвращает значение true (в случае успешного обновления) или false (в случае неуспешного обновления)","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_update put /menus/{id} menus обновление одного объекта меню menu.update"},{"opId":"AdminMenusController_updateCustomItem","method":"put","path":"/menus/{id}/custom-items/{itemId}","fullPath":"/api/admin/menus/{id}/custom-items/{itemId}","tag":"Menus","summary":"Обновление кастомного пункта меню","permission":"menu.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта меню","schema":{"type":"number"},"example":1},{"name":"itemId","location":"path","required":true,"description":"идентификатор кастомного пункта меню","schema":{"type":"number"},"example":42}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"мультиязычное описание пункта (например, en_US: { title: \"External link\" })","example":{"en_US":{"title":"External link"}}},"value":{"type":"string","description":"значение пункта меню — URL, anchor, mailto, tel или относительный путь","example":"https://example.com/about"}}},"required":true},"responseSummary":"Возвращает обновлённый объект MenuCustomItemEntity","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_updatecustomitem put /menus/{id}/custom-items/{itemid} menus обновление кастомного пункта меню menu.update"},{"opId":"AdminMenusController_updateCustomItemPosition","method":"put","path":"/menus/{id}/custom-items/{itemId}/position","fullPath":"/api/admin/menus/{id}/custom-items/{itemId}/position","tag":"Menus","summary":"Обновление позиции кастомного пункта меню","permission":"menu.items.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта меню","schema":{"type":"number"},"example":1},{"name":"itemId","location":"path","required":true,"description":"идентификатор кастомного пункта меню","schema":{"type":"number"},"example":42}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает обновлённый объект MenuCustomItemEntity","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_updatecustomitemposition put /menus/{id}/custom-items/{itemid}/position menus обновление позиции кастомного пункта меню menu.items.changepositions"},{"opId":"AdminMenusController_updatePosition","method":"put","path":"/menus/{id}/page/{pageId}/position","fullPath":"/api/admin/menus/{id}/page/{pageId}/position","tag":"Menus","summary":"Обновление позиции у одного пункта меню","permission":"menu.items.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта меню","schema":{"type":"number"},"example":1},{"name":"pageId","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект MenuPageEntity с обновленной позицией","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_updateposition put /menus/{id}/page/{pageid}/position menus обновление позиции у одного пункта меню menu.items.changepositions"},{"opId":"AdminMenusController_validateMarker","method":"get","path":"/menus/marker-validation/{marker}","fullPath":"/api/admin/menus/marker-validation/{marker}","tag":"Menus","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/menus-module","back/tests/menus-e2e","mcp/operating-rules"],"searchText":"adminmenuscontroller_validatemarker get /menus/marker-validation/{marker} menus проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminModulesController_createCustomModule","method":"post","path":"/modules/create","fullPath":"/api/admin/modules/create","tag":"Modules","summary":"Добавление пользовательского модуля","permission":"settings.modules.upload","risk":"write","alwaysConfirm":true,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"маркер","example":"currency-checker"},"localizeInfos":{"x-source-type":"ModuleLocalizeInfos","x-loose":true,"description":"название модуля с учетом локализации","example":{"en_US":{"title":"Currency checker"}}},"config":{"type":"object","description":"Параметры модуля, например переменные окружения","example":{"env":{"name":"VAR","value":"VALUE"}}},"type":{"type":"string","description":"Тип модуля","example":"custom","enum":["system","custom"]}},"required":["identifier","localizeInfos","config","type"]},"required":true},"docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_createcustommodule post /modules/create modules добавление пользовательского модуля settings.modules.upload"},{"opId":"AdminModulesController_customModuleStatus","method":"get","path":"/modules/{id}/state","fullPath":"/api/admin/modules/{id}/state","tag":"Modules","summary":"Получение состояния контейнера связанного с модулем","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Информация о состоянии модуля","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_custommodulestatus get /modules/{id}/state modules получение состояния контейнера связанного с модулем "},{"opId":"AdminModulesController_deploy","method":"post","path":"/modules/{id}/deploy","fullPath":"/api/admin/modules/{id}/deploy","tag":"Modules","summary":"Развёртывание модуля","risk":"write","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"Идентификатор модуля","schema":{"type":"number"}}],"docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_deploy post /modules/{id}/deploy modules развёртывание модуля "},{"opId":"AdminModulesController_findAll","method":"get","path":"/modules","fullPath":"/api/admin/modules","tag":"Modules","summary":"Получение всех модулей","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает объекты BaseModuleDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_findall get /modules modules получение всех модулей "},{"opId":"AdminModulesController_findAllByModuleId","method":"get","path":"/modules/{id}/user-permissions","fullPath":"/api/admin/modules/{id}/user-permissions","tag":"Modules","summary":"Поиск всех объектов разрешений для модуля","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор модуля","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает массив объектов UserPermissionEntity","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_findallbymoduleid get /modules/{id}/user-permissions modules поиск всех объектов разрешений для модуля "},{"opId":"AdminModulesController_queryLogs","method":"get","path":"/modules/{id}/logs","fullPath":"/api/admin/modules/{id}/logs","tag":"Modules","summary":"Запрос логов контейнера","risk":"read","alwaysConfirm":false,"params":[{"name":"from","location":"query","required":true,"description":"Начало отображения логов","schema":{"type":"string"},"example":"2024-11-11T14:53:37.060Z"},{"name":"to","location":"query","required":true,"description":"Конец отображения логов","schema":{"type":"string"},"example":"2024-11-11T15:53:37.060Z"},{"name":"id","location":"path","required":true,"description":"идентификатор модуля","schema":{"type":"number"}}],"responseSummary":"Срез логов за выбранный период","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_querylogs get /modules/{id}/logs modules запрос логов контейнера "},{"opId":"AdminModulesController_remove","method":"delete","path":"/modules/{id}","fullPath":"/api/admin/modules/{id}","tag":"Modules","summary":"Удаление объекта модуля","permission":"settings.modules.delete","risk":"destructive","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта модуля","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_remove delete /modules/{id} modules удаление объекта модуля settings.modules.delete"},{"opId":"AdminModulesController_resumeModule","method":"post","path":"/modules/{id}/resume","fullPath":"/api/admin/modules/{id}/resume","tag":"Modules","summary":"Возобновляет работу контейнера связанного с модулем если ранее был приостановлен","risk":"write","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор модуля","schema":{"type":"number"}}],"responseSummary":"Информация о состоянии модуля","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_resumemodule post /modules/{id}/resume modules возобновляет работу контейнера связанного с модулем если ранее был приостановлен "},{"opId":"AdminModulesController_setAdminVisibility","method":"put","path":"/modules/{id}/change-visibility","fullPath":"/api/admin/modules/{id}/change-visibility","tag":"Modules","summary":"Изменение видимости объекта модуля","permission":"settings.modules.switching","risk":"write","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_setadminvisibility put /modules/{id}/change-visibility modules изменение видимости объекта модуля settings.modules.switching"},{"opId":"AdminModulesController_suspendModule","method":"post","path":"/modules/{id}/suspend","fullPath":"/api/admin/modules/{id}/suspend","tag":"Modules","summary":"Приостанавливает контейнер связанный с модулем","risk":"write","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"Идентификатор модуля","schema":{"type":"number"}}],"responseSummary":"Информация о состоянии модуля","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_suspendmodule post /modules/{id}/suspend modules приостанавливает контейнер связанный с модулем "},{"opId":"AdminModulesController_updateModulePosition","method":"put","path":"/modules/{id}/position","fullPath":"/api/admin/modules/{id}/position","tag":"Modules","summary":"Обновление позиции у одного объекта модуля","permission":"settings.modules.changePositions","risk":"write","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта модуля","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект BaseModuleDto с новой позицией","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_updatemoduleposition put /modules/{id}/position modules обновление позиции у одного объекта модуля settings.modules.changepositions"},{"opId":"AdminModulesController_validateMarker","method":"get","path":"/modules/marker-validation/{marker}","fullPath":"/api/admin/modules/marker-validation/{marker}","tag":"Modules","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminmodulescontroller_validatemarker get /modules/marker-validation/{marker} modules проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminOrderController_createRequestRefund","method":"post","path":"/orders/{id}/refund","fullPath":"/api/admin/orders/{id}/refund","tag":"Orders","summary":"создание запроса на возврат","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":12}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"products":{"type":"object","description":"Информация о товарах для возврата"},"note":{"type":"string","description":"комментарий"}},"required":["products","note"]},"required":true},"responseSummary":"Возвращает true в случае успеха","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordercontroller_createrequestrefund post /orders/{id}/refund orders создание запроса на возврат "},{"opId":"AdminOrderController_deleteRequestRefund","method":"delete","path":"/orders/{id}/refund","fullPath":"/api/admin/orders/{id}/refund","tag":"Orders","summary":"отмена запроса на возврат","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":12}],"responseSummary":"Возвращает true в случае успеха","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordercontroller_deleterequestrefund delete /orders/{id}/refund orders отмена запроса на возврат "},{"opId":"AdminOrderController_findOneOrderByOrderId","method":"get","path":"/orders/{id}","fullPath":"/api/admin/orders/{id}","tag":"Orders","summary":"Получение одного заказа по его идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":12}],"responseSummary":"Возвращает объект AdminOrderDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordercontroller_findoneorderbyorderid get /orders/{id} orders получение одного заказа по его идентификатору "},{"opId":"AdminOrderController_findRefundRequests","method":"get","path":"/orders/refund-requests","fullPath":"/api/admin/orders/refund-requests","tag":"Orders","summary":"Получение всех запросов на возврат","risk":"read","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordercontroller_findrefundrequests get /orders/refund-requests orders получение всех запросов на возврат "},{"opId":"AdminOrderController_getRequestRefunds","method":"get","path":"/orders/{id}/refund","fullPath":"/api/admin/orders/{id}/refund","tag":"Orders","summary":"получение всех запросов на возврат для заказа","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":12}],"responseSummary":"Возвращает массив RefundRequestDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordercontroller_getrequestrefunds get /orders/{id}/refund orders получение всех запросов на возврат для заказа "},{"opId":"AdminOrderController_refundRequests","method":"post","path":"/orders/refund-requests","fullPath":"/api/admin/orders/refund-requests","tag":"Orders","summary":"Обработка одного запроса на возврат","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор запроса на возврат"},"action":{"type":"string","description":"тип действия","enum":["approve","reject"]}},"required":["id","action"]},"required":true},"responseSummary":"Возвращает true при успешной обработке","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordercontroller_refundrequests post /orders/refund-requests orders обработка одного запроса на возврат "},{"opId":"AdminOrdersStorageController_create","method":"post","path":"/orders-storage","fullPath":"/api/admin/orders-storage","tag":"Orders","summary":"Создание объекта хранилища заказов","permission":"orders.storage.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"generalTypeId":{"type":"number","description":"идентификатор типа для заказа","example":1},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название заказа с учетом локализации","example":{"en_US":{"title":"Заказ 1"}}}},"required":["identifier","localizeInfos"]},"required":true},"responseSummary":"Возвращает созданный объект OrderStorageEntity (для обращения необходимо наличие разрешения \"orders.storage.create\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_create post /orders-storage orders создание объекта хранилища заказов orders.storage.create"},{"opId":"AdminOrdersStorageController_createOrderStatus","method":"post","path":"/orders-storage/{id}/order-statuses","fullPath":"/api/admin/orders-storage/{id}/order-statuses","tag":"Orders","summary":"Создание статуса заказа для хранилища заказов","permission":"orders.storage.order-status.create","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"localizeInfos":{"x-source-type":"CommonLocalizeInfo","x-loose":true,"description":"название статуса заказа с учетом локализации","example":{"en_US":{"title":"Статус 1"}}},"isDefault":{"type":"boolean","description":"признак статуса по умолчанию","example":false},"isCancelFinal":{"type":"boolean","description":"финальная отмена: при переходе заказа в этот статус потраченные бонусы возвращаются пользователю (обычный cancel-статус их не возвращает)","example":false},"isFinalSuccess":{"type":"boolean","description":"финальный успех: заказ в этом статусе считается завершённой продажей и учитывается в LTV пользователя (нетто — за вычетом успешно возвращённых денег)","example":false},"axis":{"type":"string","description":"ось, к которой принадлежит статус (order/fulfillment/payment)","example":"order","enum":["order","fulfillment","payment"]},"storageId":{"type":"number","description":"идентификатор объекта хранилища заказов","example":1},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"},"positionId":{"type":"number","description":"идентификатор объекта позиции","example":"0|hzzzzz:"}},"required":["identifier"]},"required":true},"responseSummary":"Возвращает созданный объект OrderStatusEntity (для обращения необходимо наличие разрешения \"orders.storage.order-status.create\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_createorderstatus post /orders-storage/{id}/order-statuses orders создание статуса заказа для хранилища заказов orders.storage.order-status.create"},{"opId":"AdminOrdersStorageController_createStatusTrigger","method":"post","path":"/orders-storage/{id}/triggers","fullPath":"/api/admin/orders-storage/{id}/triggers","tag":"Orders","summary":"Создание кастомного триггера хранилища заказов","permission":"orders.storage.order-status.create","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"localizeInfos":{"x-source-type":"CommonLocalizeInfo","x-loose":true,"description":"название триггера с учётом локализации","example":{"en_US":{"title":"Ready for pickup"}}},"orderStorageId":{"type":"number","description":"идентификатор объекта хранилища заказов","example":1}},"required":["identifier"]},"required":true},"responseSummary":"Возвращает созданный объект OrderStatusTriggerEntity","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_createstatustrigger post /orders-storage/{id}/triggers orders создание кастомного триггера хранилища заказов orders.storage.order-status.create"},{"opId":"AdminOrdersStorageController_findAll","method":"get","path":"/orders-storage","fullPath":"/api/admin/orders-storage","tag":"Orders","summary":"Получение всех объектов хранилища заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает массив объектов AdminOrderStorageDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findall get /orders-storage orders получение всех объектов хранилища заказов "},{"opId":"AdminOrdersStorageController_findAllOrdersByStorageId","method":"get","path":"/orders-storage/{id}/orders","fullPath":"/api/admin/orders-storage/{id}/orders","tag":"Orders","summary":"Получение всех заказов, принадлежащих объекту хранилища заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"statusIdentifier","location":"query","required":true,"description":"идентификатор статуса заказа","schema":{"type":"string"},"example":"created"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findallordersbystorageid get /orders-storage/{id}/orders orders получение всех заказов, принадлежащих объекту хранилища заказов "},{"opId":"AdminOrdersStorageController_findAllOrdersByStorageMarker","method":"get","path":"/orders-storage/marker/{marker}/orders","fullPath":"/api/admin/orders-storage/marker/{marker}/orders","tag":"Orders","summary":"Получение всех заказов из объекта хранилища заказов, созданных пользователем","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":"my-orders"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findallordersbystoragemarker get /orders-storage/marker/{marker}/orders orders получение всех заказов из объекта хранилища заказов, созданных пользователем "},{"opId":"AdminOrdersStorageController_findAllOrdersFromAllStorages","method":"get","path":"/orders-storage/orders","fullPath":"/api/admin/orders-storage/orders","tag":"Orders","summary":"Получение всех заказов из всех объектов хранилищ заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"statusIdentifier","location":"query","required":true,"description":"идентификатор статуса заказа","schema":{"type":"string"},"example":"created"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findallordersfromallstorages get /orders-storage/orders orders получение всех заказов из всех объектов хранилищ заказов "},{"opId":"AdminOrdersStorageController_findAllOrderStatusesByStorageId","method":"get","path":"/orders-storage/{id}/order-statuses","fullPath":"/api/admin/orders-storage/{id}/order-statuses","tag":"Orders","summary":"Получение всех статусов заказа, принадлежащих объекту хранилища заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"axis","location":"query","required":false,"description":"фильтр статусов по оси (order/fulfillment/payment)","schema":{"type":"string","enum":["order","fulfillment","payment"]},"example":"fulfillment"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":"my-orders"}],"responseSummary":"Возвращает массив объектов AdminOrderStatusDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findallorderstatusesbystorageid get /orders-storage/{id}/order-statuses orders получение всех статусов заказа, принадлежащих объекту хранилища заказов "},{"opId":"AdminOrdersStorageController_findAllOrderStatusesByStorageMarker","method":"get","path":"/orders-storage/marker/{marker}/order-statuses","fullPath":"/api/admin/orders-storage/marker/{marker}/order-statuses","tag":"Orders","summary":"Получение всех статусов заказа, принадлежащих объекту хранилища заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":"my-orders"}],"responseSummary":"Возвращает массив объектов ContentOrderStatusDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findallorderstatusesbystoragemarker get /orders-storage/marker/{marker}/order-statuses orders получение всех статусов заказа, принадлежащих объекту хранилища заказов "},{"opId":"AdminOrdersStorageController_findOne","method":"get","path":"/orders-storage/{id}","fullPath":"/api/admin/orders-storage/{id}","tag":"Orders","summary":"Получение одного объекта хранилища заказа","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{},"example":1}],"responseSummary":"Возвращает один объект формы AdminOrderStorageDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findone get /orders-storage/{id} orders получение одного объекта хранилища заказа "},{"opId":"AdminOrdersStorageController_findOneByMarker","method":"get","path":"/orders-storage/marker/{marker}","fullPath":"/api/admin/orders-storage/marker/{marker}","tag":"Orders","summary":"Получение одного объекта хранилища заказов по маркеру","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"маркер объекта заказа","schema":{"type":"string"},"example":"my-order"}],"responseSummary":"Возвращает объект ContentOrderStorageDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findonebymarker get /orders-storage/marker/{marker} orders получение одного объекта хранилища заказов по маркеру "},{"opId":"AdminOrdersStorageController_findOneOrderByStorageMarkerAndOrderId","method":"get","path":"/orders-storage/marker/{marker}/orders/{id}","fullPath":"/api/admin/orders-storage/marker/{marker}/orders/{id}","tag":"Orders","summary":"Получение одного заказа из объекта хранилища заказов, созданного пользователем","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":12},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":"my-orders"}],"responseSummary":"Возвращает объект ContentOrderDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findoneorderbystoragemarkerandorderid get /orders-storage/marker/{marker}/orders/{id} orders получение одного заказа из объекта хранилища заказов, созданного пользователем "},{"opId":"AdminOrdersStorageController_findOneOrderStatusesByStorageId","method":"get","path":"/orders-storage/{id}/order-statuses/{statusId}","fullPath":"/api/admin/orders-storage/{id}/order-statuses/{statusId}","tag":"Orders","summary":"Получение одного статуса заказа, принадлежащих объекту хранилища заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":"my-orders"},{"name":"statusId","location":"path","required":true,"schema":{"type":"number"}}],"responseSummary":"Возвращает объект AdminOrderStatusDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findoneorderstatusesbystorageid get /orders-storage/{id}/order-statuses/{statusid} orders получение одного статуса заказа, принадлежащих объекту хранилища заказов "},{"opId":"AdminOrdersStorageController_findOrder","method":"get","path":"/orders-storage/{id}/order/{orderId}","fullPath":"/api/admin/orders-storage/{id}/order/{orderId}","tag":"Orders","summary":"Получение одного заказа из объекта хранилища заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"orderId","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":12},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект ContentOrderDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findorder get /orders-storage/{id}/order/{orderid} orders получение одного заказа из объекта хранилища заказов "},{"opId":"AdminOrdersStorageController_findRefunds","method":"get","path":"/orders-storage/{storageId}/refund/{id}","fullPath":"/api/admin/orders-storage/{storageId}/refund/{id}","tag":"Orders","summary":"История возвратов для заказа","permission":"payments.refunds","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор заказа","schema":{"type":"number"}},{"name":"storageId","location":"path","required":true,"description":"идентификатор хранилища заказов","schema":{"type":"number"}}],"responseSummary":"Возвращает массив true если возврат прошёл успешно","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_findrefunds get /orders-storage/{storageid}/refund/{id} orders история возвратов для заказа payments.refunds"},{"opId":"AdminOrdersStorageController_fireStatusTrigger","method":"post","path":"/orders-storage/{id}/orders/{orderId}/status-trigger","fullPath":"/api/admin/orders-storage/{id}/orders/{orderId}/status-trigger","tag":"Orders","summary":"Применить триггер к заказу — двигает оси order/fulfillment по картам мерчанта. Для интеграций/workflow","permission":"orders.storage.order-status.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1},{"name":"orderId","location":"path","required":true,"description":"идентификатор заказа","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"trigger":{"type":"string","description":"триггер каталога (payment.paid и т.п.) или кастомный (custom.*)","example":"custom.ready_for_pickup"}},"required":["trigger"]},"required":true},"responseSummary":"Возвращает true в случае успешного применения триггера (требуется разрешение \"orders.storage.order-status.update\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_firestatustrigger post /orders-storage/{id}/orders/{orderid}/status-trigger orders применить триггер к заказу — двигает оси order/fulfillment по картам мерчанта. для интеграций/workflow orders.storage.order-status.update"},{"opId":"AdminOrdersStorageController_getAxisStatusMap","method":"get","path":"/orders-storage/{id}/status-maps/{axis}","fullPath":"/api/admin/orders-storage/{id}/status-maps/{axis}","tag":"Orders","summary":"Получение карты «триггер → статус» для оси order/fulfillment","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1},{"name":"axis","location":"path","required":true,"description":"ось статуса (order или fulfillment)","schema":{"type":"string","enum":["order","fulfillment","payment"]},"example":"order"}],"responseSummary":"Возвращает объект AxisStatusMapDto или null","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_getaxisstatusmap get /orders-storage/{id}/status-maps/{axis} orders получение карты «триггер → статус» для оси order/fulfillment "},{"opId":"AdminOrdersStorageController_history","method":"get","path":"/orders-storage/{storageId}/history/{id}","fullPath":"/api/admin/orders-storage/{storageId}/history/{id}","tag":"Orders","summary":"История изменения заказа","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор заказа","schema":{"type":"number"}},{"name":"storageId","location":"path","required":true,"description":"идентификатор хранилища заказов","schema":{"type":"number"}},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_history get /orders-storage/{storageid}/history/{id} orders история изменения заказа "},{"opId":"AdminOrdersStorageController_listStatusTriggers","method":"get","path":"/orders-storage/{id}/triggers","fullPath":"/api/admin/orders-storage/{id}/triggers","tag":"Orders","summary":"Получение списка кастомных триггеров хранилища заказов","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает массив кастомных триггеров хранилища заказов","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_liststatustriggers get /orders-storage/{id}/triggers orders получение списка кастомных триггеров хранилища заказов "},{"opId":"AdminOrdersStorageController_previewOrder","method":"post","path":"/orders-storage/orders/preview","fullPath":"/api/admin/orders-storage/orders/preview","tag":"Orders","summary":"Предварительный расчёт заказа с учётом скидок и купонов (без сохранения)","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка (значение по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"products":{"type":"array","description":"массив заказанных товаров","example":[{"productId":1,"quantity":2},{"productId":2,"quantity":3,"signedPrice":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."}],"items":{"type":"object","properties":{"productId":{"type":"number","description":"идентификатор товара","example":12},"quantity":{"type":"number","description":"количество товара","example":1},"signedPrice":{"type":"string","description":"токен с фиксированной ценой товара (опционально)"}},"required":["productId","quantity"]}},"couponCode":{"type":"string","description":"код купона (опционально)","example":"SUMMER2024"},"additionalDiscountsMarkers":{"type":"array","description":"маркеры дополнительных скидок для применения (опционально). Только для скидок с conditionType PRODUCT_IN_CART и CATEGORY_IN_CART","example":["discount-marker-1","discount-marker-2"],"items":{"type":"string"}},"bonusAmount":{"type":"number","description":"сумма бонусов для списания (опционально). Если не указано или 0 — бонусы не применяются","example":200}},"required":["products"]},"required":true},"responseSummary":"Возвращает объект с рассчитанными ценами, скидками, подарками и информацией о купоне","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_previeworder post /orders-storage/orders/preview orders предварительный расчёт заказа с учётом скидок и купонов (без сохранения) "},{"opId":"AdminOrdersStorageController_previewRefund","method":"post","path":"/orders-storage/{storageId}/refund/{id}/preview","fullPath":"/api/admin/orders-storage/{storageId}/refund/{id}/preview","tag":"Orders","summary":"Возврат средств для выбранных товаров в заказе","permission":"payments.refunds","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор заказа","schema":{"type":"number"}},{"name":"storageId","location":"path","required":true,"description":"идентификатор хранилища заказов","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"note":{"type":"string","description":"комментарий"},"products":{"type":"object","description":"продукты для подсчёта суммы возврата"}},"required":["note","products"]},"required":true},"responseSummary":"Возвращает true если возврат прошёл успешно","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_previewrefund post /orders-storage/{storageid}/refund/{id}/preview orders возврат средств для выбранных товаров в заказе payments.refunds"},{"opId":"AdminOrdersStorageController_refundOrder","method":"post","path":"/orders-storage/{storageId}/refund/{id}","fullPath":"/api/admin/orders-storage/{storageId}/refund/{id}","tag":"Orders","summary":"","permission":"payments.refunds","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"note":{"type":"string","description":"комментарий"},"products":{"type":"object","description":"продукты для подсчёта суммы возврата"}},"required":["note","products"]},"required":true},"docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_refundorder post /orders-storage/{storageid}/refund/{id} orders payments.refunds"},{"opId":"AdminOrdersStorageController_remove","method":"delete","path":"/orders-storage/{id}","fullPath":"/api/admin/orders-storage/{id}","tag":"Orders","summary":"Удаление объекта хранилища заказов","permission":"orders.storage.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"orders.storage.delete\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_remove delete /orders-storage/{id} orders удаление объекта хранилища заказов orders.storage.delete"},{"opId":"AdminOrdersStorageController_removeAllOrders","method":"delete","path":"/orders-storage/{id}/orders","fullPath":"/api/admin/orders-storage/{id}/orders","tag":"Orders","summary":"Удаление нескольких объектов заказов из хранилища заказов","permission":"orders.storage.order.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"deleteAll":{"type":"boolean","description":"признак удаления всех данных","example":true},"ids":{"type":"array","description":"числовые идентификаторы удаляемых объектов данных формы","example":"my-form","items":{"type":"number"}}},"required":["deleteAll","ids"]},"required":true},"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"orders-storage-order.delete\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_removeallorders delete /orders-storage/{id}/orders orders удаление нескольких объектов заказов из хранилища заказов orders.storage.order.delete"},{"opId":"AdminOrdersStorageController_removeOrder","method":"delete","path":"/orders-storage/{id}/orders/{orderId}","fullPath":"/api/admin/orders-storage/{id}/orders/{orderId}","tag":"Orders","summary":"Удаление объекта заказа из хранилища заказов","permission":"orders.storage.order.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1},{"name":"orderId","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":2}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"orders.storage.order.delete\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_removeorder delete /orders-storage/{id}/orders/{orderid} orders удаление объекта заказа из хранилища заказов orders.storage.order.delete"},{"opId":"AdminOrdersStorageController_removeOrderStatus","method":"delete","path":"/orders-storage/{id}/order-statuses/{statusId}","fullPath":"/api/admin/orders-storage/{id}/order-statuses/{statusId}","tag":"Orders","summary":"Удаление объекта статуса заказа для объекта хранилища заказов","permission":"orders.storage.order-status.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1},{"name":"statusId","location":"path","required":true,"description":"идентификатор объекта статуса заказа","schema":{"type":"number"},"example":2}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"orders.storage.order-status.delete\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_removeorderstatus delete /orders-storage/{id}/order-statuses/{statusid} orders удаление объекта статуса заказа для объекта хранилища заказов orders.storage.order-status.delete"},{"opId":"AdminOrdersStorageController_removeStatusTrigger","method":"delete","path":"/orders-storage/{id}/triggers/{triggerId}","fullPath":"/api/admin/orders-storage/{id}/triggers/{triggerId}","tag":"Orders","summary":"Удаление кастомного триггера хранилища заказов","permission":"orders.storage.order-status.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1},{"name":"triggerId","location":"path","required":true,"description":"идентификатор кастомного триггера","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает true в случае успешного удаления (требуется разрешение \"orders.storage.order-status.delete\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_removestatustrigger delete /orders-storage/{id}/triggers/{triggerid} orders удаление кастомного триггера хранилища заказов orders.storage.order-status.delete"},{"opId":"AdminOrdersStorageController_update","method":"put","path":"/orders-storage/{id}","fullPath":"/api/admin/orders-storage/{id}","tag":"Orders","summary":"Обновление объекта хранилища заказа","permission":"orders.storage.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"generalTypeId":{"type":"number","description":"идентификатор типа для заказа","example":1},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название заказа с учетом локализации","example":{"en_US":{"title":"Заказ 1"}}},"formId":{"type":"number","description":"идентификатор для формы, привязанной к хранилищу заказов","example":1},"paymentAccountIds":{"type":"array","description":"массив идентификаторов платежных аккаунтов, привязанных к хранилищу заказов","example":[1,2,3],"items":{"type":"array"}},"priceExpiration":{"type":"string","description":"Максимальный срок фиксации цены"},"statusMode":{"type":"string","description":"Режим работы статусов заказа. «basic» — простой: при оплате меняется единый статус, отражающий и состояние заказа, и оплату (подходит большинству магазинов). «advanced» — гибкий: три независимых статуса — заказ, оплата и доставка, каждый на…","example":"advanced","enum":["basic","advanced"]}},"required":["formId"]},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"orders.storage.update\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_update put /orders-storage/{id} orders обновление объекта хранилища заказа orders.storage.update"},{"opId":"AdminOrdersStorageController_updateAxisStatusMap","method":"put","path":"/orders-storage/{id}/status-maps","fullPath":"/api/admin/orders-storage/{id}/status-maps","tag":"Orders","summary":"Обновление карты «триггер → статус» для оси order/fulfillment","permission":"orders.storage.order-status.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"orderStorageId":{"type":"number","description":"идентификатор объекта хранилища заказов","example":1},"axis":{"type":"string","description":"ось статуса (order или fulfillment)","example":"order","enum":["order","fulfillment","payment"]},"statusMap":{"type":"object","x-source-type":"Record<StatusTrigger, string>","x-loose":true,"description":"соответствие триггера каталога и identifier статуса заказа для данной оси","example":{"payment.paid":"processing","refund.full":"cancelled"}}},"required":["orderStorageId","axis","statusMap"]},"required":true},"responseSummary":"Возвращает true в случае успешного обновления","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_updateaxisstatusmap put /orders-storage/{id}/status-maps orders обновление карты «триггер → статус» для оси order/fulfillment orders.storage.order-status.update"},{"opId":"AdminOrdersStorageController_updateOneOrder","method":"put","path":"/orders-storage/{id}/order/{orderId}","fullPath":"/api/admin/orders-storage/{id}/order/{orderId}","tag":"Orders","summary":"Изменение заказа в хранилище заказов","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1},{"name":"orderId","location":"path","required":true,"description":"идентификатор объекта заказа","schema":{"type":"number"},"example":12},{"name":"langCode (значение по умолчанию - en_US)","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"formIdentifier":{"type":"string","description":"текстовый идентификатор объекта формы, привязанной к хранилищу заказов","example":"bars"},"paymentAccountIdentifier":{"type":"string","description":"текстовый идентификатор объекта платежа, привязанного к хранилищу заказов","example":"payment1"},"statusIdentifier":{"type":"string","description":"текстовый идентификатор объекта статуса заказа (если не задано, то будет назначен статус по умолчанию)","example":"inprogress"},"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные формы, привязанной к хранилищу заказов","example":{"en_US":[{"marker":"naimenovanie_1","type":"string","value":"Наименование"}]}},"products":{"type":"array","description":"массив, заказанных товаров (опционально)","example":[{"productId":1,"quantity":2},{"productId":2,"quantity":3}],"items":{"type":"object","properties":{"productId":{"type":"number","description":"идентификатор товара","example":12},"quantity":{"type":"number","description":"количество товара","example":1},"signedPrice":{"type":"string","description":"токен с фиксированной ценой товара"}},"required":["productId","quantity"]}},"timeReservation":{"type":"object","properties":{"marker":{"type":"string","description":"Маркер атрибута типа timeInterval"},"value":{"type":"array","description":"Набор времени","items":{"type":"string"}}},"required":["marker","value"],"description":"Бронирования времени (опционально)"},"paymentStrategy":{"type":"string","description":"Стратегия оплаты (разовая или поэтапная)"},"couponCode":{"type":"string","description":"код купона (опционально)","example":"SUMMER2024"},"additionalDiscountsMarkers":{"type":"array","description":"маркеры дополнительных скидок для применения (опционально). Только для скидок с conditionType PRODUCT_IN_CART и CATEGORY_IN_CART","example":["discount-marker-1","discount-marker-2"],"items":{"type":"string"}},"bonusAmount":{"type":"number","description":"сумма бонусов для списания (опционально). Если не указано или 0 — бонусы не применяются","example":200},"updatePrices":{"type":"boolean","description":"обновить цены в существующем заказе"},"statusLocalizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название статуса заказа с учётом локализации","example":{"en_US":{"title":"В обработке"}}}},"required":["formIdentifier","paymentAccountIdentifier"]},"required":true},"responseSummary":"Возвращает объект UpdateOrderDto","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_updateoneorder put /orders-storage/{id}/order/{orderid} orders изменение заказа в хранилище заказов "},{"opId":"AdminOrdersStorageController_updateOneOrderStatus","method":"put","path":"/orders-storage/{id}/order-statuses/{statusId}","fullPath":"/api/admin/orders-storage/{id}/order-statuses/{statusId}","tag":"Orders","summary":"Обновление одного объекта статуса заказа, принадлежащему объекту хранилища заказов","permission":"orders.storage.order-status.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":"my-orders"},{"name":"statusId","location":"path","required":true,"description":"идентификатор объекта статуса заказа","schema":{"type":"number"},"example":1},{"name":"storageId","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":"my-orders"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{}},"required":true},"responseSummary":"Возвращает true в случае успешного обновления и false - неуспешного (для обращения необходимо наличие разрешения \"orders.storage.order-status.update\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_updateoneorderstatus put /orders-storage/{id}/order-statuses/{statusid} orders обновление одного объекта статуса заказа, принадлежащему объекту хранилища заказов orders.storage.order-status.update"},{"opId":"AdminOrdersStorageController_updateOrderStatus","method":"put","path":"/orders-storage/{id}/orders/{orderId}/change-status","fullPath":"/api/admin/orders-storage/{id}/orders/{orderId}/change-status","tag":"Orders","summary":"Обновление статуса у заказа, принадлежащему объекту хранилища заказов","permission":"orders.storage.order-status.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"string"},"example":3},{"name":"orderId","location":"path","required":true,"description":"идентификатор объекта заказов","schema":{"type":"string"},"example":2}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true в случае успешного обновления и false - неуспешного (для обращения необходимо наличие разрешения \"orders.storage.order.update\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_updateorderstatus put /orders-storage/{id}/orders/{orderid}/change-status orders обновление статуса у заказа, принадлежащему объекту хранилища заказов orders.storage.order-status.update"},{"opId":"AdminOrdersStorageController_updateOrderStatusPosition","method":"put","path":"/orders-storage/{id}/order-statuses/{statusId}/position","fullPath":"/api/admin/orders-storage/{id}/order-statuses/{statusId}/position","tag":"Orders","summary":"Обновление позиции у одного объекта статуса заказа в хранилище заказов","permission":"orders.storage.order-status.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилиза заказов","schema":{"type":"number"},"example":1},{"name":"statusId","location":"path","required":true,"description":"идентификатор объекта статуса заказа","schema":{"type":"number"},"example":2}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает true при успешном обновлении, false - при неудачном","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_updateorderstatusposition put /orders-storage/{id}/order-statuses/{statusid}/position orders обновление позиции у одного объекта статуса заказа в хранилище заказов orders.storage.order-status.changepositions"},{"opId":"AdminOrdersStorageController_updateStatusTrigger","method":"put","path":"/orders-storage/{id}/triggers/{triggerId}","fullPath":"/api/admin/orders-storage/{id}/triggers/{triggerId}","tag":"Orders","summary":"Обновление названия кастомного триггера","permission":"orders.storage.order-status.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1},{"name":"triggerId","location":"path","required":true,"description":"идентификатор кастомного триггера","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{}},"required":true},"responseSummary":"Возвращает true в случае успешного обновления (требуется разрешение \"orders.storage.order-status.update\")","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_updatestatustrigger put /orders-storage/{id}/triggers/{triggerid} orders обновление названия кастомного триггера orders.storage.order-status.update"},{"opId":"AdminOrdersStorageController_validateMarker","method":"get","path":"/orders-storage/marker-validation/{marker}","fullPath":"/api/admin/orders-storage/marker-validation/{marker}","tag":"Orders","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_validatemarker get /orders-storage/marker-validation/{marker} orders проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminOrdersStorageController_validateOrderStatusMarker","method":"get","path":"/orders-storage/{id}/order-statuses/marker-validation/{marker}","fullPath":"/api/admin/orders-storage/{id}/order-statuses/marker-validation/{marker}","tag":"Orders","summary":"Проверка текстового идентификатора (маркера) статуса заказа на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор (маркер)","schema":{"type":"string"}},{"name":"id","location":"path","required":true,"description":"идентификатор хранилища заказов","schema":{"type":"number"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/orders-module","back/docs/order-status-axis","mcp/operating-rules"],"searchText":"adminordersstoragecontroller_validateorderstatusmarker get /orders-storage/{id}/order-statuses/marker-validation/{marker} orders проверка текстового идентификатора (маркера) статуса заказа на существование "},{"opId":"AdminPagesController_copy","method":"post","path":"/pages/copy/{id}","fullPath":"/api/admin/pages/copy/{id}","tag":"Pages","summary":"Создании копии объекта страницы","permission":"pages.copy","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор копируемой страницы","schema":{"type":"number"}}],"responseSummary":"Возвращает объект PageEntity - новую страницу","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_copy post /pages/copy/{id} pages создании копии объекта страницы pages.copy"},{"opId":"AdminPagesController_create","method":"post","path":"/pages","fullPath":"/api/admin/pages","tag":"Pages","summary":"Создание объекта страницы","permission":"pages.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор страницы","example":1764},"parentId":{"type":"number","description":"идентификатор страницы - родителя, если содержит null, то это страница самого верхнего уровня","example":null},"config":{"type":"object","x-source-type":"Record<string, number>","x-loose":true,"description":"настройки вывода для страниц - каталога","example":{"rowsPerPage":1,"productsPerRow":1}},"pageUrl":{"type":"string","description":"уникальный URL страницы"},"depth":{"type":"number","description":"глубина вложенности страницы относительно parentId","example":3},"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание объекта основных данных страницы с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Каталог","plainContent":"Контент для каталога","htmlContent":"<b>Контент для каталога</b>","menuTitle":"Каталог"}}},"isVisible":{"type":"boolean","description":"признак видимости страницы","example":true},"products":{"type":"number","description":"количество товаров, привязанных к странице","example":0},"generalTypeId":{"type":"number"}},"required":["generalTypeId"]},"required":true},"responseSummary":"Возвращает созданный объект PageEntity (для обращения необходимо наличие разрешения \"pages.create\")","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_create post /pages pages создание объекта страницы pages.create"},{"opId":"AdminPagesController_deleteMany","method":"delete","path":"/pages/delete/many","fullPath":"/api/admin/pages/delete/many","tag":"Pages","summary":"Удаление нескольких страниц","permission":"pages.delete","risk":"destructive","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"flag":{"type":"string","description":"значение флага для удаления данных страницы","enum":["self_only","with_children","with_products","with_children_and_products"]},"ids":{"type":"array","description":"Массив идентификаторов страниц для удаления","example":[1,2,3],"items":{"type":"string"}}},"required":["ids"]},"required":true},"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"pages.update\")","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_deletemany delete /pages/delete/many pages удаление нескольких страниц pages.delete"},{"opId":"AdminPagesController_findAllByName","method":"get","path":"/pages/quick/search","fullPath":"/api/admin/pages/quick/search","tag":"Pages","summary":"Быстрый поиск для объектов страниц с ограниченным выводом","risk":"read","alwaysConfirm":false,"params":[{"name":"url","location":"query","required":false,"description":"уникальная часть URL страницы (после последнего \"/\") - каталога для поиска в категории","schema":{"type":"string"},"example":"23-laminat-floorwood-maxima"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"name","location":"query","required":true,"description":"текст для поиска объектов страниц (поиск осуществляется по полю title объекта localizeInfos с учетом языка)","schema":{"type":"string"},"example":"двери"}],"responseSummary":"Возвращает массив объектов SearchPageDto","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_findallbyname get /pages/quick/search pages быстрый поиск для объектов страниц с ограниченным выводом "},{"opId":"AdminPagesController_findAllCatalogPages","method":"get","path":"/pages/catalog","fullPath":"/api/admin/pages/catalog","tag":"Pages","summary":"Получение всех объектов страниц с информацией о товарах в виде массива (с пагинацией)","risk":"read","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает все созданные страницы в виде массива объектов AdminIndexedPageDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_findallcatalogpages get /pages/catalog pages получение всех объектов страниц с информацией о товарах в виде массива (с пагинацией) "},{"opId":"AdminPagesController_findAllRoot","method":"get","path":"/pages/root","fullPath":"/api/admin/pages/root","tag":"Pages","summary":"Получение всех объектов страниц с верхнего уровня (parentId = null)","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает все созданные страницы без родителей в виде массива объектов AdminIndexedPageDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_findallroot get /pages/root pages получение всех объектов страниц с верхнего уровня (parentid = null) "},{"opId":"AdminPagesController_findBlocksById","method":"get","path":"/pages/{id}/blocks","fullPath":"/api/admin/pages/{id}/blocks","tag":"Pages","summary":"Получение объектов AdminPageBlockDto для связанного блока по идентификатору страницы","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы","schema":{"type":"number"},"example":12}],"responseSummary":"Возвращает массив объектов AdminPageBlockDto","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_findblocksbyid get /pages/{id}/blocks pages получение объектов adminpageblockdto для связанного блока по идентификатору страницы "},{"opId":"AdminPagesController_findChildrenById","method":"get","path":"/pages/{id}/children","fullPath":"/api/admin/pages/{id}/children","tag":"Pages","summary":"Получение дочерних страниц с информацией о товарах в виде массива","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор страницы - родителя","schema":{"type":"number"}}],"responseSummary":"Возвращает все созданные страницы в виде массива объектов AdminIndexedPageDto или пустой массив [] (в случае отсутствия данных) для выбранного родителя","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_findchildrenbyid get /pages/{id}/children pages получение дочерних страниц с информацией о товарах в виде массива "},{"opId":"AdminPagesController_findNestedBlocksById","method":"get","path":"/pages/{id}/nested-blocks","fullPath":"/api/admin/pages/{id}/nested-blocks","tag":"Pages","summary":"Получение массива объектов AdminPageBlockDto, которые привязываются ко вложенным товарам по идентификатору страницы","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы","schema":{"type":"number"},"example":12},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает массив объектов AdminPageBlockDto","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_findnestedblocksbyid get /pages/{id}/nested-blocks pages получение массива объектов adminpageblockdto, которые привязываются ко вложенным товарам по идентификатору страницы "},{"opId":"AdminPagesController_findOne","method":"get","path":"/pages/{id}","fullPath":"/api/admin/pages/{id}","tag":"Pages","summary":"Получение одного объекта страницы с информацией о формах, блоках, меню, привязанных к странице","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор или URL объекта страницы","schema":{}},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает один объект страниц AdminIndexedPageDto","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_findone get /pages/{id} pages получение одного объекта страницы с информацией о формах, блоках, меню, привязанных к странице "},{"opId":"AdminPagesController_getConfigById","method":"get","path":"/pages/{id}/config","fullPath":"/api/admin/pages/{id}/config","tag":"Pages","summary":"Получение настроек для страницы","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает объект ConfigPageDto со значениями настройки отображения страницы","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_getconfigbyid get /pages/{id}/config pages получение настроек для страницы "},{"opId":"AdminPagesController_getTableData","method":"get","path":"/pages","fullPath":"/api/admin/pages","tag":"Pages","summary":"Получение всех объектов страниц с информацией о товарах в виде массива","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает все созданные страницы в виде массива объектов AdminIndexedPageDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_gettabledata get /pages pages получение всех объектов страниц с информацией о товарах в виде массива "},{"opId":"AdminPagesController_getTableData2","method":"post","path":"/pages/paginated","fullPath":"/api/admin/pages/paginated","tag":"Pages","summary":"Получение всех объектов страниц с информацией о товарах в виде массива (с пагинацией по ключам parentId = null)","risk":"write","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{"type":"number"},"example":0},{"name":"parentId","location":"query","required":false,"description":"идентификатор родительского объекта страница","schema":{"type":"number"},"example":0},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"ids":{"type":"array","description":"идентификаторы страниц","example":[1,2],"items":{"type":"number"}},"type":{"type":"string","enum":["common_page","error_page","catalog_page","external_page"]}}},"required":true},"responseSummary":"Возвращает все созданные страницы в виде массива объектов AdminIndexedPageDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_gettabledata2 post /pages/paginated pages получение всех объектов страниц с информацией о товарах в виде массива (с пагинацией по ключам parentid = null) "},{"opId":"AdminPagesController_isExistPage","method":"get","path":"/pages/validation/{id}/{pageUrl}","fullPath":"/api/admin/pages/validation/{id}/{pageUrl}","tag":"Pages","summary":"Проверка уникальности URL объекта страницы","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы","schema":{"type":"number"}},{"name":"pageUrl","location":"path","required":true,"description":"URL страницы","schema":{"type":"string"}}],"responseSummary":"Возвращает значение true (в случае существования страницы) или false (в случае отсутствия страницы с проверяемым URL)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_isexistpage get /pages/validation/{id}/{pageurl} pages проверка уникальности url объекта страницы "},{"opId":"AdminPagesController_moveMany","method":"put","path":"/pages/move","fullPath":"/api/admin/pages/move","tag":"Pages","summary":"Перемещение нескольких страниц к одному потомку","permission":"pages.move","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"ids":{"type":"array","description":"ids","items":{"type":"string"}},"parentId":{"type":"number","description":"parentId"}},"required":["ids"]},"required":true},"responseSummary":"Возвращает значение true в случае успешного перемещения (для обращения необходимо наличие разрешения \"pages.move\")","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_movemany put /pages/move pages перемещение нескольких страниц к одному потомку pages.move"},{"opId":"AdminPagesController_remove","method":"delete","path":"/pages/{id}","fullPath":"/api/admin/pages/{id}","tag":"Pages","summary":"Удаление одного объекта страницы","permission":"pages.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор удаляемого объекта страницы","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"flag":{"type":"string","description":"значение флага для удаления данных страницы","enum":["self_only","with_children","with_products","with_children_and_products"]}}},"required":true},"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"pages.update\")","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_remove delete /pages/{id} pages удаление одного объекта страницы pages.delete"},{"opId":"AdminPagesController_setVisibility","method":"put","path":"/pages/{id}/change-visibility","fullPath":"/api/admin/pages/{id}/change-visibility","tag":"Pages","summary":"Изменение видимости объекта страницы","permission":"pages.switching","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта для изменения","schema":{},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_setvisibility put /pages/{id}/change-visibility pages изменение видимости объекта страницы pages.switching"},{"opId":"AdminPagesController_update","method":"put","path":"/pages/{id}","fullPath":"/api/admin/pages/{id}","tag":"Pages","summary":"Обновление объекта страницы","permission":"pages.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор страницы","example":1764},"parentId":{"type":"number","description":"идентификатор страницы - родителя, если содержит null, то это страница самого верхнего уровня","example":null},"config":{"type":"object","x-source-type":"Record<string, number>","x-loose":true,"description":"настройки вывода для страниц - каталога","example":{"rowsPerPage":1,"productsPerRow":1}},"pageUrl":{"type":"string","description":"уникальный URL страницы"},"depth":{"type":"number","description":"глубина вложенности страницы относительно parentId","example":3},"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание объекта основных данных страницы с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Каталог","plainContent":"Контент для каталога","htmlContent":"<b>Контент для каталога</b>","menuTitle":"Каталог"}}},"isVisible":{"type":"boolean","description":"признак видимости страницы","example":true},"products":{"type":"number","description":"количество товаров, привязанных к странице","example":0},"generalTypeId":{"type":"number"},"blocks":{"type":"array","description":"массив значений идентификаторов объектов BlockEntity, к которым привязана страница","items":{"type":"array"}},"nestedBlocks":{"type":"array","description":"массив значений идентификаторов объектов BlockEntity, к которым автоматически привязываются дочерние товары","items":{"type":"array"}},"templateId":{"type":"number","description":"идентификатор шаблона, используемого страницей (может быть null)","example":null},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые страницей, значение idX - ссылка на набор атрибутов","example":{"id7":7,"string_id18":""}},"childrenCount":{"type":"number","description":"количество вложенных страниц","example":0},"showChildren":{"type":"boolean","description":"признак для клиентского приложения о необходимости отображения вложенных страниц","example":false},"version":{"type":"number","description":"номер версии изменения страницы","example":10},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}}}},"required":["id","generalTypeId","attributesSets","version","position"]},"required":true},"responseSummary":"Возвращает обновленный объект PageEntity (для обращения необходимо наличие разрешения \"pages.update\") или false (в случае несовпадения версий)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_update put /pages/{id} pages обновление объекта страницы pages.update"},{"opId":"AdminPagesController_updateConfig","method":"put","path":"/pages/{id}/config","fullPath":"/api/admin/pages/{id}/config","tag":"Pages","summary":"Обновление настроек для страницы","permission":"catalog.products.outputSettings","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает значение true (в случае успешного обновления) или false (в случае неуспешного обновления)","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_updateconfig put /pages/{id}/config pages обновление настроек для страницы catalog.products.outputsettings"},{"opId":"AdminPagesController_updatePageBlockPosition","method":"put","path":"/pages/{id}/blocks/{blockId}/position","fullPath":"/api/admin/pages/{id}/blocks/{blockId}/position","tag":"Pages","summary":"Обновление позиции у одного объекта блока, связанной со страницей","permission":"pages.blocks.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта страницы","schema":{"type":"number"}},{"name":"blockId","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionEntity с обновленной позицией","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_updatepageblockposition put /pages/{id}/blocks/{blockid}/position pages обновление позиции у одного объекта блока, связанной со страницей pages.blocks.changepositions"},{"opId":"AdminPagesController_updatePageNestedBlockPosition","method":"put","path":"/pages/{id}/nested-blocks/{blockId}/position","fullPath":"/api/admin/pages/{id}/nested-blocks/{blockId}/position","tag":"Pages","summary":"Обновление позиции у одного объекта блока, который связывается со дочерними товарами страницей","permission":"pages.blocks.nested.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта страницы","schema":{"type":"number"},"example":1},{"name":"blockId","location":"path","required":true,"description":"идентификатор объекта блока","schema":{"type":"number"},"example":12}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionEntity с обновленной позицией","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_updatepagenestedblockposition put /pages/{id}/nested-blocks/{blockid}/position pages обновление позиции у одного объекта блока, который связывается со дочерними товарами страницей pages.blocks.nested.changepositions"},{"opId":"AdminPagesController_updatePagePosition","method":"put","path":"/pages/{id}/position","fullPath":"/api/admin/pages/{id}/position","tag":"Pages","summary":"Обновление позиции у одного объекта страницы","permission":"pages.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта страницы","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PageEntity с обновленной позицией","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_updatepageposition put /pages/{id}/position pages обновление позиции у одного объекта страницы pages.changepositions"},{"opId":"AdminPagesController_updateProductPosition","method":"put","path":"/pages/{pageId}/products/{productId}/position","fullPath":"/api/admin/pages/{pageId}/products/{productId}/position","tag":"Pages","summary":"Обновление позиции у одного объекта страницы товара, связанного со страницей - категорией","permission":"catalog.products.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"pageId","location":"path","required":true,"description":"идентификатор объекта страницы категории","schema":{"type":"number"},"example":1},{"name":"productId","location":"path","required":true,"description":"идентификатор объекта страницы товара","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает true при успешном обновлении, false - при неудачном","docLinks":["back/docs/pages-module","mcp/operating-rules"],"searchText":"adminpagescontroller_updateproductposition put /pages/{pageid}/products/{productid}/position pages обновление позиции у одного объекта страницы товара, связанного со страницей - категорией catalog.products.changepositions"},{"opId":"AdminPaymentsController_addPaymentParamItems","method":"post","path":"/payments/payment-param-items","fullPath":"/api/admin/payments/payment-param-items","tag":"Payments","summary":"Добавление платёжного параметра","permission":"payments.settings.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"attributeSetId":{"type":"number","description":"идентификатор набора атрибутов","example":12},"attributeIdentifier":{"type":"string","description":"текстовый идентификатор атрибута","example":"tax_rate_1"},"paramName":{"type":"string","description":"наименование параметра","example":"tax_rates"},"paramValue":{"type":"string","description":"значение параметра","example":"txr_1PDflwQjcyeETgIBon0zrbnb"},"paymentAccountId":{"type":"number","description":"идентификатор платёжного аккаунта","example":1}},"required":["paymentAccountId"]},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"payments.settings.update\")","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_addpaymentparamitems post /payments/payment-param-items payments добавление платёжного параметра payments.settings.update"},{"opId":"AdminPaymentsController_createAccount","method":"post","path":"/payments/accounts","fullPath":"/api/admin/payments/accounts","tag":"Payments","summary":"Создание объекта платёжного аккаунта","permission":"payments.accounts.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание объекта платёжного аккаунта с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"MainMenu"}}},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"type":{"type":"string","description":"тип платёжного аккаунта","example":"stripe","enum":["stripe","yookassa","midtrans","xendit","custom"]},"isVisible":{"type":"boolean","description":"признак видимости платёжного аккаунта"},"testMode":{"type":"boolean","description":"указывает используются ли тестовые настройки"},"settings":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"настройки платёжного аккаунта","example":{"stripeAccountId":"acct_1RsDXzHy1QOsjfBI","stripeOnboardingComplete":true,"stripePublishableKey":"pk_test_51OOtk2HPDnVW4KWJw1fpYAlTLAytYqYYKY0Gkxm6PqDD4BATCwuRDGgVYXNCqnvwrewgtDVaGyju5VfClW3GrxxT005KnY7MS3","successUrl":"https://example.com/success","cancelUrl":"https://example.com/cancel","sessionTimeout":15}},"testSettings":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"тестовые настройки платёжного аккаунта","example":{"stripeAccountId":"acct_1RsDXzHy1QOsjfBI","stripeOnboardingComplete":true,"stripePublishableKey":"pk_test_51OOtk2HPDnVW4KWJw1fpYAlTLAytYqYYKY0Gkxm6PqDD4BATCwuRDGgVYXNCqnvwrewgtDVaGyju5VfClW3GrxxT005KnY7MS3","successUrl":"https://example.com/success","cancelUrl":"https://example.com/cancel","sessionTimeout":15}}},"required":["identifier","type","isVisible"]},"required":true},"responseSummary":"Возвращает созданный объект PaymentAccountEntity (для обращения необходимо наличие разрешения \"payments.accounts.create\")","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_createaccount post /payments/accounts payments создание объекта платёжного аккаунта payments.accounts.create"},{"opId":"AdminPaymentsController_createPaymentSession","method":"post","path":"/payments/sessions","fullPath":"/api/admin/payments/sessions","tag":"Payments","summary":"Создание сеанса оплаты","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"orderId":{"type":"number","description":"идентификатор заказа","example":1},"type":{"type":"string","description":"тип сессии","example":"session","enum":["session","intent"]},"automaticTaxEnabled":{"type":"boolean","description":"Автоматический расчёт налоговой ставки (только для Stripe, подробнее: https://docs.stripe.com/api/checkout/sessions/create#create_checkout_session-automatic_tax-enabled)","example":true},"nextStages":{"type":"object","description":"Следующие этапы для оплаты","example":{"100":["part_a"]}}},"required":["orderId","type"]},"required":true},"responseSummary":"Возвращает один объект сеанса оплаты в виде объекта PaymentSessionDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_createpaymentsession post /payments/sessions payments создание сеанса оплаты "},{"opId":"AdminPaymentsController_createStripeRedirectUrl","method":"post","path":"/payments/accounts/{id}/stripe/auth","fullPath":"/api/admin/payments/accounts/{id}/stripe/auth","tag":"Payments","summary":"Подключение аккаунта Stripe","permission":"payments.accounts.create","risk":"write","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает объект PaymentsStripeAuthDto или null","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_createstriperedirecturl post /payments/accounts/{id}/stripe/auth payments подключение аккаунта stripe payments.accounts.create"},{"opId":"AdminPaymentsController_deleteAccount","method":"delete","path":"/payments/accounts/{id}","fullPath":"/api/admin/payments/accounts/{id}","tag":"Payments","summary":"Удаление объекта платёжного аккаунта","permission":"payments.accounts.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта платёжного аккаунта","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"payments.accounts.delete\")","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_deleteaccount delete /payments/accounts/{id} payments удаление объекта платёжного аккаунта payments.accounts.delete"},{"opId":"AdminPaymentsController_deleteStripe","method":"delete","path":"/payments/accounts/{id}/stripe","fullPath":"/api/admin/payments/accounts/{id}/stripe","tag":"Payments","summary":"Удаление аккаунта Stripe","permission":"payments.accounts.delete","risk":"destructive","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_deletestripe delete /payments/accounts/{id}/stripe payments удаление аккаунта stripe payments.accounts.delete"},{"opId":"AdminPaymentsController_findAllAccounts","method":"get","path":"/payments/accounts","fullPath":"/api/admin/payments/accounts","tag":"Payments","summary":"Получение всех платежных аккаунтов в виде массива","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает все созданные платёжные аккаунта в виде массива объектов PaymentAccountDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_findallaccounts get /payments/accounts payments получение всех платежных аккаунтов в виде массива "},{"opId":"AdminPaymentsController_findOneAccount","method":"get","path":"/payments/accounts/{id}","fullPath":"/api/admin/payments/accounts/{id}","tag":"Payments","summary":"Получение одного объекта платёжного аккаунта по его идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор получаемого объекта платежного аккаунта","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает один объект платёжного аккаунта в виде объекта PaymentAccountDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_findoneaccount get /payments/accounts/{id} payments получение одного объекта платёжного аккаунта по его идентификатору "},{"opId":"AdminPaymentsController_getAccountsTypes","method":"get","path":"/payments/accounts-types","fullPath":"/api/admin/payments/accounts-types","tag":"Payments","summary":"Получение типов платежных аккаунтов","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает типы платёжных аккаунтов в виде массива","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getaccountstypes get /payments/accounts-types payments получение типов платежных аккаунтов "},{"opId":"AdminPaymentsController_getAllPaymentSessions","method":"get","path":"/payments/sessions","fullPath":"/api/admin/payments/sessions","tag":"Payments","summary":"Получение списка сеансов оплаты 🔐","risk":"read","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getallpaymentsessions get /payments/sessions payments получение списка сеансов оплаты 🔐 "},{"opId":"AdminPaymentsController_getPaymentMethods","method":"get","path":"/payments/accounts-types/{type}/payment-methods","fullPath":"/api/admin/payments/accounts-types/{type}/payment-methods","tag":"Payments","summary":"Получение списка доступных методов оплаты для конкретного типа PSP","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"path","required":true,"description":"тип платёжного аккаунта","schema":{"type":"string","enum":["stripe","yookassa","midtrans","xendit","custom"]},"example":"midtrans"}],"responseSummary":"Возвращает массив идентификаторов методов оплаты или [] если PSP их не дифференцирует","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getpaymentmethods get /payments/accounts-types/{type}/payment-methods payments получение списка доступных методов оплаты для конкретного типа psp "},{"opId":"AdminPaymentsController_getPaymentParamItemById","method":"get","path":"/payments/payment-param-items/{id}","fullPath":"/api/admin/payments/payment-param-items/{id}","tag":"Payments","summary":"","permission":"payments.settings.get","risk":"read","alwaysConfirm":false,"params":[],"docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getpaymentparamitembyid get /payments/payment-param-items/{id} payments payments.settings.get"},{"opId":"AdminPaymentsController_getPaymentParamItems","method":"get","path":"/payments/payment-param-items","fullPath":"/api/admin/payments/payment-param-items","tag":"Payments","summary":"Получение списка платёжных параметров","permission":"payments.settings.get","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив объектов PaymentParamItemDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getpaymentparamitems get /payments/payment-param-items payments получение списка платёжных параметров payments.settings.get"},{"opId":"AdminPaymentsController_getPaymentSessionById","method":"get","path":"/payments/sessions/{id}","fullPath":"/api/admin/payments/sessions/{id}","tag":"Payments","summary":"Получение одного объекта сеанса оплаты по его идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор получаемого объекта сеанса оплаты","schema":{"type":"number"},"example":10}],"responseSummary":"Возвращает один объект сеанса оплаты в виде объекта PaymentSessionDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getpaymentsessionbyid get /payments/sessions/{id} payments получение одного объекта сеанса оплаты по его идентификатору "},{"opId":"AdminPaymentsController_getPaymentSessionByOrderId","method":"get","path":"/payments/sessions/order/{id}","fullPath":"/api/admin/payments/sessions/order/{id}","tag":"Payments","summary":"Получение всех сеансов оплаты по идентификатору заказа","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор заказа","schema":{"type":"number"},"example":10}],"responseSummary":"Возвращает массив сеансов оплат PaymentSessionDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getpaymentsessionbyorderid get /payments/sessions/order/{id} payments получение всех сеансов оплаты по идентификатору заказа "},{"opId":"AdminPaymentsController_getPaymentStages","method":"get","path":"/payments/stages/order/{id}","fullPath":"/api/admin/payments/stages/order/{id}","tag":"Payments","summary":"Получение всех объектов платёжных этапов для выбранного заказа","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор заказа","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект PaymentProgressDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getpaymentstages get /payments/stages/order/{id} payments получение всех объектов платёжных этапов для выбранного заказа "},{"opId":"AdminPaymentsController_getRefund","method":"get","path":"/payments/refund/{id}","fullPath":"/api/admin/payments/refund/{id}","tag":"Payments","summary":"Получение сессии возврата","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор возврата","schema":{"type":"string"},"example":1}],"responseSummary":"Возвращает объект PaymentRefundEntity","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getrefund get /payments/refund/{id} payments получение сессии возврата "},{"opId":"AdminPaymentsController_getStatusMap","method":"get","path":"/payments/status-maps/{id}","fullPath":"/api/admin/payments/status-maps/{id}","tag":"Payments","summary":"Получение соответствия статуса оплаты и статуса заказа","permission":"payments.settings.get","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект PaymentStatusMapDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getstatusmap get /payments/status-maps/{id} payments получение соответствия статуса оплаты и статуса заказа payments.settings.get"},{"opId":"AdminPaymentsController_getStripeStatus","method":"get","path":"/payments/accounts/{id}/stripe/status","fullPath":"/api/admin/payments/accounts/{id}/stripe/status","tag":"Payments","summary":"Получение актуального статуса подключения Stripe","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта платёжного аккаунта","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает { connected: boolean } на основе live-запроса к Stripe API","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_getstripestatus get /payments/accounts/{id}/stripe/status payments получение актуального статуса подключения stripe "},{"opId":"AdminPaymentsController_removePaymentParamItem","method":"delete","path":"/payments/payment-param-items/{id}","fullPath":"/api/admin/payments/payment-param-items/{id}","tag":"Payments","summary":"Удаление одного объекта платёжного параметра","permission":"payments.settings.update","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта платёжного параметра","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"payments.settings.update\")","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_removepaymentparamitem delete /payments/payment-param-items/{id} payments удаление одного объекта платёжного параметра payments.settings.update"},{"opId":"AdminPaymentsController_updateAccount","method":"put","path":"/payments/accounts/{id}","fullPath":"/api/admin/payments/accounts/{id}","tag":"Payments","summary":"Обновление объекта платёжного аккаунта","permission":"payments.accounts.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта хранилища заказов","schema":{},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание объекта платёжного аккаунта с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"MainMenu"}}},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"catalog"},"type":{"type":"string","description":"тип платёжного аккаунта","example":"stripe","enum":["stripe","yookassa","midtrans","xendit","custom"]},"isVisible":{"type":"boolean","description":"признак видимости платёжного аккаунта"},"testMode":{"type":"boolean","description":"указывает используются ли тестовые настройки"},"settings":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"настройки платёжного аккаунта","example":{"stripeAccountId":"acct_1RsDXzHy1QOsjfBI","stripeOnboardingComplete":true,"stripePublishableKey":"pk_test_51OOtk2HPDnVW4KWJw1fpYAlTLAytYqYYKY0Gkxm6PqDD4BATCwuRDGgVYXNCqnvwrewgtDVaGyju5VfClW3GrxxT005KnY7MS3","successUrl":"https://example.com/success","cancelUrl":"https://example.com/cancel","sessionTimeout":15}},"testSettings":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"тестовые настройки платёжного аккаунта","example":{"stripeAccountId":"acct_1RsDXzHy1QOsjfBI","stripeOnboardingComplete":true,"stripePublishableKey":"pk_test_51OOtk2HPDnVW4KWJw1fpYAlTLAytYqYYKY0Gkxm6PqDD4BATCwuRDGgVYXNCqnvwrewgtDVaGyju5VfClW3GrxxT005KnY7MS3","successUrl":"https://example.com/success","cancelUrl":"https://example.com/cancel","sessionTimeout":15}}}},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"payments.accounts.update\")","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_updateaccount put /payments/accounts/{id} payments обновление объекта платёжного аккаунта payments.accounts.update"},{"opId":"AdminPaymentsController_updatePaymentParamItems","method":"put","path":"/payments/payment-param-items/{id}","fullPath":"/api/admin/payments/payment-param-items/{id}","tag":"Payments","summary":"Обновление списка платёжных параметров","permission":"payments.settings.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"attributeSetId":{"type":"number","description":"идентификатор набора атрибутов","example":12},"attributeIdentifier":{"type":"string","description":"текстовый идентификатор атрибута","example":"tax_rate_1"},"paramName":{"type":"string","description":"наименование параметра","example":"tax_rates"},"paramValue":{"type":"string","description":"значение параметра","example":"txr_1PDflwQjcyeETgIBon0zrbnb"},"paymentAccountId":{"type":"number","description":"идентификатор объекта платежа","example":1}}},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"payments.settings.update\")","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_updatepaymentparamitems put /payments/payment-param-items/{id} payments обновление списка платёжных параметров payments.settings.update"},{"opId":"AdminPaymentsController_updatePaymentSession","method":"put","path":"/payments/sessions/{id}","fullPath":"/api/admin/payments/sessions/{id}","tag":"Payments","summary":"Обновление сеанса оплаты","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта сеанса оплаты","schema":{"type":"number"},"example":10}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"status":{"type":"string","description":"статус оплаты","example":"completed","enum":["waiting","completed","canceled","expired"]},"paymentUrl":{"type":"string","description":"ссылка для оплаты","example":"https://www.paypal.com/checkoutnow?token=6TC49050A66458205"}},"required":["paymentUrl"]},"required":true},"responseSummary":"Возвращает один объект сеанса оплаты в виде объекта PaymentSessionDto","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_updatepaymentsession put /payments/sessions/{id} payments обновление сеанса оплаты "},{"opId":"AdminPaymentsController_updateRefund","method":"put","path":"/payments/refund/{id}","fullPath":"/api/admin/payments/refund/{id}","tag":"Payments","summary":"Обновление сессии возврата","permission":"payments.refunds","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"},"example":"4HX77559L3180854D"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"status":{"type":"string","description":"статус возврата","example":"succeeded"},"refundId":{"type":"string","description":"идентификатор возврата","example":"4HX77559L3180854D"},"amount":{"type":"number","description":"сумма возврата","example":100},"note":{"type":"string","description":"комментарий"},"quantities":{"type":"object","description":"количество продуктов для возврата","example":{"100":2,"200":1}}},"required":["status","refundId","amount","note","quantities"]},"required":true},"responseSummary":"Возвращает true при успешном изменении","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_updaterefund put /payments/refund/{id} payments обновление сессии возврата payments.refunds"},{"opId":"AdminPaymentsController_updateStatusMap","method":"put","path":"/payments/status-maps","fullPath":"/api/admin/payments/status-maps","tag":"Payments","summary":"Обновление соответствия статуса оплаты и статуса заказа","permission":"payments.settings.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"orderStorageId":{"type":"number","description":"идентификатор объекта хранилища заказов","example":1},"statusMap":{"type":"object","x-source-type":"Record<StatusTrigger, string>","x-loose":true,"description":"json соответствия триггера каталога и identifier статуса оси payment. Ключи из единого каталога StatusTrigger: payment.* (waiting/partially_paid/paid/expired/canceled) + refund.* (pending/partial/full)","example":{"payment.paid":"paid-payment","payment.waiting":"unpaid-payment","refund.full":"refunded-payment","refund.partial":"partially-refunded-payment"}}},"required":["orderStorageId","statusMap"]},"required":true},"responseSummary":"Возвращает true в случае успешного обновления соответствия статусов","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_updatestatusmap put /payments/status-maps payments обновление соответствия статуса оплаты и статуса заказа payments.settings.update"},{"opId":"AdminPaymentsController_validateMarker","method":"get","path":"/payments/accounts/marker-validation/{marker}","fullPath":"/api/admin/payments/accounts/marker-validation/{marker}","tag":"Payments","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/payments-module","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminpaymentscontroller_validatemarker get /payments/accounts/marker-validation/{marker} payments проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminProductsController_copy","method":"post","path":"/products/{id}/copy","fullPath":"/api/admin/products/{id}/copy","tag":"Products","summary":"Создание копии объекта страницы товара","permission":"catalog.products.copy","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор копируемой страницы товара","schema":{"type":"number"}}],"responseSummary":"Возвращает объект ProductEntity - новую страницу товара","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_copy post /products/{id}/copy products создание копии объекта страницы товара catalog.products.copy"},{"opId":"AdminProductsController_copyInCategory","method":"post","path":"/products/category/{id}/copy","fullPath":"/api/admin/products/category/{id}/copy","tag":"Products","summary":"Копирование страниц товаров в выбранную категорию","permission":"catalog.products.updateCategories","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы категории","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true при успешном копировании, false - при неудачном","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_copyincategory post /products/category/{id}/copy products копирование страниц товаров в выбранную категорию catalog.products.updatecategories"},{"opId":"AdminProductsController_countAll","method":"post","path":"/products/all/counts","fullPath":"/api/admin/products/all/counts","tag":"Products","summary":"Подсчёт количества товаров по всему каталогу","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"schema":{"type":"string"},"example":"en_US"}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"attributeMarker":{"type":"string","description":"текстовый идентификатор атрибута","example":"price"},"conditionMarker":{"type":"string","description":"текстовый идентификатор условия","example":"in","enum":["in","nin","eq","neq","mth","lth","exs","nexs","pat","same","same_part"]},"statusMarker":{"type":"string","example":"status_1"},"conditionValue":{"type":"object","description":"значение условия","example":1},"pageUrls":{"type":"array","description":"уникальная часть URL страницы (после последнего \"/\")","example":["23-laminat-floorwood-maxima"],"items":{"type":"array","items":{"type":"string"},"x-source-type":"string[]","x-loose":true}},"title":{"type":"string","description":"название товара","example":"Iphone 17 Pro"}}}},"required":true},"responseSummary":"Возвращает объект с количеством товаров","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_countall post /products/all/counts products подсчёт количества товаров по всему каталогу "},{"opId":"AdminProductsController_countByCategoryId","method":"post","path":"/products/page/{id}/counts","fullPath":"/api/admin/products/page/{id}/counts","tag":"Products","summary":"Подсчёт количества товаров: всего по каталогу, в категории и в категории с вложенными (по id категории)","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор страницы - категории","schema":{"type":"number"},"example":1234}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"attributeMarker":{"type":"string","description":"текстовый идентификатор атрибута","example":"price"},"conditionMarker":{"type":"string","description":"текстовый идентификатор условия","example":"in","enum":["in","nin","eq","neq","mth","lth","exs","nexs","pat","same","same_part"]},"statusMarker":{"type":"string","example":"status_1"},"conditionValue":{"type":"object","description":"значение условия","example":1},"pageUrls":{"type":"array","description":"уникальная часть URL страницы (после последнего \"/\")","example":["23-laminat-floorwood-maxima"],"items":{"type":"array","items":{"type":"string"},"x-source-type":"string[]","x-loose":true}},"title":{"type":"string","description":"название товара","example":"Iphone 17 Pro"}}}},"required":true},"responseSummary":"Возвращает объект с количеством товаров","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_countbycategoryid post /products/page/{id}/counts products подсчёт количества товаров: всего по каталогу, в категории и в категории с вложенными (по id категории) "},{"opId":"AdminProductsController_countByCategoryMarker","method":"post","path":"/products/page/url/{url}/counts","fullPath":"/api/admin/products/page/url/{url}/counts","tag":"Products","summary":"Подсчёт количества товаров: всего по каталогу, в категории и в категории с вложенными","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"url","location":"path","required":true,"description":"уникальная часть URL страницы (после последнего \"/\") - каталога","schema":{"type":"string"},"example":"23-laminat-floorwood-maxima"}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"attributeMarker":{"type":"string","description":"текстовый идентификатор атрибута","example":"price"},"conditionMarker":{"type":"string","description":"текстовый идентификатор условия","example":"in","enum":["in","nin","eq","neq","mth","lth","exs","nexs","pat","same","same_part"]},"statusMarker":{"type":"string","example":"status_1"},"conditionValue":{"type":"object","description":"значение условия","example":1},"pageUrls":{"type":"array","description":"уникальная часть URL страницы (после последнего \"/\")","example":["23-laminat-floorwood-maxima"],"items":{"type":"array","items":{"type":"string"},"x-source-type":"string[]","x-loose":true}},"title":{"type":"string","description":"название товара","example":"Iphone 17 Pro"}}}},"required":true},"responseSummary":"Возвращает объект с количеством товаров","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_countbycategorymarker post /products/page/url/{url}/counts products подсчёт количества товаров: всего по каталогу, в категории и в категории с вложенными "},{"opId":"AdminProductsController_create","method":"post","path":"/products","fullPath":"/api/admin/products","tag":"Products","summary":"Создание объекта страницы товара","permission":"catalog.products.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор страницы товара","example":1764},"templateId":{"type":"number","description":"идентификатор шаблона, используемого страницей товара (может быть null)","example":null},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"json описание объекта основных данных страницы товара с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Товар"}}},"isVisible":{"type":"boolean","description":"признак видимости страницы товара","example":true},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые страницей товара, значение idX - ссылка на набор атрибутов","example":{"id7":7,"string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор, используемого набора атрибутов","example":44},"productPages":{"type":"array","description":"объекты ProductPageEntity, связанные со страницей товара","example":[{"id":8997,"pageId":1176,"productId":8872}],"items":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"pageId":{"type":"number","description":"идентификатор связанной страницы","example":1764},"productId":{"type":"number","description":"идентификатор связанной страницы товара","example":164},"positionId":{"type":"number","description":"идентификатор объекта - позиции","example":null},"categoryPath":{"type":"string","description":"путь к категории"},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"}}}}},"required":["localizeInfos","attributesSets","attributeSetId"]},"required":true},"responseSummary":"Возвращает созданный объект ProductEntity","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_create post /products products создание объекта страницы товара catalog.products.create"},{"opId":"AdminProductsController_findAll","method":"post","path":"/products/all","fullPath":"/api/admin/products/all","tag":"Products","summary":"Поиск всех объектов страниц товаров с пагинацией и фильтром","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"sortOrder","location":"query","required":false,"description":"порядок сортировки DESC | ASC (по умолчанию DESC)","schema":{"type":"string","enum":["ASC","DESC"]},"example":"DESC"},{"name":"sortKey","location":"query","required":false,"description":"поле для сортировки (по умолчанию не задан - сортировка по позиции, возможные значения: id, title, date, price, position)","schema":{"type":"string","enum":["id","position","title","date","price","status"]},"example":"id"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"attributeMarker":{"type":"string","description":"текстовый идентификатор атрибута","example":"price"},"conditionMarker":{"type":"string","description":"текстовый идентификатор условия, возможные значения: 'in' - содержит, 'nin' - не содержит, 'eq' - равно, 'neq' - не равно, 'mth' - больше чем, 'lth' - меньше чем, 'exs' - существует, 'nexs' - не существует, 'pat' - паттерн, например **-**, …","example":"in","enum":["in","nin","eq","neq","mth","lth","exs","nexs","pat","same","same_part"]},"statusMarker":{"type":"string","description":"текстовый идентификатор статуса страницы товара (по умолчанию не задан)","example":"status_1"},"conditionValue":{"type":"object","description":"значение условия","example":1},"title":{"type":"string","description":"название товара","example":"Iphone 17 Pro"},"isNested":{"type":"object","description":"признак поиска по всем вложенным категориям )(pageUrls","example":false},"ids":{"type":"array","description":"массив числовых ID товаров для фильтрации","example":[1,2,3],"items":{"type":"number"}},"pageUrls":{"type":"array","description":"уникальная часть URL страницы (после последнего \"/\")","example":["23-laminat-floorwood-maxima"],"items":{"type":"array","items":{"type":"string"},"x-source-type":"string[]","x-loose":true}}}}},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findall post /products/all products поиск всех объектов страниц товаров с пагинацией и фильтром "},{"opId":"AdminProductsController_findAllByCategoryIdForAdmin","method":"post","path":"/products/page/{id}","fullPath":"/api/admin/products/page/{id}","tag":"Products","summary":"Поиск всех объектов страниц товаров с пагинацией для выбранной категории","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"sortOrder","location":"query","required":false,"description":"порядок сортировки DESC | ASC (по умолчанию DESC)","schema":{"type":"string","enum":["ASC","DESC"]},"example":"DESC"},{"name":"sortKey","location":"query","required":false,"description":"поле для сортировки (по умолчанию не задан - сортировка по позиции, возможные значения: id, title, date, price, position)","schema":{"type":"string","enum":["id","position","title","date","price","status"]},"example":"id"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0},{"name":"id","location":"path","required":true,"description":"идентификатор страницы - категории","schema":{"type":"number"},"example":1234}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"attributeMarker":{"type":"string","description":"текстовый идентификатор атрибута","example":"price"},"conditionMarker":{"type":"string","description":"текстовый идентификатор условия, возможные значения: 'in' - содержит, 'nin' - не содержит, 'eq' - равно, 'neq' - не равно, 'mth' - больше чем, 'lth' - меньше чем, 'exs' - существует, 'nexs' - не существует, 'pat' - паттерн, например **-**, …","example":"in","enum":["in","nin","eq","neq","mth","lth","exs","nexs","pat","same","same_part"]},"statusMarker":{"type":"string","description":"текстовый идентификатор статуса страницы товара (по умолчанию не задан)","example":"status_1"},"conditionValue":{"type":"object","description":"значение условия","example":1},"title":{"type":"string","description":"название товара","example":"Iphone 17 Pro"},"isNested":{"type":"object","description":"признак поиска по всем вложенным категориям )(pageUrls","example":false},"ids":{"type":"array","description":"массив числовых ID товаров для фильтрации","example":[1,2,3],"items":{"type":"number"}},"pageUrls":{"type":"array","description":"уникальная часть URL страницы (после последнего \"/\")","example":["23-laminat-floorwood-maxima"],"items":{"type":"array","items":{"type":"string"},"x-source-type":"string[]","x-loose":true}}}}},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findallbycategoryidforadmin post /products/page/{id} products поиск всех объектов страниц товаров с пагинацией для выбранной категории "},{"opId":"AdminProductsController_findAllByName","method":"get","path":"/products/quick/search","fullPath":"/api/admin/products/quick/search","tag":"Products","summary":"Быстрый поиск для объектов страниц товаров с ограниченным выводом","risk":"read","alwaysConfirm":false,"params":[{"name":"url","location":"query","required":false,"description":"уникальная часть URL страницы (после последнего \"/\") - каталога для поиска в категории","schema":{"type":"string"},"example":"23-laminat-floorwood-maxima"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"name","location":"query","required":true,"description":"текст для поиска объектов страниц товаров (поиск осуществляется по полю title объекта localizeInfos с учетом языка)","schema":{"type":"string"}}],"responseSummary":"Возвращает массив объектов SearchProductDto","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findallbyname get /products/quick/search products быстрый поиск для объектов страниц товаров с ограниченным выводом "},{"opId":"AdminProductsController_findAllByWithOutCategory","method":"post","path":"/products/empty-page","fullPath":"/api/admin/products/empty-page","tag":"Products","summary":"Поиск всех объектов страниц товаров с пагинацией, которые не имеют категорию","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"sortOrder","location":"query","required":false,"description":"порядок сортировки DESC | ASC (по умолчанию DESC)","schema":{"type":"string","enum":["ASC","DESC"]},"example":"DESC"},{"name":"sortKey","location":"query","required":false,"description":"поле для сортировки (по умолчанию не задан - сортировка по позиции, возможные значения: id, title, date, price, position)","schema":{"type":"string","enum":["id","position","title","date","price","status"]},"example":"id"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findallbywithoutcategory post /products/empty-page products поиск всех объектов страниц товаров с пагинацией, которые не имеют категорию "},{"opId":"AdminProductsController_findAllNotIndexed","method":"get","path":"/products/not-indexed","fullPath":"/api/admin/products/not-indexed","tag":"Products","summary":"Поиск всех непроиндексированных объектов страниц товаров с пагинацией","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"sortOrder","location":"query","required":false,"description":"порядок сортировки DESC | ASC (по умолчанию DESC)","schema":{"type":"string","enum":["ASC","DESC"]},"example":"DESC"},{"name":"sortKey","location":"query","required":false,"description":"поле для сортировки (по умолчанию не задан - сортировка по позиции, возможные значения: id, title, date, price, position)","schema":{"type":"string","enum":["id","position","title","date","price","status"]},"example":"id"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findallnotindexed get /products/not-indexed products поиск всех непроиндексированных объектов страниц товаров с пагинацией "},{"opId":"AdminProductsController_findAllRelated","method":"get","path":"/products/{id}/related","fullPath":"/api/admin/products/{id}/related","tag":"Products","summary":"Поиск всех связанных объектов страниц товаров","risk":"read","alwaysConfirm":false,"params":[{"name":"relationMode","location":"query","required":false,"description":"режим вычисления связей: `global` — стандартная цепочка условий шаблона; `local` (по умолчанию) — дополнительно проверяет, что значение атрибута товара :id удовлетворяет условию шаблона (тот же оператор + тот же сохранённый операнд), и только тогда накапливает выживших на этом шаге","schema":{"type":"string","enum":["global","local"]},"example":"local"},{"name":"templateMarker","location":"query","required":false,"description":"текстовый идентификатор шаблона связей товаров (по умолчанию выводятся все товары для всех шаблонов)","schema":{"type":"string"},"example":"my-template"},{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"sortOrder","location":"query","required":false,"description":"порядок сортировки DESC | ASC (по умолчанию DESC)","schema":{"type":"string","enum":["ASC","DESC"]},"example":"DESC"},{"name":"sortKey","location":"query","required":false,"description":"поле для сортировки (по умолчанию не задан - сортировка по позиции, возможные значения: id, title, date, price, position)","schema":{"type":"string","enum":["id","position","title","date","price","status"]},"example":"id"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0},{"name":"id","location":"path","required":true,"description":"идентификатор страницы товаров, для которой ищем связи","schema":{"type":"number"},"example":1234}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findallrelated get /products/{id}/related products поиск всех связанных объектов страниц товаров "},{"opId":"AdminProductsController_findBlocksById","method":"get","path":"/products/{id}/blocks","fullPath":"/api/admin/products/{id}/blocks","tag":"Products","summary":"Получение объектов AdminPageBlockDto по идентификатору товара","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор товара","schema":{"type":"number"},"example":1276}],"responseSummary":"Возвращает массив объектов AdminPageBlockDto","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findblocksbyid get /products/{id}/blocks products получение объектов adminpageblockdto по идентификатору товара "},{"opId":"AdminProductsController_findByIds","method":"post","path":"/products/found","fullPath":"/api/admin/products/found","tag":"Products","summary":"Поиск страниц товаров по идентификаторам (сортировка по умолчанию по дате создания товаров)","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","description":"(unresolved )"}},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findbyids post /products/found products поиск страниц товаров по идентификаторам (сортировка по умолчанию по дате создания товаров) "},{"opId":"AdminProductsController_findMany","method":"get","path":"/products/ids","fullPath":"/api/admin/products/ids","tag":"Products","summary":"Получение нескольких товаров по id","risk":"read","alwaysConfirm":false,"params":[{"name":"signPrice","location":"query","required":false,"description":"маркер хранилища заказов для фиксации цены","schema":{"type":"string"},"example":"orders_storage"},{"name":"ids","location":"query","required":true,"description":"идентификаторы товара, разделённые запятой","schema":{"type":"string"},"example":"66,67"},{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает массив ContentIndexedProductDto","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findmany get /products/ids products получение нескольких товаров по id "},{"opId":"AdminProductsController_findOne","method":"get","path":"/products/{id}","fullPath":"/api/admin/products/{id}","tag":"Products","summary":"Получение одного объекта товара","risk":"read","alwaysConfirm":false,"params":[{"name":"signPrice","location":"query","required":true,"schema":{"type":"string"}},{"name":"isNormalized","location":"query","required":false,"description":"флаг для нормализации значений атрибутов (по умолчанию выключен)","schema":{"type":"boolean"},"example":false},{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор товара","schema":{"type":"number"},"example":1275}],"responseSummary":"Возвращает объект AdminIndexedProductDto или ContentIndexedProductDto товара в зависимости от установленного флага isNormalized","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_findone get /products/{id} products получение одного объекта товара "},{"opId":"AdminProductsController_lockSorting","method":"post","path":"/products/positions/{positionId}/lock","fullPath":"/api/admin/products/positions/{positionId}/lock","tag":"Products","summary":"Блокировка (разблокировка) позиции сортировки товара по id","permission":"catalog.products.lockPositions","risk":"write","alwaysConfirm":false,"params":[{"name":"positionId","location":"path","required":true,"description":"идентификатор объекта позиции сортировки","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true в случае удачной блокировки или false в случае неудачной блокировки","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_locksorting post /products/positions/{positionid}/lock products блокировка (разблокировка) позиции сортировки товара по id catalog.products.lockpositions"},{"opId":"AdminProductsController_moveInCategory","method":"post","path":"/products/category/{id}/move","fullPath":"/api/admin/products/category/{id}/move","tag":"Products","summary":"Перемещение товаров в выбранную категорию","permission":"catalog.products.updateCategories","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы категории","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true при успешном перемещении, false - при неудачном","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_moveincategory post /products/category/{id}/move products перемещение товаров в выбранную категорию catalog.products.updatecategories"},{"opId":"AdminProductsController_productsMultiDeletion","method":"delete","path":"/products/delete/multi","fullPath":"/api/admin/products/delete/multi","tag":"Products","summary":"Удаление всех товаров в выбранных категориях","permission":"catalog.products.deleteMany","risk":"destructive","alwaysConfirm":false,"params":[{"name":"ids","location":"path","required":true,"description":"идентификаторы объектов страниц - категорий","schema":{"type":"array","items":{"type":"number"},"x-source-type":"number[]","x-loose":true},"example":[2,3]}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_productsmultideletion delete /products/delete/multi products удаление всех товаров в выбранных категориях catalog.products.deletemany"},{"opId":"AdminProductsController_remove","method":"delete","path":"/products/{id}","fullPath":"/api/admin/products/{id}","tag":"Products","summary":"Удаление одного объекта товара","permission":"catalog.products.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта товара","schema":{"type":"number"},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_remove delete /products/{id} products удаление одного объекта товара catalog.products.delete"},{"opId":"AdminProductsController_removeAllInCategory","method":"delete","path":"/products/category-total/{id}","fullPath":"/api/admin/products/category-total/{id}","tag":"Products","summary":"Удаление всех товаров в выбранной категории","permission":"catalog.products.deleteMany","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор товаров или тип удаления. При передачи значения \"empty-page\" будут удалены все товары без категорий, \"total-all\" - удаление всех товаров","schema":{"x-source-type":"string | number","x-loose":true},"example":"2 или \"empty-page\" или \"total-all\""}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_removeallincategory delete /products/category-total/{id} products удаление всех товаров в выбранной категории catalog.products.deletemany"},{"opId":"AdminProductsController_removeFromCategory","method":"delete","path":"/products/category/{pageId}/product/{id}","fullPath":"/api/admin/products/category/{pageId}/product/{id}","tag":"Products","summary":"Удаление одного объекта товара из категории","permission":"catalog.products.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта товара","schema":{"type":"number"},"example":2},{"name":"pageId","location":"path","required":true,"description":"идентификатор объекта категории","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_removefromcategory delete /products/category/{pageid}/product/{id} products удаление одного объекта товара из категории catalog.products.delete"},{"opId":"AdminProductsController_removeMany","method":"delete","path":"/products","fullPath":"/api/admin/products","tag":"Products","summary":"Удаление нескольких объектов товаров","permission":"catalog.products.deleteMany","risk":"destructive","alwaysConfirm":false,"params":[{"name":"ids","location":"path","required":true,"description":"идентификаторы удаляемых объектов товаров","schema":{"type":"array","items":{"type":"number"},"x-source-type":"number[]","x-loose":true},"example":[2,3]}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_removemany delete /products products удаление нескольких объектов товаров catalog.products.deletemany"},{"opId":"AdminProductsController_removeManyFromCategory","method":"delete","path":"/products/category/{pageId}","fullPath":"/api/admin/products/category/{pageId}","tag":"Products","summary":"Удаление нескольких объектов товаров из категории","permission":"catalog.products.deleteMany","risk":"destructive","alwaysConfirm":false,"params":[{"name":"pageId","location":"path","required":true,"description":"идентификаторы категории","schema":{"type":"number"},"example":2},{"name":"ids","location":"path","required":true,"description":"идентификаторы удаляемых объектов товаров","schema":{"type":"array","items":{"type":"number"},"x-source-type":"number[]","x-loose":true},"example":[2,3]}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_removemanyfromcategory delete /products/category/{pageid} products удаление нескольких объектов товаров из категории catalog.products.deletemany"},{"opId":"AdminProductsController_setStatusForProducts","method":"post","path":"/products/set-status","fullPath":"/api/admin/products/set-status","tag":"Products","summary":"Изменение статуса у страницы товара","permission":"catalog.products.editStatus","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true при успешном изменении, false - при неудачном","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_setstatusforproducts post /products/set-status products изменение статуса у страницы товара catalog.products.editstatus"},{"opId":"AdminProductsController_setTemplate","method":"post","path":"/products/set-template","fullPath":"/api/admin/products/set-template","tag":"Products","summary":"Назначение шаблона товарам","permission":"catalog.products.setTemplate","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true при успешном изменении, false - при неудачном","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_settemplate post /products/set-template products назначение шаблона товарам catalog.products.settemplate"},{"opId":"AdminProductsController_setVisibility","method":"put","path":"/products/{id}/change-visibility","fullPath":"/api/admin/products/{id}/change-visibility","tag":"Products","summary":"Изменение видимости объекта страницы","permission":"catalog.products.switching","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта для изменения","schema":{},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_setvisibility put /products/{id}/change-visibility products изменение видимости объекта страницы catalog.products.switching"},{"opId":"AdminProductsController_update","method":"put","path":"/products/{id}","fullPath":"/api/admin/products/{id}","tag":"Products","summary":"Обновление страницы товара","permission":"catalog.products.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы товара","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор страницы товара","example":1764},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"json описание объекта основных данных страницы товара с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Товар"}}},"isVisible":{"type":"boolean","description":"признак видимости страницы товара","example":true}}},"required":true},"responseSummary":"Возвращает true при успешном обновлении, false - при неудачном","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_update put /products/{id} products обновление страницы товара catalog.products.update"},{"opId":"AdminProductsController_updatePageNestedBlockPosition","method":"put","path":"/products/{id}/nested-blocks/{blockId}/position","fullPath":"/api/admin/products/{id}/nested-blocks/{blockId}/position","tag":"Products","summary":"Обновление позиции у одного объекта блока, привязанного к странице товара","permission":"catalog.products.blocks.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта страницы товара","schema":{"type":"number"},"example":1},{"name":"blockId","location":"path","required":true,"description":"идентификатор объекта блока","schema":{"type":"number"},"example":12}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionEntity с обновленной позицией","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"adminproductscontroller_updatepagenestedblockposition put /products/{id}/nested-blocks/{blockid}/position products обновление позиции у одного объекта блока, привязанного к странице товара catalog.products.blocks.changepositions"},{"opId":"AdminProductStatusController_create","method":"post","path":"/product-statuses","fullPath":"/api/admin/product-statuses","tag":"Product statuses","summary":"Создание объекта статуса товара","permission":"catalog.status.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"localizeInfos":{"x-source-type":"CommonLocalizeInfo","x-loose":true,"description":"название статуса с учетом локализации","example":{"en_US":{"title":"Статус 1"}}},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"updated"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"isDefault":{"type":"boolean","description":"признак статуса по умолчанию","example":false}}},"required":true},"responseSummary":"Возвращает созданный объект ProductStatusEntity (для обращения необходимо наличие разрешения \"catalog.status.create\")","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_create post /product-statuses product statuses создание объекта статуса товара catalog.status.create"},{"opId":"AdminProductStatusController_getAll","method":"get","path":"/product-statuses","fullPath":"/api/admin/product-statuses","tag":"Product statuses","summary":"Поиск всех объектов статуса товара","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив объектов PositionProductStatusDto статусов товара","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_getall get /product-statuses product statuses поиск всех объектов статуса товара "},{"opId":"AdminProductStatusController_getOne","method":"get","path":"/product-statuses/{id}","fullPath":"/api/admin/product-statuses/{id}","tag":"Product statuses","summary":"Поиск одного объекта статуса товара по идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает объект статуса товара","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_getone get /product-statuses/{id} product statuses поиск одного объекта статуса товара по идентификатору "},{"opId":"AdminProductStatusController_getOneByMarker","method":"get","path":"/product-statuses/marker/{marker}","fullPath":"/api/admin/product-statuses/marker/{marker}","tag":"Product statuses","summary":"Поиск объекта статуса товара по его текстовому идентификатора (маркеру)","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":false,"description":"код языка локализации (используется только при поиске с фильтром (по умолчанию - en_US)","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор (маркер)","schema":{"type":"string"}}],"responseSummary":"Возвращает объект статуса товара","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_getonebymarker get /product-statuses/marker/{marker} product statuses поиск объекта статуса товара по его текстовому идентификатора (маркеру) "},{"opId":"AdminProductStatusController_remove","method":"delete","path":"/product-statuses/{id}","fullPath":"/api/admin/product-statuses/{id}","tag":"Product statuses","summary":"Удаление одного объекта статуса товара","permission":"catalog.status.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор статуса товара","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"catalog.status.delete\")","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_remove delete /product-statuses/{id} product statuses удаление одного объекта статуса товара catalog.status.delete"},{"opId":"AdminProductStatusController_update","method":"put","path":"/product-statuses/{id}","fullPath":"/api/admin/product-statuses/{id}","tag":"Product statuses","summary":"Обновление одного объекта статуса товара","permission":"catalog.status.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта статуса товара","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{}},"required":true},"responseSummary":"Возвращает true в случае успешного обновления и false - неуспешного (для обращения необходимо наличие разрешения \"catalog.status.update\")","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_update put /product-statuses/{id} product statuses обновление одного объекта статуса товара catalog.status.update"},{"opId":"AdminProductStatusController_updateModulePosition","method":"put","path":"/product-statuses/{id}/position","fullPath":"/api/admin/product-statuses/{id}/position","tag":"Product statuses","summary":"Обновление позиции у одного объекта статуса товара","permission":"catalog.status.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта модуля","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionProductStatusDto с новой позицией","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_updatemoduleposition put /product-statuses/{id}/position product statuses обновление позиции у одного объекта статуса товара catalog.status.changepositions"},{"opId":"AdminProductStatusController_validateMarker","method":"get","path":"/product-statuses/marker-validation/{marker}","fullPath":"/api/admin/product-statuses/marker-validation/{marker}","tag":"Product statuses","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["mcp/operating-rules"],"searchText":"adminproductstatuscontroller_validatemarker get /product-statuses/marker-validation/{marker} product statuses проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminsController_checkEmailExistence","method":"post","path":"/admins/check-email-existence","fullPath":"/api/admin/admins/check-email-existence","tag":"Admins","summary":"Проверка адреса электронной почты пользователя - админа на существование","risk":"write","alwaysConfirm":true,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"email":{"type":"string","description":"адрес электронной почты","example":"meteor@gmail.com"}},"required":["email"]},"required":true},"responseSummary":"Возвращает объект {exist: true} (в случае существования пользователя - админа) или {exist: false} (в случае отсутствия)","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_checkemailexistence post /admins/check-email-existence admins проверка адреса электронной почты пользователя - админа на существование "},{"opId":"AdminsController_checkLoginExistence","method":"post","path":"/admins/check-login-existence","fullPath":"/api/admin/admins/check-login-existence","tag":"Admins","summary":"Проверка логина пользователя - админа на существование","risk":"write","alwaysConfirm":true,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"login":{"type":"string","description":"логин для проверки","example":"meteor"}},"required":["login"]},"required":true},"responseSummary":"Возвращает объект {exist: true} (в случае существования пользователя - админа) или {exist: false} (в случае отсутствия)","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_checkloginexistence post /admins/check-login-existence admins проверка логина пользователя - админа на существование "},{"opId":"AdminsController_create","method":"post","path":"/admins","fullPath":"/api/admin/admins","tag":"Admins","summary":"Создание объекта пользователя - админа","risk":"write","alwaysConfirm":true,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов","example":12},"login":{"type":"string","description":"логин","example":"meteor"},"email":{"type":"string","description":"адрес электронной почты","example":"meteor@mydomen.ru"},"restorePasswordCode":{"type":"number","description":"код для восстановления пароля","example":""},"permissions":{"type":"object","x-source-type":"Record<AdminPermissionsEnum, boolean>","x-loose":true,"description":"доступные пользователю разрешения","example":{"menu.create":true}},"selectedLanguage":{"type":"string","description":"выбранный язык для интерфейса","example":"en_US"},"selectedContentLanguage":{"type":"string","description":"выбранный язык для контента","example":"en_US"},"selectedUITheme":{"type":"string","description":"выбранная тема для интерфейса","example":"DARK","enum":["DARK","LIGHT"]},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"},"positionId":{"type":"number","description":"идентификатор объекта позиции","example":"0|hzzzzz:"}},"required":["identifier","email"]},"required":true},"responseSummary":"Возвращает созданный объект AdminIndexedAdminDto (для обращения необходимо наличие разрешения \"admins.create\")","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_create post /admins admins создание объекта пользователя - админа "},{"opId":"AdminsController_findAll","method":"get","path":"/admins","fullPath":"/api/admin/admins","tag":"Admins","summary":"Получение всех объектов пользователей - админов","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает массив объектов AdminIndexedAdminDto","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_findall get /admins admins получение всех объектов пользователей - админов "},{"opId":"AdminsController_findOne","method":"get","path":"/admins/{id}","fullPath":"/api/admin/admins/{id}","tag":"Admins","summary":"Получение одного объекта пользователя - админа","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта пользователя - админа","schema":{},"example":1}],"responseSummary":"Возвращает один объект пользователя AdminIndexedAdminDto","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_findone get /admins/{id} admins получение одного объекта пользователя - админа "},{"opId":"AdminsController_getAllAvailablePermissionsKeys","method":"get","path":"/admins/permissions/all","fullPath":"/api/admin/admins/permissions/all","tag":"Admins","summary":"Получает список доступных разрешений для админа","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив строк - разрешений (для обращения необходимо наличие разрешения \"admins.updatePermissions\")","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_getallavailablepermissionskeys get /admins/permissions/all admins получает список доступных разрешений для админа "},{"opId":"AdminsController_remove","method":"delete","path":"/admins/{id}","fullPath":"/api/admin/admins/{id}","tag":"Admins","summary":"Удаление объекта пользователя - админа","risk":"destructive","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта пользователя - админа","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"admins.delete\")","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_remove delete /admins/{id} admins удаление объекта пользователя - админа "},{"opId":"AdminsController_update","method":"put","path":"/admins/{id}","fullPath":"/api/admin/admins/{id}","tag":"Admins","summary":"Обновление объекта пользователя - админа","risk":"write","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта пользователя - админа","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов","example":12},"login":{"type":"string","description":"логин","example":"meteor"},"email":{"type":"string","description":"адрес электронной почты","example":"meteor@mydomen.ru"},"restorePasswordCode":{"type":"number","description":"код для восстановления пароля","example":""},"permissions":{"type":"object","x-source-type":"Record<AdminPermissionsEnum, boolean>","x-loose":true,"description":"доступные пользователю разрешения","example":{"menu.create":true}},"selectedLanguage":{"type":"string","description":"выбранный язык для интерфейса","example":"en_US"},"selectedContentLanguage":{"type":"string","description":"выбранный язык для контента","example":"en_US"},"selectedUITheme":{"type":"string","description":"выбранная тема для интерфейса","example":"DARK","enum":["DARK","LIGHT"]},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"},"positionId":{"type":"number","description":"идентификатор объекта позиции","example":"0|hzzzzz:"}}},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"admins.update\")","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_update put /admins/{id} admins обновление объекта пользователя - админа "},{"opId":"AdminsController_updateModulePosition","method":"put","path":"/admins/{id}/position","fullPath":"/api/admin/admins/{id}/position","tag":"Admins","summary":"Обновление позиции у одного объекта пользователя - админа","risk":"write","alwaysConfirm":true,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта модуля","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionAdminDto с новой позицией","docLinks":["back/docs/user-permissions","back/tests/admins-e2e","mcp/operating-rules"],"searchText":"adminscontroller_updatemoduleposition put /admins/{id}/position admins обновление позиции у одного объекта пользователя - админа "},{"opId":"AdminSettingsGeneralController_findOne","method":"get","path":"/settings-general","fullPath":"/api/admin/settings-general","tag":"SettingsGeneral","summary":"Получение настроек приложения","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает объект с настройками SettingsGeneralDto","docLinks":["mcp/operating-rules"],"searchText":"adminsettingsgeneralcontroller_findone get /settings-general settingsgeneral получение настроек приложения "},{"opId":"AdminSettingsGeneralController_update","method":"put","path":"/settings-general","fullPath":"/api/admin/settings-general","tag":"SettingsGeneral","summary":"Обновление настроек приложения","permission":"settings.general.update","risk":"write","alwaysConfirm":true,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"user":{"type":"object","properties":{"optimizeImages":{"type":"boolean","description":"формат даты (по умолчанию)","example":"DD-MM-YYYY"},"dateFormat":{"type":"string","description":"формат даты (по умолчанию)","example":"DD-MM-YYYY"},"ipCheck":{"type":"object","description":"настройки провайдера для проверки ip"},"ratingFrequency":{"type":"string","description":"cron-выражение для частоты пересчета рейтинга","example":"0 */1 * * *"}},"description":"настройки, заданные пользователем"}}},"required":true},"responseSummary":"Возвращает true в случае успешного обновления настроек","docLinks":["mcp/operating-rules"],"searchText":"adminsettingsgeneralcontroller_update put /settings-general settingsgeneral обновление настроек приложения settings.general.update"},{"opId":"AdminSlidesController_create","method":"post","path":"/slides","fullPath":"/api/admin/slides","tag":"Slides","summary":"Создать слайд (root или nested)","permission":"slides.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"blockId":{"type":"number","description":"идентификатор блока (тип block должен быть slider_block)","example":12},"parentId":{"type":"number","description":"идентификатор родительского слайда; null/отсутствует — слайд root-уровня","example":null},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов","example":7},"attributesSets":{"type":"object","description":"значения атрибутов слайда по языкам, формат `{ [lang]: { [attrId]: value } }`","example":{"en_US":{"string_id1":"Hello"}}},"isVisible":{"type":"boolean","description":"видимость слайда","example":true},"time":{"type":"number","description":"индивидуальный интервал смены слайда (число), парный с `timeInterval`","example":5},"timeInterval":{"type":"string","description":"единица измерения для `time`, парная с `time`","example":"sec","enum":["sec","ms"]}},"required":["blockId"]},"required":true},"responseSummary":"Возвращает созданный слайд (требуется permission slides.create)","docLinks":["mcp/operating-rules"],"searchText":"adminslidescontroller_create post /slides slides создать слайд (root или nested) slides.create"},{"opId":"AdminSlidesController_findAll","method":"get","path":"/slides","fullPath":"/api/admin/slides","tag":"Slides","summary":"Получить flat-список слайдов блока","risk":"read","alwaysConfirm":false,"params":[{"name":"blockId","location":"query","required":true,"description":"идентификатор блока","schema":{"type":"number"},"example":12}],"responseSummary":"Список слайдов блока (flat, для построения дерева на клиенте)","docLinks":["mcp/operating-rules"],"searchText":"adminslidescontroller_findall get /slides slides получить flat-список слайдов блока "},{"opId":"AdminSlidesController_findOne","method":"get","path":"/slides/{id}","fullPath":"/api/admin/slides/{id}","tag":"Slides","summary":"Получить один слайд по id","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор слайда","schema":{},"example":42}],"responseSummary":"Слайд","docLinks":["mcp/operating-rules"],"searchText":"adminslidescontroller_findone get /slides/{id} slides получить один слайд по id "},{"opId":"AdminSlidesController_remove","method":"delete","path":"/slides/{id}","fullPath":"/api/admin/slides/{id}","tag":"Slides","summary":"Удалить слайд (каскадно вместе с потомками)","permission":"slides.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор слайда","schema":{},"example":42}],"responseSummary":"Возвращает true при успешном удалении (требуется permission slides.delete)","docLinks":["mcp/operating-rules"],"searchText":"adminslidescontroller_remove delete /slides/{id} slides удалить слайд (каскадно вместе с потомками) slides.delete"},{"opId":"AdminSlidesController_reorder","method":"patch","path":"/slides/reorder","fullPath":"/api/admin/slides/reorder","tag":"Slides","summary":"Изменить порядок слайдов (cross-parent reorder)","permission":"slides.changePositions","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"blockId":{"type":"number","description":"идентификатор блока, в рамках которого выполняется reorder","example":12},"items":{"type":"array","description":"массив изменений позиций","example":[{"id":42,"parentId":null,"orderIndex":0},{"id":43,"parentId":42,"orderIndex":0}],"items":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор слайда","example":42},"parentId":{"type":"number","description":"новый родитель: null/отсутствует — root-уровень, иначе id родительского слайда","example":null},"orderIndex":{"type":"number","description":"0-based позиция среди сиблингов внутри нового parent","example":0}},"required":["id","orderIndex"]}}},"required":["blockId","items"]},"required":true},"responseSummary":"Возвращает обновлённый список слайдов блока (требуется permission slides.changePositions)","docLinks":["mcp/operating-rules"],"searchText":"adminslidescontroller_reorder patch /slides/reorder slides изменить порядок слайдов (cross-parent reorder) slides.changepositions"},{"opId":"AdminSlidesController_setVisibility","method":"patch","path":"/slides/{id}/visibility","fullPath":"/api/admin/slides/{id}/visibility","tag":"Slides","summary":"Изменить видимость слайда","permission":"slides.switching","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор слайда","schema":{},"example":42}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"isVisible":{"type":"boolean","description":"новое значение видимости","example":false}},"required":["isVisible"]},"required":true},"responseSummary":"Возвращает обновлённый слайд (требуется permission slides.switching)","docLinks":["mcp/operating-rules"],"searchText":"adminslidescontroller_setvisibility patch /slides/{id}/visibility slides изменить видимость слайда slides.switching"},{"opId":"AdminSlidesController_update","method":"put","path":"/slides/{id}","fullPath":"/api/admin/slides/{id}","tag":"Slides","summary":"Обновить поля слайда","permission":"slides.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор слайда","schema":{},"example":42}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"blockId":{"type":"number","description":"идентификатор блока (тип block должен быть slider_block)","example":12},"parentId":{"type":"number","description":"идентификатор родительского слайда; null/отсутствует — слайд root-уровня","example":null},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов","example":7},"attributesSets":{"type":"object","description":"значения атрибутов слайда по языкам, формат `{ [lang]: { [attrId]: value } }`","example":{"en_US":{"string_id1":"Hello"}}},"isVisible":{"type":"boolean","description":"видимость слайда","example":true},"time":{"type":"number","description":"индивидуальный интервал смены слайда (число), парный с `timeInterval`","example":5},"timeInterval":{"type":"string","description":"единица измерения для `time`, парная с `time`","example":"sec","enum":["sec","ms"]}}},"required":true},"responseSummary":"Возвращает обновлённый слайд (требуется permission slides.update)","docLinks":["mcp/operating-rules"],"searchText":"adminslidescontroller_update put /slides/{id} slides обновить поля слайда slides.update"},{"opId":"AdminSubscriptionsController_cancel","method":"delete","path":"/subscriptions/user/{id}","fullPath":"/api/admin/subscriptions/user/{id}","tag":"Subscriptions","summary":"Отменить подписку по id пользователя","permission":"subscriptions.manage","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор пользователя","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"id подписки","example":1}},"required":["id"]},"required":true},"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_cancel delete /subscriptions/user/{id} subscriptions отменить подписку по id пользователя subscriptions.manage"},{"opId":"AdminSubscriptionsController_create","method":"post","path":"/subscriptions","fullPath":"/api/admin/subscriptions","tag":"Subscriptions","summary":"Создание новой подписки","permission":"subscriptions.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"маркер подписки","example":"test"},"localizrInfos":{"type":"object","description":"название подписки","example":{"en_US":{"title":"Test subscription"}}}},"required":["identifier","localizrInfos"]},"required":true},"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_create post /subscriptions subscriptions создание новой подписки subscriptions.create"},{"opId":"AdminSubscriptionsController_delete","method":"delete","path":"/subscriptions/{id}","fullPath":"/api/admin/subscriptions/{id}","tag":"Subscriptions","summary":"Удаление неактивной подписки","permission":"subscriptions.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{"type":"number"},"example":1}],"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_delete delete /subscriptions/{id} subscriptions удаление неактивной подписки subscriptions.delete"},{"opId":"AdminSubscriptionsController_deleteUserSubscription","method":"delete","path":"/subscriptions/user-subscription/{id}","fullPath":"/api/admin/subscriptions/user-subscription/{id}","tag":"Subscriptions","summary":"Полное удаление подписки пользователя по id записи user_subscriptions","permission":"subscriptions.manage","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор записи user_subscriptions","schema":{"type":"number"},"example":1}],"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_deleteusersubscription delete /subscriptions/user-subscription/{id} subscriptions полное удаление подписки пользователя по id записи user_subscriptions subscriptions.manage"},{"opId":"AdminSubscriptionsController_find","method":"get","path":"/subscriptions","fullPath":"/api/admin/subscriptions","tag":"Subscriptions","summary":"Получить все доступные подписки","risk":"read","alwaysConfirm":false,"params":[],"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_find get /subscriptions subscriptions получить все доступные подписки "},{"opId":"AdminSubscriptionsController_get","method":"get","path":"/subscriptions/{id}","fullPath":"/api/admin/subscriptions/{id}","tag":"Subscriptions","summary":"Получить подписку по идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{"type":"number"},"example":1}],"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_get get /subscriptions/{id} subscriptions получить подписку по идентификатору "},{"opId":"AdminSubscriptionsController_renew","method":"post","path":"/subscriptions/user/{id}","fullPath":"/api/admin/subscriptions/user/{id}","tag":"Subscriptions","summary":"Продлить подписку по id пользователя","permission":"subscriptions.manage","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор пользователя","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"id подписки","example":1}},"required":["id"]},"required":true},"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_renew post /subscriptions/user/{id} subscriptions продлить подписку по id пользователя subscriptions.manage"},{"opId":"AdminSubscriptionsController_update","method":"put","path":"/subscriptions/{id}","fullPath":"/api/admin/subscriptions/{id}","tag":"Subscriptions","summary":"Обновление подписки по идентификатору","permission":"subscriptions.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"identifier":{"type":"string","description":"маркер подписки","example":"test"},"localizrInfos":{"type":"object","description":"название подписки","example":{"en_US":{"title":"Test subscription"}}},"paymentAccountId":{"type":"number","description":"идентификатор платёжного аккаунта","example":1},"periodInDays":{"type":"number","description":"длительность периода подписки в днях","example":30}},"required":["paymentAccountId","periodInDays"]},"required":true},"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_update put /subscriptions/{id} subscriptions обновление подписки по идентификатору subscriptions.update"},{"opId":"AdminSubscriptionsController_user","method":"get","path":"/subscriptions/user/{id}","fullPath":"/api/admin/subscriptions/user/{id}","tag":"Subscriptions","summary":"Получить подписки по id пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор пользователя","schema":{"type":"number"},"example":1}],"docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_user get /subscriptions/user/{id} subscriptions получить подписки по id пользователя "},{"opId":"AdminSubscriptionsController_validateMarker","method":"get","path":"/subscriptions/marker-validation/{marker}","fullPath":"/api/admin/subscriptions/marker-validation/{marker}","tag":"Subscriptions","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/subscriptions-module","mcp/operating-rules"],"searchText":"adminsubscriptionscontroller_validatemarker get /subscriptions/marker-validation/{marker} subscriptions проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminSystemController_deleteCaptchaKey","method":"delete","path":"/system/captcha-keys/{key}","fullPath":"/api/admin/system/captcha-keys/{key}","tag":"System","summary":"Удаление ключа капчи (Google reCAPTCHA)","permission":"settings.general.update","risk":"destructive","alwaysConfirm":true,"params":[{"name":"key","location":"path","required":true,"description":"идентификатор ключа капчи","schema":{"type":"string"},"example":"6LdF4HcqAAAAAD7Mia-zF5SMzY-XjHd_SU2xr0uQ"}],"responseSummary":"Возвращает true в случае успешного удаления","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_deletecaptchakey delete /system/captcha-keys/{key} system удаление ключа капчи (google recaptcha) settings.general.update"},{"opId":"AdminSystemController_generateCaptchaKey","method":"post","path":"/system/captcha-keys/generate","fullPath":"/api/admin/system/captcha-keys/generate","tag":"System","summary":"Генерация ключей капчи (Google reCAPTCHA)","permission":"settings.general.update","risk":"write","alwaysConfirm":true,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"domainNames":{"type":"string","description":"имя домена","example":"test.com"},"keyName":{"type":"string","description":"пользовательское название ключа (без пробелов)","example":"mykey"}},"required":["domainNames","keyName"]},"required":true},"responseSummary":"Возвращает объект CreatedCaptchaDto","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_generatecaptchakey post /system/captcha-keys/generate system генерация ключей капчи (google recaptcha) settings.general.update"},{"opId":"AdminSystemController_getGeneratedCaptchaKeys","method":"get","path":"/system/captcha-keys","fullPath":"/api/admin/system/captcha-keys","tag":"System","summary":"Получение списка сгенерированных ключей капчи (Google reCAPTCHA)","permission":"settings.general.update","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив объектов ListCaptchaDto","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_getgeneratedcaptchakeys get /system/captcha-keys system получение списка сгенерированных ключей капчи (google recaptcha) settings.general.update"},{"opId":"AdminSystemController_positionsMaintenance","method":"post","path":"/system/positions/maintenance","fullPath":"/api/admin/system/positions/maintenance","tag":"System","summary":"Исправление непривязанных позиций","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает: список данных с неправильными позициями, true (в случае успешного выполнения) или false - в случае неуспешного","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_positionsmaintenance post /system/positions/maintenance system исправление непривязанных позиций "},{"opId":"AdminSystemController_proxyRagManualStream","method":"post","path":"/system/rag-manual-stream","fullPath":"/api/admin/system/rag-manual-stream","tag":"System","summary":"Прокси POST-запроса к внешнему стриминговому сервису","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Стриминговый ответ от внешнего RAG-сервиса (chunked / text/event-stream)","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_proxyragmanualstream post /system/rag-manual-stream system прокси post-запроса к внешнему стриминговому сервису "},{"opId":"AdminSystemController_receiveAlerts","method":"post","path":"/system/alert","fullPath":"/api/admin/system/alert","tag":"System","summary":"Получение уведомлений из внешних источников","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true (временно)","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_receivealerts post /system/alert system получение уведомлений из внешних источников "},{"opId":"AdminSystemController_updateCaptchaKey","method":"put","path":"/system/captcha-keys/{key}","fullPath":"/api/admin/system/captcha-keys/{key}","tag":"System","summary":"Обновление доменов для ранее сгенерированного ключа капчи (Google reCAPTCHA)","permission":"settings.general.update","risk":"write","alwaysConfirm":true,"params":[{"name":"key","location":"path","required":true,"description":"идентификатор ключа капчи","schema":{"type":"string"},"example":"6LdF4HcqAAAAAD7Mia-zF5SMzY-XjHd_SU2xr0uQ"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"domainNames":{"type":"string","description":"имя домена или список доменных имен, разделенных \",\" (без пробелов)","example":"test.com,my-app.az"}},"required":["domainNames"]},"required":true},"responseSummary":"Возвращает true в случае успешного обновления","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_updatecaptchakey put /system/captcha-keys/{key} system обновление доменов для ранее сгенерированного ключа капчи (google recaptcha) settings.general.update"},{"opId":"AdminSystemController_updateManyAttributeValues","method":"put","path":"/system/update-multiple-attribute-values","fullPath":"/api/admin/system/update-multiple-attribute-values","tag":"System","summary":"Обновление значений атрибутов нескольких сущностей","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"items":{"type":"array","description":"Список обновлений атрибутов для нескольких сущностей. Каждый элемент имеет тот же формат, что ChangeAttributeValueDto.","example":[{"type":"products","id":12,"attributeSetIdentifier":"product_attrs","attributeValues":{"en_US":[{"marker":"price","value":"12.0","type":"float"}]}},{"type":"products","id":13,"attributeSetIdentifier":"product_attrs","attributeValues":{"en_US":[{"marker":"price","value":"15.0","type":"float"}]}}],"items":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор сущности, в которой находится значение атрибута","example":"price"},"attributeSetIdentifier":{"type":"string","description":"текстовые идентификатор набора атрибутов, которому принадлежит атрибут","example":"a_set_1"},"type":{"type":"string","description":"тип изменяемых данных","example":"products"},"attributeValues":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные изменяемого атрибута (ов)","example":{"value":"1","type":"string","marker":"price"}}},"required":["id","attributeSetIdentifier","type","attributeValues"]}}},"required":["items"]},"required":true},"responseSummary":"Возвращает список результатов обновления по каждой сущности","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_updatemanyattributevalues put /system/update-multiple-attribute-values system обновление значений атрибутов нескольких сущностей "},{"opId":"AdminSystemController_updateOneAttributeValue","method":"put","path":"/system/update-attribute-values","fullPath":"/api/admin/system/update-attribute-values","tag":"System","summary":"Обновление значения одного атрибута сущности","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор сущности, в которой находится значение атрибута","example":"price"},"attributeSetIdentifier":{"type":"string","description":"текстовые идентификатор набора атрибутов, которому принадлежит атрибут","example":"a_set_1"},"type":{"type":"string","description":"тип изменяемых данных","example":"products"},"attributeValues":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные изменяемого атрибута (ов)","example":{"value":"1","type":"string","marker":"price"}}},"required":["id","attributeSetIdentifier","type","attributeValues"]},"required":true},"responseSummary":"Возвращает true (в случае успешного обновление) или false - в случае неуспешного","docLinks":["back/docs/captcha-recaptcha","mcp/operating-rules"],"searchText":"adminsystemcontroller_updateoneattributevalue put /system/update-attribute-values system обновление значения одного атрибута сущности "},{"opId":"AdminTemplatePreviewsController_create","method":"post","path":"/template-previews","fullPath":"/api/admin/template-previews","tag":"Template previews","summary":"Создание одного объекта шаблона (для выполнения операции необходимо наличия разрешения \"settings.templatePreview.create\")","permission":"settings.templatePreview.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"proportions":{"type":"object","x-source-type":"Record<string, TemplateProportionSet>","x-loose":true,"description":"параметры пропорций шаблона","example":{"default":{"horizontal":{"height":200,"weight":10,"alignmentType":"middleMiddle"},"vertical":{"height":10,"weight":200,"alignmentType":"middleMiddle"},"square":{"side":3,"alignmentType":"middleMiddle"}}}},"title":{"type":"string","description":"заголовок","example":"Шаблон страниц"},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"},"positionId":{"type":"number","description":"идентификатор объекта позиции","example":"0|hzzzzz:"}},"required":["identifier"]},"required":true},"responseSummary":"Возвращает объект AdminPositionTemplatePreviewDto","docLinks":["back/tests/template-previews-e2e","mcp/operating-rules"],"searchText":"admintemplatepreviewscontroller_create post /template-previews template previews создание одного объекта шаблона (для выполнения операции необходимо наличия разрешения \"settings.templatepreview.create\") settings.templatepreview.create"},{"opId":"AdminTemplatePreviewsController_findAll","method":"get","path":"/template-previews","fullPath":"/api/admin/template-previews","tag":"Template previews","summary":"Получение всех объектов шаблонов","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает все объекты шаблонов AdminPositionTemplatePreviewDto","docLinks":["back/tests/template-previews-e2e","mcp/operating-rules"],"searchText":"admintemplatepreviewscontroller_findall get /template-previews template previews получение всех объектов шаблонов "},{"opId":"AdminTemplatePreviewsController_findOne","method":"get","path":"/template-previews/{id}","fullPath":"/api/admin/template-previews/{id}","tag":"Template previews","summary":"Получение одного объекта шаблона","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект AdminPositionTemplatePreviewDto","docLinks":["back/tests/template-previews-e2e","mcp/operating-rules"],"searchText":"admintemplatepreviewscontroller_findone get /template-previews/{id} template previews получение одного объекта шаблона "},{"opId":"AdminTemplatePreviewsController_remove","method":"delete","path":"/template-previews/{id}","fullPath":"/api/admin/template-previews/{id}","tag":"Template previews","summary":"Удаление одного объекта шаблона (для выполнения операции необходимо наличия разрешения \"settings.templatePreview.delete\")","permission":"settings.templatePreview.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"}}],"responseSummary":"Возвращает true в случае успешного выполнения операции или false - в случае неуспешного","docLinks":["back/tests/template-previews-e2e","mcp/operating-rules"],"searchText":"admintemplatepreviewscontroller_remove delete /template-previews/{id} template previews удаление одного объекта шаблона (для выполнения операции необходимо наличия разрешения \"settings.templatepreview.delete\") settings.templatepreview.delete"},{"opId":"AdminTemplatePreviewsController_update","method":"put","path":"/template-previews/{id}","fullPath":"/api/admin/template-previews/{id}","tag":"Template previews","summary":"Обновление одного объекта шаблона (для выполнения операции необходимо наличия разрешения \"settings.templatePreview.update\")","permission":"settings.templatePreview.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"proportions":{"type":"object","x-source-type":"Record<string, TemplateProportionSet>","x-loose":true,"description":"параметры пропорций шаблона","example":{"default":{"horizontal":{"height":200,"weight":10,"alignmentType":"middleMiddle"},"vertical":{"height":10,"weight":200,"alignmentType":"middleMiddle"},"square":{"side":3,"alignmentType":"middleMiddle"}}}},"title":{"type":"string","description":"заголовок","example":"Шаблон страниц"},"position":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"position":{"type":"string","description":"текстовый идентификатор позиции","example":"0|hzzzzz:"},"objectId":{"type":"number","description":"идентификатор связанного объекта","example":12},"objectType":{"type":"string","description":"тип связанного объекта","example":"page"},"isLocked":{"type":"boolean","description":"признак блокировки позиции сортировки","example":null},"lockedPosition":{"type":"number","description":"числовой номер заблокированной позиции","example":2},"objectCategoryId":{"type":"number","description":"категория связанного объекта (для случая позиционирования объекта в нескольких категориях)","example":null}},"description":"объект позиции"},"positionId":{"type":"number","description":"идентификатор объекта позиции","example":"0|hzzzzz:"}},"required":["identifier"]},"required":true},"responseSummary":"Возвращает true в случае успешного выполнения операции или false - в случае неуспешного","docLinks":["back/tests/template-previews-e2e","mcp/operating-rules"],"searchText":"admintemplatepreviewscontroller_update put /template-previews/{id} template previews обновление одного объекта шаблона (для выполнения операции необходимо наличия разрешения \"settings.templatepreview.update\") settings.templatepreview.update"},{"opId":"AdminTemplatePreviewsController_updateAttributeSetPosition","method":"put","path":"/template-previews/{id}/position","fullPath":"/api/admin/template-previews/{id}/position","tag":"Template previews","summary":"Обновление позиции у одного объекта шаблона","permission":"settings.templatePreview.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект AdminPositionTemplatePreviewDto с новой позицией","docLinks":["back/tests/template-previews-e2e","mcp/operating-rules"],"searchText":"admintemplatepreviewscontroller_updateattributesetposition put /template-previews/{id}/position template previews обновление позиции у одного объекта шаблона settings.templatepreview.changepositions"},{"opId":"AdminTemplatePreviewsController_validateMarker","method":"get","path":"/template-previews/marker-validation/{marker}","fullPath":"/api/admin/template-previews/marker-validation/{marker}","tag":"Template previews","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/tests/template-previews-e2e","mcp/operating-rules"],"searchText":"admintemplatepreviewscontroller_validatemarker get /template-previews/marker-validation/{marker} template previews проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminTemplatesController_create","method":"post","path":"/templates","fullPath":"/api/admin/templates","tag":"Templates","summary":"Создание объекта шаблона","permission":"settings.templates.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"generalTypeId":{"type":"number","description":"идентификатор общего типа","example":2},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"admin1"},"title":{"type":"string","description":"название","example":"Товар"}},"required":["title"]},"required":true},"responseSummary":"Возвращает созданный объект шаблона с позицией AdminPositionTemplateDto (для обращения необходимо наличие разрешения \"settings.templates.create\")","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_create post /templates templates создание объекта шаблона settings.templates.create"},{"opId":"AdminTemplatesController_findAll","method":"get","path":"/templates","fullPath":"/api/admin/templates","tag":"Templates","summary":"Получение всех объектов шаблонов определенного типа","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"type","location":"query","required":true,"description":"название типа шаблона","schema":{"type":"string","enum":["common_page","error_page","catalog_page","product","product_preview","common_block","product_block","similar_products_block","form","order","Service","external_page","discount","frequently_ordered_block","trending_block","recently_viewed_block","repeat_purchase_block","slider_block","personal_recommendations_block","cart_complement_block","cart_similar_block","wishlist_similar_block"]},"example":"similar_products_block"}],"responseSummary":"Возвращает массив объектов AdminPositionTemplateDto","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_findall get /templates templates получение всех объектов шаблонов определенного типа "},{"opId":"AdminTemplatesController_findAllTemplate","method":"get","path":"/templates/all","fullPath":"/api/admin/templates/all","tag":"Templates","summary":"Получение всех объектов шаблонов, сгруппированных по типам","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает объект GroupedTemplatesObject, который содержит массив шаблонов AdminPositionTemplateDto или пустой объект - {} Ключи объекта GroupedTemplatesObject - названия типов","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_findalltemplate get /templates/all templates получение всех объектов шаблонов, сгруппированных по типам "},{"opId":"AdminTemplatesController_findOne","method":"get","path":"/templates/{id}","fullPath":"/api/admin/templates/{id}","tag":"Templates","summary":"Получение одного объекта шаблона","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает объект AdminPositionTemplateDto","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_findone get /templates/{id} templates получение одного объекта шаблона "},{"opId":"AdminTemplatesController_remove","method":"delete","path":"/templates/{id}","fullPath":"/api/admin/templates/{id}","tag":"Templates","summary":"Удаление одного объекта шаблона","permission":"settings.templates.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"settings.templates.delete\")","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_remove delete /templates/{id} templates удаление одного объекта шаблона settings.templates.delete"},{"opId":"AdminTemplatesController_update","method":"put","path":"/templates/{id}","fullPath":"/api/admin/templates/{id}","tag":"Templates","summary":"Обновление одного объекта шаблона","permission":"settings.templates.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"generalTypeId":{"type":"number","description":"идентификатор общего типа","example":2},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"admin1"},"title":{"type":"string","description":"название","example":"Товар"}}},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"settings.templates.update\")","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_update put /templates/{id} templates обновление одного объекта шаблона settings.templates.update"},{"opId":"AdminTemplatesController_updateAttributeSetPosition","method":"put","path":"/templates/{id}/position","fullPath":"/api/admin/templates/{id}/position","tag":"Templates","summary":"Обновление позиции у одного объекта шаблона","permission":"settings.templates.changePositions","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"newParentId":{"type":"number","description":"идентификатор объекта - родителя"},"destinationId":{"type":"number","description":"идентификатор объекта (для случае с заблокированными позицями)"},"position":{"type":"object","properties":{"leftObjectId":{"type":"number","description":"идентификатор объекта слева","example":42},"rightObjectId":{"type":"number","description":"идентификатор объекта справа","example":6712},"leftObjectType":{"type":"string","description":"object_type соседа слева (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-item"},"rightObjectType":{"type":"string","description":"object_type соседа справа (для смешанных списков; если не задан — используется objectType move-target)","example":"filter-custom-item"}},"description":"объект, содержащий сведения о позиции"},"swapData":{"type":"object","description":"данные UpdatePositionWithParentDto в случае блокировки позиции"}}},"required":true},"responseSummary":"Возвращает объект PositionTemplateDto с новой позицией","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_updateattributesetposition put /templates/{id}/position templates обновление позиции у одного объекта шаблона settings.templates.changepositions"},{"opId":"AdminTemplatesController_validateMarker","method":"get","path":"/templates/marker-validation/{marker}","fullPath":"/api/admin/templates/marker-validation/{marker}","tag":"Templates","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/tests/templates-e2e","mcp/operating-rules"],"searchText":"admintemplatescontroller_validatemarker get /templates/marker-validation/{marker} templates проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminUserGroupsController_copyGroupPermissions","method":"post","path":"/user-groups/{sourceGroupId}/permissions/copy-to/{destGroupId}","fullPath":"/api/admin/user-groups/{sourceGroupId}/permissions/copy-to/{destGroupId}","tag":"User Groups","summary":"Копирование всех разрешений из одной группы пользователей в другую (merge — дубликаты пропускаются)","permission":"userPermissions.update","risk":"write","alwaysConfirm":false,"params":[{"name":"sourceGroupId","location":"path","required":true,"description":"идентификатор группы-источника","schema":{"type":"number"},"example":1},{"name":"destGroupId","location":"path","required":true,"description":"идентификатор группы-получателя","schema":{"type":"number"},"example":5}],"responseSummary":"Возвращает объект CopyGroupPermissionsResultDto с количеством скопированных и пропущенных связок","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_copygrouppermissions post /user-groups/{sourcegroupid}/permissions/copy-to/{destgroupid} user groups копирование всех разрешений из одной группы пользователей в другую (merge — дубликаты пропускаются) userpermissions.update"},{"opId":"AdminUserGroupsController_create","method":"post","path":"/user-groups","fullPath":"/api/admin/user-groups","tag":"User Groups","summary":"Создание объекта группы пользователя","permission":"userGroups.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов","example":12},"parentId":{"type":"number","description":"идентификатор родителя, если содержит null, то это группа самого верхнего уровня","example":null},"depth":{"type":"number","description":"глубина вложенности группы относительно parentId","example":3},"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"название группы с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Зарегистрированные пользователи"}}},"isVisible":{"type":"boolean","description":"признак видимости","example":true},"childrenCount":{"type":"number","description":"количество вложенных групп","example":0},"showChildren":{"type":"boolean","description":"признак для клиентского приложения о необходимости отображения вложенных групп","example":false},"identifier":{"type":"string","description":"текстовый идентификатор группы","example":"catalog"},"skipPermissions":{"type":"boolean","description":"не использовать разрешения для этой группы (супер-права): доступ ко всем эндпоинтам content API без проверки route-разрешений","example":false}},"required":["identifier"]},"required":true},"responseSummary":"Возвращает созданный объект UserGroupEntity (для обращения необходимо наличие разрешения \"userGroups.create\")","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_create post /user-groups user groups создание объекта группы пользователя usergroups.create"},{"opId":"AdminUserGroupsController_findAllPermissionForOneGroup","method":"get","path":"/user-groups/{id}/permissions","fullPath":"/api/admin/user-groups/{id}/permissions","tag":"User Groups","summary":"Получение всех объектов разрешений с информацией о включении разрешения для одного объекта группы пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"filterValue","location":"query","required":false,"description":"значение для поиска кода языковой локализации","schema":{"type":"string"},"example":"my-perm"},{"name":"sections","location":"query","required":false,"description":"значение для поиска секции API","schema":{"type":"string"},"example":"pages,products"},{"name":"isUnused","location":"query","required":false,"description":"поиск разрешений, которые не используются в группах","schema":{"type":"array","items":{"type":"number"}},"example":1},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0},{"name":"id","location":"path","required":true,"description":"идентификатор объекта группы пользователя","schema":{"type":"number"}}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_findallpermissionforonegroup get /user-groups/{id}/permissions user groups получение всех объектов разрешений с информацией о включении разрешения для одного объекта группы пользователя "},{"opId":"AdminUserGroupsController_findAllRoot","method":"get","path":"/user-groups/root","fullPath":"/api/admin/user-groups/root","tag":"User Groups","summary":"Получение всех объектов групп пользователя с верхнего уровня (parentId = null)","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает все созданные группы без родителей в виде массива объектов BaseUserGroupDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_findallroot get /user-groups/root user groups получение всех объектов групп пользователя с верхнего уровня (parentid = null) "},{"opId":"AdminUserGroupsController_findChildrenById","method":"get","path":"/user-groups/{id}/children","fullPath":"/api/admin/user-groups/{id}/children","tag":"User Groups","summary":"Получение дочерних групп пользователей","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор группы - родителя","schema":{"type":"number"}}],"responseSummary":"Возвращает все созданные страницы в виде массива объектов BaseUserGroupDto или пустой массив [] (в случае отсутствия данных) для выбранного родителя","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_findchildrenbyid get /user-groups/{id}/children user groups получение дочерних групп пользователей "},{"opId":"AdminUserGroupsController_findOne","method":"get","path":"/user-groups/{id}","fullPath":"/api/admin/user-groups/{id}","tag":"User Groups","summary":"Получение одного объекта группы пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта группы пользователя","schema":{"type":"number"}},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает один объект BaseUserGroupDto","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_findone get /user-groups/{id} user groups получение одного объекта группы пользователя "},{"opId":"AdminUserGroupsController_getAll","method":"get","path":"/user-groups","fullPath":"/api/admin/user-groups","tag":"User Groups","summary":"Получение всех объектов групп пользователей","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает все созданные страницы в виде массива объектов BaseUserGroupDto или пустой массив [] (в случае отсутствия данных)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_getall get /user-groups user groups получение всех объектов групп пользователей "},{"opId":"AdminUserGroupsController_getGroupRoutesWithPermissions","method":"post","path":"/user-groups/find-permissions","fullPath":"/api/admin/user-groups/find-permissions","tag":"User Groups","summary":"Получение разрешений для пользовательских групп","risk":"write","alwaysConfirm":false,"params":[{"name":"sections","location":"query","required":false,"description":"значение для поиска секции API","schema":{"type":"string"},"example":"pages,products"}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"ids":{"type":"array","description":"идентификаторы пользовательских групп","example":[1,2,3],"items":{"type":"array"}}},"required":["ids"]}},"required":true},"responseSummary":"Возвращает массив с разрешениями, доступными для выбранных пользовательских групп","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_getgrouprouteswithpermissions post /user-groups/find-permissions user groups получение разрешений для пользовательских групп "},{"opId":"AdminUserGroupsController_grantAllPermissions","method":"post","path":"/user-groups/{groupId}/permissions/grant-all","fullPath":"/api/admin/user-groups/{groupId}/permissions/grant-all","tag":"User Groups","summary":"Массовое подключение всех существующих разрешений к указанной группе","permission":"userPermissions.update","risk":"write","alwaysConfirm":false,"params":[{"name":"groupId","location":"path","required":true,"description":"идентификатор группы-получателя","schema":{"type":"number"},"example":5}],"responseSummary":"Возвращает BulkGrantResultDto: количество фактически добавленных связок и id записи в group_permission_bulk_ops","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_grantallpermissions post /user-groups/{groupid}/permissions/grant-all user groups массовое подключение всех существующих разрешений к указанной группе userpermissions.update"},{"opId":"AdminUserGroupsController_isExistPage","method":"get","path":"/user-groups/validation/{id}/{marker}","fullPath":"/api/admin/user-groups/validation/{id}/{marker}","tag":"User Groups","summary":"Проверка уникальности текстового маркера объекта группы пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор группы","schema":{"type":"number"}},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает значение true (в случае существования группы) или false (в случае отсутствия группы)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_isexistpage get /user-groups/validation/{id}/{marker} user groups проверка уникальности текстового маркера объекта группы пользователя "},{"opId":"AdminUserGroupsController_remove","method":"delete","path":"/user-groups/{id}","fullPath":"/api/admin/user-groups/{id}","tag":"User Groups","summary":"Удаление одного объекта группы пользователя","permission":"userGroups.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор удаляемого объекта группы пользователя","schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"flag":{"type":"string","description":"значение флага для удаления данных группы пользователя","enum":["self_only","with_children"]}}},"required":true},"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"userGroups.delete)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_remove delete /user-groups/{id} user groups удаление одного объекта группы пользователя usergroups.delete"},{"opId":"AdminUserGroupsController_revertLastBulkPermissionsOp","method":"post","path":"/user-groups/{groupId}/permissions/revert-last-bulk","fullPath":"/api/admin/user-groups/{groupId}/permissions/revert-last-bulk","tag":"User Groups","summary":"Откат последней bulk-операции с разрешениями группы (grant-all | copy-from)","permission":"userPermissions.update","risk":"write","alwaysConfirm":false,"params":[{"name":"groupId","location":"path","required":true,"description":"идентификатор группы","schema":{"type":"number"},"example":5}],"responseSummary":"Возвращает BulkRevertResultDto: количество удалённых связок и id откаченной операции (null — если откатывать нечего)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_revertlastbulkpermissionsop post /user-groups/{groupid}/permissions/revert-last-bulk user groups откат последней bulk-операции с разрешениями группы (grant-all | copy-from) userpermissions.update"},{"opId":"AdminUserGroupsController_setVisibility","method":"put","path":"/user-groups/{id}/change-visibility","fullPath":"/api/admin/user-groups/{id}/change-visibility","tag":"User Groups","summary":"Изменение видимости объекта группы пользователя","permission":"userGroups.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта для изменения","schema":{},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_setvisibility put /user-groups/{id}/change-visibility user groups изменение видимости объекта группы пользователя usergroups.update"},{"opId":"AdminUserGroupsController_update","method":"put","path":"/user-groups/{id}","fullPath":"/api/admin/user-groups/{id}","tag":"User Groups","summary":"Обновление объекта группы пользователя","permission":"userGroups.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"attributesSets":{"x-source-type":"AttributesSets","x-loose":true,"description":"аттрибуты со значениями, используемые объектом","example":{"string_id19":"","string_id18":""}},"attributeSetId":{"type":"number","description":"идентификатор используемого набора атрибутов","example":12},"parentId":{"type":"number","description":"идентификатор родителя, если содержит null, то это группа самого верхнего уровня","example":null},"depth":{"type":"number","description":"глубина вложенности группы относительно parentId","example":3},"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"название группы с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Зарегистрированные пользователи"}}},"isVisible":{"type":"boolean","description":"признак видимости","example":true},"childrenCount":{"type":"number","description":"количество вложенных групп","example":0},"showChildren":{"type":"boolean","description":"признак для клиентского приложения о необходимости отображения вложенных групп","example":false},"identifier":{"type":"string","description":"текстовый идентификатор группы","example":"catalog"},"skipPermissions":{"type":"boolean","description":"не использовать разрешения для этой группы (супер-права): доступ ко всем эндпоинтам content API без проверки route-разрешений","example":false},"version":{"type":"number","description":"номер версии изменения объекта","example":10}}},"required":true},"responseSummary":"Возвращает обновленный объект UserGroupEntity (для обращения необходимо наличие разрешения \"userGroups.update\")","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_update put /user-groups/{id} user groups обновление объекта группы пользователя usergroups.update"},{"opId":"AdminUserGroupsController_updateGroupPermission","method":"put","path":"/user-groups/{groupId}/permissions/{permissionId}/change","fullPath":"/api/admin/user-groups/{groupId}/permissions/{permissionId}/change","tag":"User Groups","summary":"Добавление (исключение) разрешения из группы","permission":"userPermissions.update","risk":"write","alwaysConfirm":false,"params":[{"name":"groupId","location":"path","required":true,"description":"идентификатор объекта группы","schema":{"type":"number"},"example":5},{"name":"permissionId","location":"path","required":true,"description":"идентификатор объекта разрешения","schema":{"type":"number"},"example":2}],"responseSummary":"Возвращает значение true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_updategrouppermission put /user-groups/{groupid}/permissions/{permissionid}/change user groups добавление (исключение) разрешения из группы userpermissions.update"},{"opId":"AdminUserGroupsController_validateMarker","method":"get","path":"/user-groups/marker-validation/{marker}","fullPath":"/api/admin/user-groups/marker-validation/{marker}","tag":"User Groups","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/user-permissions","mcp/operating-rules"],"searchText":"adminusergroupscontroller_validatemarker get /user-groups/marker-validation/{marker} user groups проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminUserPermissionsController_create","method":"post","path":"/user-permissions","fullPath":"/api/admin/user-permissions","tag":"User Permissions","summary":"Создание объекта(ов) разрешения(ий)","permission":"userPermissions.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"название разрешения с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Доступ к каталогу"}}},"section":{"type":"string","description":"секция API, связанного с разрешением","example":"pages","enum":["admins","attributes-sets","locales","blocks","files","forms","form-data","filters","events","general-types","menus","orders-storage","orders","pages","products","product-statuses","payments","system","templates","template-previews","users","user-activity","users-auth-providers","integration-collections","user-groups","settings-general","immutable-settings","sitemap","discounts","search"]},"path":{"type":"string","description":"путь, для которого установлено разрешение","example":"/content"},"rules":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание правил","example":{"permissions":{"readAllRule":1,"readRestrictionRule":0,"readNestedRule":0,"addRule":0,"changeRule":0,"deleteRule":0},"additionalData":{"blocks":{"identifiers":[],"isExclude":false,"isInclude":false}}}}},"required":["section"]}},"required":true},"responseSummary":"Возвращает созданный объект UserPermissionEntity (для обращения необходимо наличие разрешения \"userPermissions.create\")","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_create post /user-permissions user permissions создание объекта(ов) разрешения(ий) userpermissions.create"},{"opId":"AdminUserPermissionsController_findAll","method":"get","path":"/user-permissions","fullPath":"/api/admin/user-permissions","tag":"User Permissions","summary":"Поиск всех объектов разрешений с пагинацией","risk":"read","alwaysConfirm":false,"params":[{"name":"filterValue","location":"query","required":false,"description":"значение для поиска кода языковой локализации","schema":{"type":"string"},"example":"my-perm"},{"name":"sections","location":"query","required":false,"description":"значение для поиска секции API","schema":{"type":"string"},"example":"pages,products"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_findall get /user-permissions user permissions поиск всех объектов разрешений с пагинацией "},{"opId":"AdminUserPermissionsController_findAllAPISections","method":"get","path":"/user-permissions/api-sections","fullPath":"/api/admin/user-permissions/api-sections","tag":"User Permissions","summary":"Список всех доступных секций API для создания разрешений","risk":"read","alwaysConfirm":false,"params":[{"name":"withMeta","location":"query","required":false,"description":"если \"1\" — каждый эндпоинт обогащается полями requiredRule и dependsOn (см. ContentApiSectionsWithMeta)","schema":{"type":"string"},"example":"1"},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает JSON объект с информцией о контролерах, доступных в контент API","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_findallapisections get /user-permissions/api-sections user permissions список всех доступных секций api для создания разрешений "},{"opId":"AdminUserPermissionsController_findOne","method":"get","path":"/user-permissions/{id}","fullPath":"/api/admin/user-permissions/{id}","tag":"User Permissions","summary":"Получение одного объекта разрешения","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта разрешения","schema":{"type":"number"}}],"responseSummary":"Возвращает один объект BaseUserPermissionDto","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_findone get /user-permissions/{id} user permissions получение одного объекта разрешения "},{"opId":"AdminUserPermissionsController_flushCache","method":"post","path":"/user-permissions/cache/flush","fullPath":"/api/admin/user-permissions/cache/flush","tag":"User Permissions","summary":"Сбрасывает Redis-кэши разрешений (user_groups:*, permissions:*, settings:restricted_data_length, iprep:*)","permission":"userPermissions.update","risk":"write","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает PermissionsCacheFlushResult со счётчиками удалённых ключей","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_flushcache post /user-permissions/cache/flush user permissions сбрасывает redis-кэши разрешений (user_groups:*, permissions:*, settings:restricted_data_length, iprep:*) userpermissions.update"},{"opId":"AdminUserPermissionsController_getHealth","method":"get","path":"/user-permissions/health","fullPath":"/api/admin/user-permissions/health","tag":"User Permissions","summary":"Снимок состояния системы разрешений (пользовательский интерфейс модалки диагностики)","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает PermissionsHealthSnapshot — coverage gaps, дубликаты, целостность иерархии, итоговая матрица 5-битных разрешений, валидность rules JSON, состояние Redis-кэшей, конфигурация","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_gethealth get /user-permissions/health user permissions снимок состояния системы разрешений (пользовательский интерфейс модалки диагностики) "},{"opId":"AdminUserPermissionsController_linkToGuest","method":"post","path":"/user-permissions/link-to-guest","fullPath":"/api/admin/user-permissions/link-to-guest","tag":"User Permissions","summary":"Привязывает переданные разрешения к гостевой группе (id = 1) — quick-fix для orphan permissions","permission":"userPermissions.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"permissionIds":{"type":"array","description":"идентификаторы разрешений, которые требуется привязать к гостевой группе","example":[101,102,103],"items":{"type":"number"}}},"required":["permissionIds"]},"required":true},"responseSummary":"Возвращает { linked: число фактически вставленных строк в user_group_permissions_mn }","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_linktoguest post /user-permissions/link-to-guest user permissions привязывает переданные разрешения к гостевой группе (id = 1) — quick-fix для orphan permissions userpermissions.update"},{"opId":"AdminUserPermissionsController_remove","method":"delete","path":"/user-permissions/{id}","fullPath":"/api/admin/user-permissions/{id}","tag":"User Permissions","summary":"Удаление одного объекта разрешения","permission":"userPermissions.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор удаляемого объекта разрешения","schema":{"type":"number"}}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"userPermissions.delete)","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_remove delete /user-permissions/{id} user permissions удаление одного объекта разрешения userpermissions.delete"},{"opId":"AdminUserPermissionsController_update","method":"put","path":"/user-permissions/{id}","fullPath":"/api/admin/user-permissions/{id}","tag":"User Permissions","summary":"Обновление объекта разрешения","permission":"userPermissions.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"localizeInfos":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"название разрешения с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Доступ к каталогу"}}},"section":{"type":"string","description":"секция API, связанного с разрешением","example":"pages","enum":["admins","attributes-sets","locales","blocks","files","forms","form-data","filters","events","general-types","menus","orders-storage","orders","pages","products","product-statuses","payments","system","templates","template-previews","users","user-activity","users-auth-providers","integration-collections","user-groups","settings-general","immutable-settings","sitemap","discounts","search"]},"path":{"type":"string","description":"путь, для которого установлено разрешение","example":"/content"},"rules":{"type":"object","x-source-type":"Record<string, any>","x-loose":true,"description":"json описание правил","example":{"permissions":{"readAllRule":1,"readRestrictionRule":0,"readNestedRule":0,"addRule":0,"changeRule":0,"deleteRule":0},"additionalData":{"blocks":{"identifiers":[],"isExclude":false,"isInclude":false}}}}}},"required":true},"responseSummary":"Возвращает обновленный объект UserPermissionEntity (для обращения необходимо наличие разрешения \"userPermissions.update\")","docLinks":["back/docs/user-permissions","front/docs/user-permissions","mcp/operating-rules"],"searchText":"adminuserpermissionscontroller_update put /user-permissions/{id} user permissions обновление объекта разрешения userpermissions.update"},{"opId":"AdminUsersAuthProviderController_activateUser","method":"post","path":"/users-auth-providers/marker/{marker}/users/activate","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/activate","tag":"Users Auth Providers","summary":"Активация пользователя","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"userIdentifier":{"type":"string","description":"текстовый идентификатор объекта пользователя (логин пользователя)","example":"user1"},"code":{"type":"string","description":"служебный код","example":"WTW9CH"}},"required":["userIdentifier","code"]},"required":true},"responseSummary":"Возвращает true (в случае успешной активации) или false (в противном случае)","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_activateuser post /users-auth-providers/marker/{marker}/users/activate users auth providers активация пользователя "},{"opId":"AdminUsersAuthProviderController_changePassword","method":"post","path":"/users-auth-providers/marker/{marker}/users/change-password","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/change-password","tag":"Users Auth Providers","summary":"Изменение пароля пользователя (только для тарифов с активацией аккаунта и включенной функцией Активации)","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"userIdentifier":{"type":"string","description":"текстовый идентификатор объекта пользователя (логин пользователя)","example":"user1"},"eventIdentifier":{"type":"string","description":"текстовый идентификатор объекта события","example":"password_changed"},"code":{"type":"string","description":"код для смены пароля","example":"WF12345"},"type":{"type":"number","description":"тип операции (1 - для смены пароля, 2 - для восстановления)","example":1},"password1":{"type":"string","description":"новый пароль","example":"12345"},"password2":{"type":"string","description":"новый пароль (повтор)","example":"12345"}},"required":["userIdentifier","eventIdentifier","code","type","password1","password2"]},"required":true},"responseSummary":"Возвращает true (в случае успешного изменения) или false (в случае неуспешного изменения)","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_changepassword post /users-auth-providers/marker/{marker}/users/change-password users auth providers изменение пароля пользователя (только для тарифов с активацией аккаунта и включенной функцией активации) "},{"opId":"AdminUsersAuthProviderController_checkCode","method":"post","path":"/users-auth-providers/marker/{marker}/users/check-code","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/check-code","tag":"Users Auth Providers","summary":"Проверка кода активации пользователя","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"userIdentifier":{"type":"string","description":"текстовый идентификатор объекта пользователя (логин пользователя)","example":"user1"},"eventIdentifier":{"type":"string","description":"текстовый идентификатор объекта события, для которого генерируется код","example":"auth"},"code":{"type":"string","description":"служебный код","example":"WTW9CH"}},"required":["userIdentifier","eventIdentifier","code"]},"required":true},"responseSummary":"Возвращает true (если код корректный) или false (если некорректный)","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_checkcode post /users-auth-providers/marker/{marker}/users/check-code users auth providers проверка кода активации пользователя "},{"opId":"AdminUsersAuthProviderController_createProvider","method":"post","path":"/users-auth-providers","fullPath":"/api/admin/users-auth-providers","tag":"Users Auth Providers","summary":"Создание провайдера авторизации","permission":"usersAuthProvider.create","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"type":{"type":"string","description":"тип","example":"email","enum":["email","phone","oauth"]},"identifier":{"type":"string","description":"текстовый идентификатор","example":"catalog"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название провайдера с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Авторизация через адрес электронной почты"}}}},"required":["type","identifier","localizeInfos"]},"required":true},"responseSummary":"Возвращает объект провайдера UsersAuthProviderEntity","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_createprovider post /users-auth-providers users auth providers создание провайдера авторизации usersauthprovider.create"},{"opId":"AdminUsersAuthProviderController_findAll","method":"get","path":"/users-auth-providers","fullPath":"/api/admin/users-auth-providers","tag":"Users Auth Providers","summary":"Получение всех объектов провайдеров авторизации","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"offset","location":"query","required":false,"description":"параметр смещения отбора записей, по умолчанию - 0","schema":{},"example":0},{"name":"limit","location":"query","required":false,"description":"параметр ограничения отбора записей, по умолчанию - 30","schema":{},"example":30}],"responseSummary":"Возвращает массив объектов AdminUsersAuthProviderDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_findall get /users-auth-providers users auth providers получение всех объектов провайдеров авторизации "},{"opId":"AdminUsersAuthProviderController_findOneById","method":"get","path":"/users-auth-providers/{id}","fullPath":"/api/admin/users-auth-providers/{id}","tag":"Users Auth Providers","summary":"Получение одного объекта провайдера авторизации по идентификатору","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта провайдера авторизации","schema":{"type":"number"},"example":12}],"responseSummary":"Возвращает объект AdminUsersAuthProviderDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_findonebyid get /users-auth-providers/{id} users auth providers получение одного объекта провайдера авторизации по идентификатору "},{"opId":"AdminUsersAuthProviderController_findOneByMarker","method":"get","path":"/users-auth-providers/marker/{marker}","fullPath":"/api/admin/users-auth-providers/marker/{marker}","tag":"Users Auth Providers","summary":"Получение одного объекта провайдера авторизации по маркеру","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"маркер объекта провайдера авторизации","schema":{"type":"string"},"example":"my-provider"}],"responseSummary":"Возвращает объект ContentUsersAuthProviderDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_findonebymarker get /users-auth-providers/marker/{marker} users auth providers получение одного объекта провайдера авторизации по маркеру "},{"opId":"AdminUsersAuthProviderController_generateUserCode","method":"post","path":"/users-auth-providers/marker/{marker}/users/generate-code","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/generate-code","tag":"Users Auth Providers","summary":"Получение кода для активации пользователя","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"userIdentifier":{"type":"string","description":"текстовый идентификатор объекта пользователя (логин пользователя)","example":"user1"},"eventIdentifier":{"type":"string","description":"текстовый идентификатор объекта события, для которого генерируется код","example":"auth"}},"required":["userIdentifier","eventIdentifier"]},"required":true},"responseSummary":"Код возвращается через соответствующий метод уведомления пользователя","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_generateusercode post /users-auth-providers/marker/{marker}/users/generate-code users auth providers получение кода для активации пользователя "},{"opId":"AdminUsersAuthProviderController_getAllSessions","method":"get","path":"/users-auth-providers/marker/{marker}/users/sessions","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/sessions","tag":"Users Auth Providers","summary":"Получение данных активных сессий пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"}],"responseSummary":"Возвращает массив объектов с информацией об устройствах входа DeviceInfoDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_getallsessions get /users-auth-providers/marker/{marker}/users/sessions users auth providers получение данных активных сессий пользователя "},{"opId":"AdminUsersAuthProviderController_login","method":"post","path":"/users-auth-providers/marker/{marker}/users/auth","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/auth","tag":"Users Auth Providers","summary":"Авторизация пользователя","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"},{"name":"X-Device-Metadata","location":"header","required":true,"description":"Информация об устройстве пользователя и уникальный отпечаток устройства (fingerprint)","schema":{"type":"string","example":"{\"fingerprint\":\"abc123-fp\",\"deviceInfo\":{\"os\":\"Windows 10\",\"browser\":\"Chrome 115\",\"location\":\"Moscow, RU\"}}"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"authData":{"x-source-type":"FormDataType","x-loose":true,"description":"данные авторизации, взятые из формы, привязянной к провайдеру авторизации","example":[{"marker":"login","value":"test"},{"marker":"password","value":"12345"}]}},"required":["authData"]},"required":true},"responseSummary":"Возвращает объект с токенами UserTokenDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_login post /users-auth-providers/marker/{marker}/users/auth users auth providers авторизация пользователя "},{"opId":"AdminUsersAuthProviderController_logout","method":"post","path":"/users-auth-providers/marker/{marker}/users/logout","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/logout","tag":"Users Auth Providers","summary":"Выход из аккаунта пользователя на одном устройстве","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"},{"name":"X-Device-Metadata","location":"header","required":true,"description":"Информация об устройстве пользователя и уникальный отпечаток устройства (fingerprint)","schema":{"type":"string","example":"{\"fingerprint\":\"abc123-fp\",\"deviceInfo\":{\"os\":\"Windows 10\",\"browser\":\"Chrome 115\",\"location\":\"Moscow, RU\"}}"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"refreshToken":{"type":"string","description":"токен для обновления","example":{"refreshToken":"1714557670334-cb85112d-618d-4b2a-bad5-137b19c135b9"}}},"required":["refreshToken"]},"required":true},"responseSummary":"Возвращает true (в случае успешной операции) или false (в случае неуспешной операции)","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_logout post /users-auth-providers/marker/{marker}/users/logout users auth providers выход из аккаунта пользователя на одном устройстве "},{"opId":"AdminUsersAuthProviderController_logoutAllSessions","method":"post","path":"/users-auth-providers/marker/{marker}/users/logout-all","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/logout-all","tag":"Users Auth Providers","summary":"Выход из аккаунта пользователя на всех устройствах","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"},{"name":"X-Device-Metadata","location":"header","required":true,"description":"Информация об устройстве пользователя и уникальный отпечаток устройства (fingerprint)","schema":{"type":"string","example":"{\"fingerprint\":\"abc123-fp\",\"deviceInfo\":{\"os\":\"Windows 10\",\"browser\":\"Chrome 115\",\"location\":\"Moscow, RU\"}}"}}],"responseSummary":"Возвращает true (в случае успешной операции) или false (в случае неуспешной операции)","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_logoutallsessions post /users-auth-providers/marker/{marker}/users/logout-all users auth providers выход из аккаунта пользователя на всех устройствах "},{"opId":"AdminUsersAuthProviderController_oauth","method":"post","path":"/users-auth-providers/marker/{marker}/oauth","fullPath":"/api/admin/users-auth-providers/marker/{marker}/oauth","tag":"Users Auth Providers","summary":"Регистрация (авторизация) пользователя через OAUTH","risk":"write","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"},{"name":"X-Device-Metadata","location":"header","required":true,"description":"Информация об устройстве пользователя и уникальный отпечаток устройства (fingerprint)","schema":{"type":"string","example":"{\"fingerprint\":\"abc123-fp\",\"deviceInfo\":{\"os\":\"Windows 10\",\"browser\":\"Chrome 115\",\"location\":\"Moscow, RU\"}}"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"code":{"type":"string","description":"код клиента oauth провайдера (токен авторизации)","example":"4/0AVMBsJgwewewewewewei4D7T6E_fbswxnL3g"},"redirect_uri":{"type":"string","description":"ссылка приложения для перенаправления после успешной авторизации","example":"http://localhost:3000"}},"required":["code","redirect_uri"]},"required":true},"responseSummary":"Возвращает объект с токенами UserTokenDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_oauth post /users-auth-providers/marker/{marker}/oauth users auth providers регистрация (авторизация) пользователя через oauth "},{"opId":"AdminUsersAuthProviderController_refreshToken","method":"post","path":"/users-auth-providers/marker/{marker}/users/refresh","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/refresh","tag":"Users Auth Providers","summary":"Обновление токенов пользователя","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"},{"name":"X-Device-Metadata","location":"header","required":true,"description":"Информация об устройстве пользователя и уникальный отпечаток устройства (fingerprint)","schema":{"type":"string","example":"{\"fingerprint\":\"abc123-fp\",\"deviceInfo\":{\"os\":\"Windows 10\",\"browser\":\"Chrome 115\",\"location\":\"Moscow, RU\"}}"}}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"refreshToken":{"type":"string","description":"токен для обновления","example":{"refreshToken":"1714557670334-cb85112d-618d-4b2a-bad5-137b19c135b9"}}},"required":["refreshToken"]},"required":true},"responseSummary":"Возвращает объект с токенами UserTokenDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_refreshtoken post /users-auth-providers/marker/{marker}/users/refresh users auth providers обновление токенов пользователя "},{"opId":"AdminUsersAuthProviderController_register","method":"post","path":"/users-auth-providers/{id}/users/sign-up","fullPath":"/api/admin/users-auth-providers/{id}/users/sign-up","tag":"Users Auth Providers","summary":"Регистрация пользователя","permission":"users.create","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор провайдера авторизации","schema":{"type":"number"},"example":12}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"langCode":{"type":"object","description":"код локали, на котором пользователь регистрируется","example":"en_US"},"authData":{"x-source-type":"FormDataType","x-loose":true,"description":"данные авторизации, взятые из формы, привязянной к провайдеру авторизации","example":[{"marker":"login","value":"test"},{"marker":"password","value":"12345"}]},"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные формы, привязянной к провайдеру авторизации","example":{"en_US":[{"marker":"last-login","type":"date","value":{"fullDate":"2024-05-07T21:02:00.000Z","formattedValue":"08-05-2024 00:02","formatString":"DD-MM-YYYY HH:mm"}}]}},"notificationData":{"x-source-type":"UserNotificationDataType","x-loose":true,"description":"данные для уведомления пользователя","example":{"email":"test@test.ru","phonePush":[],"phoneSMS":"+79991234567"}}},"required":["langCode","authData"]},"required":true},"responseSummary":"Возвращает объект пользователя CreatedUserDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_register post /users-auth-providers/{id}/users/sign-up users auth providers регистрация пользователя users.create"},{"opId":"AdminUsersAuthProviderController_registerUser","method":"post","path":"/users-auth-providers/marker/{marker}/users/sign-up","fullPath":"/api/admin/users-auth-providers/marker/{marker}/users/sign-up","tag":"Users Auth Providers","summary":"Регистрация пользователя (❗️Для провайдера с активацией пользователей, код активации приходит через соответствующий метод уведомления пользователя)","risk":"write","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор провайдера авторизации","schema":{"type":"string"},"example":"email"}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"formIdentifier":{"type":"string","description":"текстовый идентификатор формы провайдера авторизации","example":"reg_form"},"langCode":{"type":"object","description":"код локали, на котором пользователь регистрируется","example":"en_US"},"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные формы, привязанной к провайдеру авторизации","example":{"en_US":[{"marker":"last-login","type":"date","value":{"fullDate":"2024-05-07T21:02:00.000Z","formattedValue":"08-05-2024 00:02","formatString":"DD-MM-YYYY HH:mm"}}]}},"authData":{"x-source-type":"FormAuthDataType","x-loose":true,"description":"данные авторизации, взятые из формы, привязанной к провайдеру авторизации","example":[{"marker":"login","value":"test"},{"marker":"password","value":"12345"}]},"notificationData":{"type":"object","properties":{},"description":"данные для уведомления пользователя"}},"required":["formIdentifier","langCode","formData","authData"]},"required":true},"responseSummary":"Возвращает объект пользователя CreatedUserDto","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_registeruser post /users-auth-providers/marker/{marker}/users/sign-up users auth providers регистрация пользователя (❗️для провайдера с активацией пользователей, код активации приходит через соответствующий метод уведомления пользователя) "},{"opId":"AdminUsersAuthProviderController_remove","method":"delete","path":"/users-auth-providers/{id}","fullPath":"/api/admin/users-auth-providers/{id}","tag":"Users Auth Providers","summary":"Удаление объекта провайдера авторизации","permission":"usersAuthProvider.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта провайдера","schema":{},"example":1}],"responseSummary":"Возвращает true (в случае успешного удаления) или false (в случае неуспешного) (для обращения необходимо наличие разрешения \"users.auth-providers.delete\")","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_remove delete /users-auth-providers/{id} users auth providers удаление объекта провайдера авторизации usersauthprovider.delete"},{"opId":"AdminUsersAuthProviderController_updateProvider","method":"put","path":"/users-auth-providers/{id}","fullPath":"/api/admin/users-auth-providers/{id}","tag":"Users Auth Providers","summary":"Обновление провайдера авторизации","permission":"usersAuthProvider.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор провайдера авторизации","schema":{"type":"number"},"example":2}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"type":{"type":"string","description":"тип","example":"email","enum":["email","phone","oauth"]},"identifier":{"type":"string","description":"текстовый идентификатор","example":"catalog"},"localizeInfos":{"x-source-type":"CommonLocalizeInfos","x-loose":true,"description":"название провайдера с учетом языка \"en_US\" (например)","example":{"en_US":{"title":"Авторизация через адрес электронной почты"}}},"isActive":{"type":"boolean","description":"признак доступности","example":"true"},"formId":{"type":"number","description":"идентификатор формы, привязанной к провайдеру","example":2},"userGroupId":{"type":"number","description":"идентификатор группы пользователя по умолчанию","example":1}},"required":["type","identifier","localizeInfos"]},"required":true},"responseSummary":"Возвращает true (в случае успешного обновления) или false (в случае неуспешного) (для обращения необходимо наличие разрешения \"users.auth-providers.update\")","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_updateprovider put /users-auth-providers/{id} users auth providers обновление провайдера авторизации usersauthprovider.update"},{"opId":"AdminUsersAuthProviderController_validateMarker","method":"get","path":"/users-auth-providers/marker-validation/{marker}","fullPath":"/api/admin/users-auth-providers/marker-validation/{marker}","tag":"Users Auth Providers","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["mcp/operating-rules"],"searchText":"adminusersauthprovidercontroller_validatemarker get /users-auth-providers/marker-validation/{marker} users auth providers проверка текстового идентификатора (маркера) на существование "},{"opId":"AdminUsersController_checkLoginExistence","method":"post","path":"/users/check-login-existence","fullPath":"/api/admin/users/check-login-existence","tag":"Users","summary":"Проверка логина пользователя на существование","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"login":{"type":"string","description":"логин для проверки","example":"meteor"}},"required":["login"]},"required":true},"responseSummary":"Возвращает объект { exist: true } (в случае существования пользователя) или { exist: false } (в случае отсутствия)","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_checkloginexistence post /users/check-login-existence users проверка логина пользователя на существование "},{"opId":"AdminUsersController_findAll","method":"get","path":"/users","fullPath":"/api/admin/users","tag":"Users","summary":"Получение всех объектов пользователей","risk":"read","alwaysConfirm":false,"params":[{"name":"isNormalized","location":"query","required":false,"description":"флаг для нормализации значений атрибутов (по умолчанию выключен)","schema":{"type":"boolean"},"example":false},{"name":"isArchived","location":"query","required":false,"description":"флаг для поиска удаленных пользователей (по умолчанию выключен)","schema":{"type":"boolean"},"example":false},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_findall get /users users получение всех объектов пользователей "},{"opId":"AdminUsersController_findAllByConditions","method":"post","path":"/users/all","fullPath":"/api/admin/users/all","tag":"Users","summary":"Получение всех объектов пользователей с фильтрацией по атрибутам","risk":"write","alwaysConfirm":false,"params":[{"name":"isArchived","location":"query","required":false,"description":"флаг для поиска удаленных пользователей (по умолчанию выключен)","schema":{"type":"boolean"},"example":false},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"body":{"contentType":"application/json","schema":{"type":"array","items":{"type":"object","properties":{"attributeMarker":{"type":"string","description":"текстовый идентификатор атрибута","example":"login"},"conditionMarker":{"type":"string","description":"текстовый идентификатор условия, возможные значения: 'in' - содержит, 'nin' - не содержит, 'eq' - равно, 'neq' - не равно, 'mth' - больше чем, 'lth' - меньше чем, 'exs' - существует, 'nexs' - не существует, 'pat' - паттерн, например **-**, …","example":"in","enum":["in","nin","eq","neq","mth","lth","exs","nexs","pat","same","same_part"]},"conditionValue":{"type":"object","description":"значение условия","example":1},"isLogin":{"type":"boolean","description":"флаг для поиска по атрибуту логина (isLogin). Если true — поиск идёт по u.identifier","example":true},"ids":{"type":"array","description":"массив числовых ID пользователей для фильтрации","example":[1,2,3],"items":{"type":"number"}},"groupIds":{"type":"array","description":"массив ID групп пользователей для фильтрации (возвращает пользователей, входящих в указанные группы)","example":[1,2],"items":{"type":"number"}}}}},"required":true},"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_findallbyconditions post /users/all users получение всех объектов пользователей с фильтрацией по атрибутам "},{"opId":"AdminUsersController_findAllByIdentifier","method":"get","path":"/users/quick/search","fullPath":"/api/admin/users/quick/search","tag":"Users","summary":"Быстрый поиск пользователей по логину (идентификатору)","risk":"read","alwaysConfirm":false,"params":[{"name":"name","location":"query","required":true,"description":"строка для поиска по логину пользователя","schema":{"type":"string"},"example":"user"}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_findallbyidentifier get /users/quick/search users быстрый поиск пользователей по логину (идентификатору) "},{"opId":"AdminUsersController_findOne","method":"get","path":"/users/{id}","fullPath":"/api/admin/users/{id}","tag":"Users","summary":"Получение одного объекта пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"id","location":"path","required":true,"description":"идентификатор объекта пользователя","schema":{},"example":1}],"responseSummary":"Возвращает один объект пользователя AdminUserDto","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_findone get /users/{id} users получение одного объекта пользователя "},{"opId":"AdminUsersController_queryActions","method":"get","path":"/users/actions","fullPath":"/api/admin/users/actions","tag":"Users","summary":"Получение записей о действиях пользователя","risk":"read","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"пагинация","schema":{"type":"number"}},{"name":"limit","location":"query","required":false,"description":"пагинация","schema":{"type":"number"}},{"name":"userId","location":"query","required":false,"description":"фильтрация по id пользователя","schema":{"type":"number"}},{"name":"from","location":"query","required":false,"schema":{"type":"string","format":"date-time","x-source-type":"iso-date","x-loose":true}},{"name":"to","location":"query","required":false,"schema":{"type":"string","format":"date-time","x-source-type":"iso-date","x-loose":true}},{"name":"ip","location":"query","required":false,"description":"фильтрация по ip","schema":{"type":"string"}}],"docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_queryactions get /users/actions users получение записей о действиях пользователя "},{"opId":"AdminUsersController_remove","method":"delete","path":"/users/{id}","fullPath":"/api/admin/users/{id}","tag":"Users","summary":"Удаление одного объекта пользователя","permission":"users.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта пользователя","schema":{"type":"number"},"example":1}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления) (для обращения необходимо наличие разрешения \"users.delete\")","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_remove delete /users/{id} users удаление одного объекта пользователя users.delete"},{"opId":"AdminUsersController_search","method":"post","path":"/users/search","fullPath":"/api/admin/users/search","tag":"Users","summary":"Поиск всех объектов пользователей","risk":"write","alwaysConfirm":false,"params":[{"name":"isNormalized","location":"query","required":false,"description":"флаг для нормализации значений атрибутов (по умолчанию выключен)","schema":{"type":"boolean"},"example":false},{"name":"isArchived","location":"query","required":false,"description":"флаг для поиска удаленных пользователей (по умолчанию выключен)","schema":{"type":"boolean"},"example":false},{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"},{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"stateFilters":{"type":"array","description":"Фильтры для поиска по полю state","example":[{"fieldMarker":"state.cart","conditionMarker":"nempty"}],"items":{"type":"string"}},"logins":{"type":"array","description":"Список логинов (идентификаторов) пользователей для поиска","example":["user1","user2"],"items":{"type":"string"}}}},"required":true},"responseSummary":"Возвращает массив объектов AdminUserDto","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_search post /users/search users поиск всех объектов пользователей "},{"opId":"AdminUsersController_update","method":"put","path":"/users/{id}","fullPath":"/api/admin/users/{id}","tag":"Users","summary":"Обновление одного объекта пользователя","permission":"users.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта пользователя","schema":{"type":"number"},"example":1}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"langCode":{"type":"object","description":"код локали, на котором пользователь регистрируется","example":"en_US"},"authData":{"x-source-type":"FormDataType","x-loose":true,"description":"данные авторизации, взятые из формы, привязянной к провайдеру авторизации","example":[{"marker":"login","value":"test"},{"marker":"password","value":"12345"}]},"formData":{"x-source-type":"FormDataLangType","x-loose":true,"description":"данные формы, привязянной к провайдеру авторизации","example":{"en_US":[{"marker":"last-login","type":"date","value":{"fullDate":"2024-05-07T21:02:00.000Z","formattedValue":"08-05-2024 00:02","formatString":"DD-MM-YYYY HH:mm"}}]}},"notificationData":{"x-source-type":"UserNotificationDataType","x-loose":true,"description":"данные для уведомления пользователя","example":{"email":"test@test.ru","phonePush":[],"phoneSMS":"+79991234567"}},"isActive":{"type":"boolean","description":"Признак доступности","example":false},"isArchived":{"type":"boolean","description":"Признак архивирования пользователя (пометка для удаления)","example":false},"authProviderId":{"type":"number","description":"идентификатор провайдера авторизации","example":12},"groupIds":{"type":"array","description":"идентификаторы групп пользователей","example":[1,2],"items":{"type":"string"}}},"required":["authProviderId"]},"required":true},"responseSummary":"Возвращает значение true (в случае успешного обновления) или false (в случае неуспешного обновления) (для обращения необходимо наличие разрешения \"users.update\")","docLinks":["mcp/operating-rules"],"searchText":"adminuserscontroller_update put /users/{id} users обновление одного объекта пользователя users.update"},{"opId":"AuthController_changePassword","method":"post","path":"/auth/change-password","fullPath":"/api/admin/auth/change-password","tag":"Auth","summary":"","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"code":{"type":"number"},"password":{"type":"string"},"email":{"type":"string"}},"required":["code","password","email"]},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"authcontroller_changepassword post /auth/change-password auth "},{"opId":"AuthController_login","method":"post","path":"/auth/login","fullPath":"/api/admin/auth/login","tag":"Auth","summary":"","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"login":{"type":"string"},"password":{"type":"string"}},"required":["login","password"]},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"authcontroller_login post /auth/login auth "},{"opId":"AuthController_logout","method":"post","path":"/auth/logout","fullPath":"/api/admin/auth/logout","tag":"Auth","summary":"","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"refreshToken":{"type":"string"}},"required":["refreshToken"]},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"authcontroller_logout post /auth/logout auth "},{"opId":"AuthController_logoutAllUsers","method":"post","path":"/auth/logout/all-users","fullPath":"/api/admin/auth/logout/all-users","tag":"Auth","summary":"","risk":"write","alwaysConfirm":true,"params":[],"docLinks":["mcp/operating-rules"],"searchText":"authcontroller_logoutallusers post /auth/logout/all-users auth "},{"opId":"AuthController_refresh","method":"post","path":"/auth/refresh","fullPath":"/api/admin/auth/refresh","tag":"Auth","summary":"","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"refreshToken":{"type":"string"}},"required":["refreshToken"]},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"authcontroller_refresh post /auth/refresh auth "},{"opId":"AuthController_restorePassword","method":"post","path":"/auth/send-code","fullPath":"/api/admin/auth/send-code","tag":"Auth","summary":"","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"authcontroller_restorepassword post /auth/send-code auth "},{"opId":"AuthController_verifyCode","method":"post","path":"/auth/verify-code","fullPath":"/api/admin/auth/verify-code","tag":"Auth","summary":"","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"code":{"type":"number"},"email":{"type":"string"}},"required":["code","email"]},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"authcontroller_verifycode post /auth/verify-code auth "},{"opId":"FilesEditorController_pass","method":"post","path":"/files/editor","fullPath":"/api/admin/files/editor","tag":"Files Editor","summary":"Обеспечивает работу с файлами редактора","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"path":{"type":"string","description":"параметр path","example":"/"},"action":{"type":"string","description":"запрашиваемое действие","example":"permissions","enum":["permissions","files","imageResize","fileRemove","folders","folderCreate","folderRemove","folderRename","fileRename"]},"name":{"type":"string","description":"параметр name","example":"name"},"width":{"type":"string","description":"параметр width","example":0},"height":{"type":"string","description":"параметр height","example":0}},"required":["action","name"]},"required":true},"responseSummary":"В зависимости от выполняемого запроса возвращает JSON структуру с необходимыми данными","docLinks":["mcp/operating-rules"],"searchText":"fileseditorcontroller_pass post /files/editor files editor обеспечивает работу с файлами редактора "},{"opId":"GeneralTypeController_findAll","method":"get","path":"/general-types","fullPath":"/api/admin/general-types","tag":"General Types","summary":"Получение всех типов","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает все объекты типов GeneralTypeEntity","docLinks":["mcp/operating-rules"],"searchText":"generaltypecontroller_findall get /general-types general types получение всех типов "},{"opId":"IndexAttributeController_cleanFailedJobs","method":"post","path":"/index-attributes/failed-jobs/clean","fullPath":"/api/admin/index-attributes/failed-jobs/clean","tag":"Index Attributes","summary":"Очистить накопленные упавшие джобы index-data","risk":"write","alwaysConfirm":false,"params":[],"responseSummary":"Объект { cleaned: number } — сколько джоб удалили","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_cleanfailedjobs post /index-attributes/failed-jobs/clean index attributes очистить накопленные упавшие джобы index-data "},{"opId":"IndexAttributeController_getAllAttributes","method":"get","path":"/index-attributes","fullPath":"/api/admin/index-attributes","tag":"Index Attributes","summary":"Поиск всех проиндексированных атрибутов, которые содержат данные","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"query","required":true,"description":"тип данных для запрашиваемых аттрибутов","schema":{"type":"string","enum":["products","pages","admins","users","user_groups","blocks","orders","templates","discounts","slides"]},"example":"forms"}],"responseSummary":"Возвращает массив объектов IndexAttributeOutPutDto","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getallattributes get /index-attributes index attributes поиск всех проиндексированных атрибутов, которые содержат данные "},{"opId":"IndexAttributeController_getDelayedJobs","method":"get","path":"/index-attributes/delayed-jobs","fullPath":"/api/admin/index-attributes/delayed-jobs","tag":"Index Attributes","summary":"Список отложенных джоб index-data","risk":"read","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"Сколько джоб вернуть (1..50, по умолчанию 20)","schema":{"type":"string"},"example":20}],"responseSummary":"Массив DelayedJobSummary","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getdelayedjobs get /index-attributes/delayed-jobs index attributes список отложенных джоб index-data "},{"opId":"IndexAttributeController_getEntityScope","method":"get","path":"/index-attributes/entity-scope","fullPath":"/api/admin/index-attributes/entity-scope","tag":"Index Attributes","summary":"Scope хранения атрибутов одной сущности (index/view/elastic)","risk":"read","alwaysConfirm":false,"params":[{"name":"table","location":"query","required":true,"schema":{"type":"string"},"example":"products"},{"name":"id","location":"query","required":true,"schema":{"type":"string"},"example":42},{"name":"langCode","location":"query","required":false,"schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Объект { table, id, langCode, index: [...], view: {...}|null, elastic: {...}|null, lastIndexedAt: { index, view, elastic } (каждое — string|null) }","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getentityscope get /index-attributes/entity-scope index attributes scope хранения атрибутов одной сущности (index/view/elastic) "},{"opId":"IndexAttributeController_getFailedJobs","method":"get","path":"/index-attributes/failed-jobs","fullPath":"/api/admin/index-attributes/failed-jobs","tag":"Index Attributes","summary":"Список последних упавших джоб index-data","risk":"read","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"Сколько джоб вернуть (1..50, по умолчанию 20)","schema":{"type":"string"},"example":20}],"responseSummary":"Массив FailedJobSummary","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getfailedjobs get /index-attributes/failed-jobs index attributes список последних упавших джоб index-data "},{"opId":"IndexAttributeController_getHealth","method":"get","path":"/index-attributes/health","fullPath":"/api/admin/index-attributes/health","tag":"Index Attributes","summary":"Состояние индекса по таблицам","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Объект формата { [tableName]: { attributes, attributesInIndexCount, isProblem }, indexHealth: { totalIndexedDataCount, totalAttributesCount, isHealth } }","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_gethealth get /index-attributes/health index attributes состояние индекса по таблицам "},{"opId":"IndexAttributeController_getQueueStats","method":"get","path":"/index-attributes/queue-stats","fullPath":"/api/admin/index-attributes/queue-stats","tag":"Index Attributes","summary":"Счётчики Bull-очереди index-data","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Объект { waiting, active, completed, failed, delayed }","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getqueuestats get /index-attributes/queue-stats index attributes счётчики bull-очереди index-data "},{"opId":"IndexAttributeController_getSkipped","method":"get","path":"/index-attributes/skipped","fullPath":"/api/admin/index-attributes/skipped","tag":"Index Attributes","summary":"Список id пропущенных сущностей для таблицы","risk":"read","alwaysConfirm":false,"params":[{"name":"table","location":"query","required":true,"description":"Имя таблицы, по которой ищем пропущенные сущности","schema":{"type":"string","enum":["products","pages","admins","users","user_groups","blocks","orders","templates","discounts","slides"]}},{"name":"limit","location":"query","required":false,"description":"Сколько id вернуть (1..100, по умолчанию 20)","schema":{"type":"string"},"example":20}],"responseSummary":"Объект формата { table, ids: number[], total } — до `limit` id и общее число","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getskipped get /index-attributes/skipped index attributes список id пропущенных сущностей для таблицы "},{"opId":"IndexAttributeController_getTypes","method":"get","path":"/index-attributes/types","fullPath":"/api/admin/index-attributes/types","tag":"Index Attributes","summary":"Поиск типов проиндексированных атрибутов","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив объектов IndexAttributeTypeEntity","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_gettypes get /index-attributes/types index attributes поиск типов проиндексированных атрибутов "},{"opId":"IndexAttributeController_getUnindexed","method":"get","path":"/index-attributes/unindexed","fullPath":"/api/admin/index-attributes/unindexed","tag":"Index Attributes","summary":"Список id неиндексированных сущностей для таблицы","risk":"read","alwaysConfirm":false,"params":[{"name":"table","location":"query","required":true,"description":"Имя таблицы, по которой ищем неиндексированные сущности","schema":{"type":"string","enum":["products","pages","admins","users","user_groups","blocks","orders","templates","discounts","slides"]}},{"name":"limit","location":"query","required":false,"description":"Сколько id вернуть (1..100, по умолчанию 20)","schema":{"type":"string"},"example":20}],"responseSummary":"Объект формата { table, ids: number[], total } — до `limit` id и общее число","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getunindexed get /index-attributes/unindexed index attributes список id неиндексированных сущностей для таблицы "},{"opId":"IndexAttributeController_getUniqueValues","method":"get","path":"/index-attributes/unique-values","fullPath":"/api/admin/index-attributes/unique-values","tag":"Index Attributes","summary":"Уникальные значения атрибута из index_attribute_data (для UI фильтра)","risk":"read","alwaysConfirm":false,"params":[{"name":"tableName","location":"query","required":true,"description":"Имя таблицы-источника индекса. Whitelist из enum IndexTableType.","schema":{"type":"string","enum":["products","pages","admins","users","user_groups","blocks","orders","templates","discounts","slides"]},"example":"products"},{"name":"attributeSetId","location":"query","required":true,"description":"Идентификатор набора атрибутов (attributes_sets.id). Положительное целое.","schema":{"type":"number"},"example":10},{"name":"attributeIdentifier","location":"query","required":true,"description":"Текстовый идентификатор атрибута внутри набора (schema-ключ). Только латиница/цифры/_.","schema":{"type":"string"},"example":"price"},{"name":"langCode","location":"query","required":true,"description":"Код языка значений (например, en_US, ru_RU).","schema":{"type":"string"},"example":"en_US"},{"name":"search","location":"query","required":false,"description":"Подстрока для поиска по search_value (ILIKE). Опциональный фильтр.","schema":{"type":"string"},"example":"red"},{"name":"limit","location":"query","required":false,"description":"Лимит уникальных значений в ответе. По умолчанию 500, максимум 1000.","schema":{"type":"number"},"example":500}],"responseSummary":"Объект items/total/truncated","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_getuniquevalues get /index-attributes/unique-values index attributes уникальные значения атрибута из index_attribute_data (для ui фильтра) "},{"opId":"IndexAttributeController_reindexAll","method":"post","path":"/index-attributes/reindex-all","fullPath":"/api/admin/index-attributes/reindex-all","tag":"Index Attributes","summary":"Реиндекс: полный или одной таблицы","risk":"write","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает идентификатор поставленной в очередь джобы","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_reindexall post /index-attributes/reindex-all index attributes реиндекс: полный или одной таблицы "},{"opId":"IndexAttributeController_stopIndex","method":"post","path":"/index-attributes/stop","fullPath":"/api/admin/index-attributes/stop","tag":"Index Attributes","summary":"Останавливает индексирование","risk":"write","alwaysConfirm":false,"params":[],"responseSummary":"Событие на остановку разослано","docLinks":["back/docs/attribute-indexing","mcp/operating-rules"],"searchText":"indexattributecontroller_stopindex post /index-attributes/stop index attributes останавливает индексирование "},{"opId":"JournalController_clear","method":"delete","path":"/journal","fullPath":"/api/admin/journal","tag":"Journal","summary":"","risk":"destructive","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"for pagination purposes","schema":{"type":"number"}},{"name":"limit","location":"query","required":false,"description":"for pagination purposes","schema":{"type":"number"}},{"name":"from","location":"query","required":false,"description":"to filter by time interval (both interval points are nullable)","schema":{"type":"string","format":"date-time","x-source-type":"iso-date","x-loose":true}},{"name":"to","location":"query","required":false,"description":"to filter by time interval (both interval points are nullable)","schema":{"type":"string","format":"date-time","x-source-type":"iso-date","x-loose":true}},{"name":"moduleName","location":"query","required":false,"description":"CMS module name in uppercase. Single value (e.g. \"PAGE\") or comma-separated list (e.g. \"USER_PERMISSION,USER_GROUP\")","schema":{"type":"array","items":{"type":"string"}},"example":"USER_PERMISSION,USER_GROUP"},{"name":"moduleEntryId","location":"query","required":false,"description":"CMS module entry id. For e.g, the page id, the product id, the block id, etc.\n It allows to fetch journal records for only one module entry","schema":{"type":"number"},"example":1},{"name":"action","location":"query","required":false,"description":"Now are mapped from http methods (e.g. \"POST\" >> \"CREATE\", \"PUT\" >> \"UPDATE\", \"DELETE\" > \"DELETE\")","schema":{"type":"string","enum":["CREATE","UPDATE","DELETE"]},"example":"CREATE"},{"name":"result","location":"query","required":false,"description":"Mapped from http response codes (2..., 3...) >> \"SUCCESS\", other codes >> \"FAILURE\"","schema":{"type":"string","enum":["SUCCESS","FAILURE"]},"example":"SUCCESS"},{"name":"adminId","location":"query","required":false,"description":"Id of admin who made the action.","schema":{"type":"number"},"example":1},{"name":"sortByCondition","location":"query","required":false,"description":"Sort by condition","schema":{"type":"string","enum":["action","result","login","moduleName","moduleEntryId","createdAt"]}},{"name":"sortByDirection","location":"query","required":false,"description":"Sort by direction","schema":{"type":"string","enum":["ASC","DESC"]}}],"docLinks":["mcp/operating-rules"],"searchText":"journalcontroller_clear delete /journal journal "},{"opId":"JournalController_list","method":"get","path":"/journal","fullPath":"/api/admin/journal","tag":"Journal","summary":"","risk":"read","alwaysConfirm":false,"params":[{"name":"offset","location":"query","required":false,"description":"for pagination purposes","schema":{"type":"number"}},{"name":"limit","location":"query","required":false,"description":"for pagination purposes","schema":{"type":"number"}},{"name":"from","location":"query","required":false,"description":"to filter by time interval (both interval points are nullable)","schema":{"type":"string","format":"date-time","x-source-type":"iso-date","x-loose":true}},{"name":"to","location":"query","required":false,"description":"to filter by time interval (both interval points are nullable)","schema":{"type":"string","format":"date-time","x-source-type":"iso-date","x-loose":true}},{"name":"moduleName","location":"query","required":false,"description":"CMS module name in uppercase. Single value (e.g. \"PAGE\") or comma-separated list (e.g. \"USER_PERMISSION,USER_GROUP\")","schema":{"type":"array","items":{"type":"string"}},"example":"USER_PERMISSION,USER_GROUP"},{"name":"moduleEntryId","location":"query","required":false,"description":"CMS module entry id. For e.g, the page id, the product id, the block id, etc.\n It allows to fetch journal records for only one module entry","schema":{"type":"number"},"example":1},{"name":"action","location":"query","required":false,"description":"Now are mapped from http methods (e.g. \"POST\" >> \"CREATE\", \"PUT\" >> \"UPDATE\", \"DELETE\" > \"DELETE\")","schema":{"type":"string","enum":["CREATE","UPDATE","DELETE"]},"example":"CREATE"},{"name":"result","location":"query","required":false,"description":"Mapped from http response codes (2..., 3...) >> \"SUCCESS\", other codes >> \"FAILURE\"","schema":{"type":"string","enum":["SUCCESS","FAILURE"]},"example":"SUCCESS"},{"name":"adminId","location":"query","required":false,"description":"Id of admin who made the action.","schema":{"type":"number"},"example":1},{"name":"sortByCondition","location":"query","required":false,"description":"Sort by condition","schema":{"type":"string","enum":["action","result","login","moduleName","moduleEntryId","createdAt"]}},{"name":"sortByDirection","location":"query","required":false,"description":"Sort by direction","schema":{"type":"string","enum":["ASC","DESC"]}}],"docLinks":["mcp/operating-rules"],"searchText":"journalcontroller_list get /journal journal "},{"opId":"PageErrorsController_create","method":"post","path":"/page-errors","fullPath":"/api/admin/page-errors","tag":"Page errors","summary":"Создание объекта ошибки для страницы","permission":"pages.errorStatus.create","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"code":{"type":"number","description":"код HTTP ошибки","example":404}}},"required":true},"responseSummary":"Возвращает созданный объект PageErrorEntity","docLinks":["mcp/operating-rules"],"searchText":"pageerrorscontroller_create post /page-errors page errors создание объекта ошибки для страницы pages.errorstatus.create"},{"opId":"PageErrorsController_findAll","method":"get","path":"/page-errors","fullPath":"/api/admin/page-errors","tag":"Page errors","summary":"Получение всех объектов ошибок","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает все созданные ошибки в виде массива объектов PageErrorEntity или пустой массив [] (в случае отсутствия данных)","docLinks":["mcp/operating-rules"],"searchText":"pageerrorscontroller_findall get /page-errors page errors получение всех объектов ошибок "},{"opId":"PageErrorsController_remove","method":"delete","path":"/page-errors/{code}","fullPath":"/api/admin/page-errors/{code}","tag":"Page errors","summary":"Удаление одного объекта ошибки","permission":"pages.errorStatus.delete","risk":"destructive","alwaysConfirm":false,"params":[{"name":"code","location":"path","required":true,"description":"значение HTTP кода","schema":{"type":"number"}}],"responseSummary":"Возвращает значение true (в случае успешного удаления) или false (в случае неуспешного удаления)","docLinks":["mcp/operating-rules"],"searchText":"pageerrorscontroller_remove delete /page-errors/{code} page errors удаление одного объекта ошибки pages.errorstatus.delete"},{"opId":"PageErrorsController_setErrorPage","method":"put","path":"/page-errors/{id}/set-error-page","fullPath":"/api/admin/page-errors/{id}/set-error-page","tag":"Page errors","summary":"Назначение страницы - обработчика для кода ошибки","permission":"pages.settings.update","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true в случае успешного обновления","docLinks":["mcp/operating-rules"],"searchText":"pageerrorscontroller_seterrorpage put /page-errors/{id}/set-error-page page errors назначение страницы - обработчика для кода ошибки pages.settings.update"},{"opId":"ProductRelationTemplateController_activateOne","method":"put","path":"/products/relations/templates/{id}/activate","fullPath":"/api/admin/products/relations/templates/{id}/activate","tag":"Products","summary":"Активирование одного объекта шаблона связей","permission":"catalog.products.updateRelationTemplate","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"schema":{"type":"number"}}],"body":{"contentType":"application/json","schema":{"type":"object","description":"(unresolved )"},"required":true},"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"catalog.products.updateRelationTemplate\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"productrelationtemplatecontroller_activateone put /products/relations/templates/{id}/activate products активирование одного объекта шаблона связей catalog.products.updaterelationtemplate"},{"opId":"ProductRelationTemplateController_create","method":"post","path":"/products/relations/templates","fullPath":"/api/admin/products/relations/templates","tag":"Products","summary":"Создание объекта шаблона связей","permission":"catalog.products.createRelationTemplate","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"id":{"type":"number","description":"идентификатор объекта","example":1764},"createdDate":{"type":"string","format":"date-time","description":"дата создания объекта"},"updatedDate":{"type":"string","format":"date-time","description":"дата изменения объекта"},"version":{"type":"number","description":"номер версии изменения объекта","example":10},"identifier":{"type":"string","description":"текстовый идентификатор для поля записи","example":"my-id"},"набор условий":{"type":"array","example":[],"items":{"type":"object","x-source-type":"Record<string, any>","x-loose":true}},"название шаблона":{"type":"string","example":"Шаблон связи 1"},"признак доступности шаблона":{"type":"boolean","example":false}},"required":["identifier","набор условий","название шаблона","признак доступности шаблона"]},"required":true},"responseSummary":"Возвращает созданный объект ProductRelationsTemplateEntity (для обращения необходимо наличие разрешения \"catalog.products.createRelationTemplate\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"productrelationtemplatecontroller_create post /products/relations/templates products создание объекта шаблона связей catalog.products.createrelationtemplate"},{"opId":"ProductRelationTemplateController_deleteOne","method":"delete","path":"/products/relations/templates/{id}","fullPath":"/api/admin/products/relations/templates/{id}","tag":"Products","summary":"Удаление одного объекта шаблона связи","permission":"catalog.products.deleteRelationTemplate","risk":"destructive","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"},"example":1234}],"responseSummary":"Возвращает true в случае успешного удаления и false - неуспешного (для обращения необходимо наличие разрешения \"catalog.products.deleteRelationTemplate\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"productrelationtemplatecontroller_deleteone delete /products/relations/templates/{id} products удаление одного объекта шаблона связи catalog.products.deleterelationtemplate"},{"opId":"ProductRelationTemplateController_getAllWithPagination","method":"get","path":"/products/relations/templates","fullPath":"/api/admin/products/relations/templates","tag":"Products","summary":"Поиск всех объектов шаблонов связей","risk":"read","alwaysConfirm":false,"params":[{"name":"limit","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 30","schema":{"type":"number"},"example":30},{"name":"offset","location":"query","required":false,"description":"параметр для пагинации, по умолчанию 0","schema":{"type":"number"},"example":0}],"responseSummary":"Возвращает объект ItemsWithTotal, где items - массив запрашиваемых объектов","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"productrelationtemplatecontroller_getallwithpagination get /products/relations/templates products поиск всех объектов шаблонов связей "},{"opId":"ProductRelationTemplateController_getOne","method":"get","path":"/products/relations/templates/{id}","fullPath":"/api/admin/products/relations/templates/{id}","tag":"Products","summary":"Поиск одного объекта шаблона связи","risk":"read","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор страницы товаров, для которой ищем связи","schema":{"type":"number"},"example":1234}],"responseSummary":"Возвращает объект ProductRelationsTemplateEntity","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"productrelationtemplatecontroller_getone get /products/relations/templates/{id} products поиск одного объекта шаблона связи "},{"opId":"ProductRelationTemplateController_updateOne","method":"put","path":"/products/relations/templates/{id}","fullPath":"/api/admin/products/relations/templates/{id}","tag":"Products","summary":"Обновление одного объекта шаблона связей","permission":"catalog.products.updateRelationTemplate","risk":"write","alwaysConfirm":false,"params":[{"name":"id","location":"path","required":true,"description":"идентификатор объекта шаблона","schema":{"type":"number"},"example":1234}],"body":{"contentType":"application/json","schema":{"type":"object","properties":{}},"required":true},"responseSummary":"Возвращает true в случае успешного обновления или false - в случае неуспешного (для обращения необходимо наличие разрешения \"catalog.products.updateRelationTemplate\")","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"productrelationtemplatecontroller_updateone put /products/relations/templates/{id} products обновление одного объекта шаблона связей catalog.products.updaterelationtemplate"},{"opId":"ProductRelationTemplateController_validateMarker","method":"get","path":"/products/relations/marker-validation/{marker}","fullPath":"/api/admin/products/relations/marker-validation/{marker}","tag":"Products","summary":"Проверка текстового идентификатора (маркера) на существование","risk":"read","alwaysConfirm":false,"params":[{"name":"marker","location":"path","required":true,"description":"текстовый идентификатор","schema":{"type":"string"}}],"responseSummary":"Возвращает объект MarkerValidDto со значением true если текстовый идентификатор (маркер) существует или false если нет","docLinks":["back/docs/postgres-db-with-attribute-index","back/docs/product-relations","back/docs/isPrice-attribute","mcp/operating-rules"],"searchText":"productrelationtemplatecontroller_validatemarker get /products/relations/marker-validation/{marker} products проверка текстового идентификатора (маркера) на существование "},{"opId":"SettingsController_getFirebase","method":"get","path":"/events/settings/firebase","fullPath":"/api/admin/events/settings/firebase","tag":"Events","summary":"","risk":"read","alwaysConfirm":false,"params":[],"docLinks":["mcp/operating-rules"],"searchText":"settingscontroller_getfirebase get /events/settings/firebase events "},{"opId":"SettingsController_linkFirebase","method":"post","path":"/events/settings/firebase","fullPath":"/api/admin/events/settings/firebase","tag":"Events","summary":"","risk":"write","alwaysConfirm":false,"params":[],"docLinks":["mcp/operating-rules"],"searchText":"settingscontroller_linkfirebase post /events/settings/firebase events "},{"opId":"SettingsController_senderEmail","method":"get","path":"/events/settings/sender-settings","fullPath":"/api/admin/events/settings/sender-settings","tag":"Events","summary":"Email отправителя","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает email отправителя","docLinks":["mcp/operating-rules"],"searchText":"settingscontroller_senderemail get /events/settings/sender-settings events email отправителя "},{"opId":"SettingsController_updateSenderEmail","method":"put","path":"/events/settings/sender-settings","fullPath":"/api/admin/events/settings/sender-settings","tag":"Events","summary":"Изменить email отправителя","permission":"events.emailSettings","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{}},"required":true},"docLinks":["mcp/operating-rules"],"searchText":"settingscontroller_updatesenderemail put /events/settings/sender-settings events изменить email отправителя events.emailsettings"},{"opId":"WorkflowsController_executeToNode","method":"post","path":"/workflows/execute-to/{nodeId}","fullPath":"/api/admin/workflows/execute-to/{nodeId}","tag":"Workflows","summary":"Выполнение цепочки нод до указанной и возврат результата","permission":"workflows.update","risk":"write","alwaysConfirm":false,"params":[{"name":"nodeId","location":"path","required":true,"description":"ID ноды, до которой нужно выполнить цепочку","schema":{"type":"string"},"example":"f1c7c4d51a2b3c"}],"responseSummary":"Возвращает output msg целевой ноды","docLinks":["mcp/operating-rules"],"searchText":"workflowscontroller_executetonode post /workflows/execute-to/{nodeid} workflows выполнение цепочки нод до указанной и возврат результата workflows.update"},{"opId":"WorkflowsController_getCmsEventsOutputExample","method":"get","path":"/workflows/nodes/cms-events/output-example","fullPath":"/api/admin/workflows/nodes/cms-events/output-example","tag":"Workflows","summary":"Output example для ноды cms-events по marker события","permission":"workflows.get","risk":"read","alwaysConfirm":false,"params":[{"name":"eventMarker","location":"query","required":true,"description":"Identifier события","schema":{"type":"string"},"example":"order_status_changed"}],"responseSummary":"Возвращает JSON-string outputExample для отображения в настройках cms-events ноды","docLinks":["mcp/operating-rules"],"searchText":"workflowscontroller_getcmseventsoutputexample get /workflows/nodes/cms-events/output-example workflows output example для ноды cms-events по marker события workflows.get"},{"opId":"WorkflowsController_getFlows","method":"get","path":"/workflows/flows","fullPath":"/api/admin/workflows/flows","tag":"Workflows","summary":"Получение активной конфигурации потока","permission":"workflows.get","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает объект GetFlowsResponseDto","docLinks":["mcp/operating-rules"],"searchText":"workflowscontroller_getflows get /workflows/flows workflows получение активной конфигурации потока workflows.get"},{"opId":"WorkflowsController_getNodeCredentials","method":"get","path":"/workflows/credentials/{type}/{id}","fullPath":"/api/admin/workflows/credentials/{type}/{id}","tag":"Workflows","summary":"Учётные данные узла","permission":"workflows.get","risk":"read","alwaysConfirm":false,"params":[{"name":"type","location":"path","required":true,"description":"Тип узла","schema":{"type":"string"},"example":"function"},{"name":"id","location":"path","required":true,"description":"Идентификатор узла","schema":{"type":"string"},"example":"f1c7c4d5.1a2b3c"}],"responseSummary":"Возвращает объект вида ключ - значение. Любые данные, которые являются текстовыми, доступны в открытом виде, но учетные данные типа \"пароль\" недоступны. Вместо этого присутствует соответствующее логическое свойство с именем has_<имя-свойства>, которое указывает, назначено ли учетным данным ненулевое","docLinks":["mcp/operating-rules"],"searchText":"workflowscontroller_getnodecredentials get /workflows/credentials/{type}/{id} workflows учётные данные узла workflows.get"},{"opId":"WorkflowsController_getNodes","method":"get","path":"/workflows/nodes","fullPath":"/api/admin/workflows/nodes","tag":"Workflows","summary":"Получение списка установленных нод","permission":"workflows.get","risk":"read","alwaysConfirm":false,"params":[],"responseSummary":"Возвращает массив объектов NodeSetDto","docLinks":["mcp/operating-rules"],"searchText":"workflowscontroller_getnodes get /workflows/nodes workflows получение списка установленных нод workflows.get"},{"opId":"WorkflowsController_getSwaggerDocs","method":"get","path":"/workflows/nodes/admin-api/swagger.json","fullPath":"/api/admin/workflows/nodes/admin-api/swagger.json","tag":"Workflows","summary":"Swagger документация для ноды admin-api","permission":"workflows.get","risk":"read","alwaysConfirm":false,"params":[{"name":"langCode","location":"query","required":true,"description":"код языка","schema":{"type":"string"},"example":"en_US"}],"responseSummary":"Возвращает объект вида ключ - значение.","docLinks":["mcp/operating-rules"],"searchText":"workflowscontroller_getswaggerdocs get /workflows/nodes/admin-api/swagger.json workflows swagger документация для ноды admin-api workflows.get"},{"opId":"WorkflowsController_saveFlows","method":"post","path":"/workflows/flows","fullPath":"/api/admin/workflows/flows","tag":"Workflows","summary":"Обновление конфигурации потока","permission":"workflows.update","risk":"write","alwaysConfirm":false,"params":[],"body":{"contentType":"application/json","schema":{"type":"object","properties":{"flows":{"type":"array","description":"Массив узлов потоков","example":[{"id":"1","type":"inject","name":"Start"},{"id":"2","type":"function","name":"Process Data"}],"items":{"type":"object","properties":{"id":{"type":"string","description":"Уникальный идентификатор узла","example":"f1c7c4d5.1a2b3c"},"type":{"type":"string","description":"Тип узла, который определяет его функциональность","example":"function"},"name":{"type":"string","description":"Имя узла, как указано пользователем (если есть)","example":"Моя функция"},"z":{"type":"string","description":"ID потока, в который входит данный узел (Flow ID)","example":"f1c7c4d5.1a2b3c"},"x":{"type":"number","description":"X-координата узла в редакторе (в пикселях)","example":100},"y":{"type":"number","description":"Y-координата узла в редакторе (в пикселях)","example":200},"g":{"type":"string","description":"Идентификатор группы","example":"f1c7c4d5.1a2b3c"},"d":{"type":"boolean","description":"Отключена или включена нода","example":false},"wires":{"type":"array","description":"Массив выходных подключений, соединяющий узел с другими узлами","example":[["f1c7c4d5.1a2b3c"],["f1c7c4d5.16b37d"]],"items":{"type":"string"}},"topic":{"type":"string","description":"Используется для категоризации или идентификации сообщения.","example":"home/temperature"},"outputs":{"type":"number","description":"Определяет количество путей, по которым сообщение может быть передано дальше.","example":2},"property":{"type":"string","description":"Свойство определяет, какое поле сообщения будет проверяться или изменяться.","example":"payload"},"propertyType":{"type":"string","description":"Свойство определяет, какой тип данных имеет указанное свойство, чтобы узел мог правильно его обрабатывать.","example":"msg"},"outputExample":{"type":"string","description":"JSON-пример выходного сообщения ноды. Используется canvas/AI-agent как контракт результата.","example":"{ \"payload\": { \"id\": 1 } }"}},"required":["id","type"]}},"credentials":{"type":"object","description":"Учётные данные узлов","example":{"396c2376.c693dc":{"user":"my-username","pass":"my-password"}}}},"required":["flows"]},"required":true},"responseSummary":"Возвращает объект SaveFlowsResponseDto","docLinks":["mcp/operating-rules"],"searchText":"workflowscontroller_saveflows post /workflows/flows workflows обновление конфигурации потока workflows.update"}]}
|