{"openapi":"3.1.0","info":{"title":"AIRUS Gateway API","version":"1.0.0","description":"OpenAI-совместимый LLM Gateway (РФ B2B). Полный машинный контекст: /llms-full.txt"},"servers":[{"url":"https://airus.world/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key (airus_sk_) или JWT"}}},"paths":{"/v1/chat/completions":{"post":{"summary":"Chat Completions (streaming через stream:true), airus_routing/airus_slo/airus_firewall receipts в ответе","tags":["core"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/embeddings":{"post":{"summary":"Embeddings (OpenAI-совместимо)","tags":["core"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/models":{"get":{"summary":"Каталог доступных моделей и алиасов","tags":["core"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/auth/register":{"post":{"summary":"Регистрация: создаёт тенант, проект, рублёвый счёт, owner","tags":["auth"],"security":[],"responses":{"200":{"description":"OK"}}}},"/auth/login":{"post":{"summary":"Вход, возвращает JWT accessToken","tags":["auth"],"security":[],"responses":{"200":{"description":"OK"}}}},"/auth/accept-invite":{"post":{"summary":"Вход по инвайт-токену организации (IAM)","tags":["auth"],"security":[],"responses":{"200":{"description":"OK"}}}},"/me":{"get":{"summary":"Профиль пользователя и тенанта","tags":["auth"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/projects":{"get":{"summary":"Проекты тенанта","tags":["auth"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/api-keys":{"get":{"summary":"API-ключи (список)","tags":["auth"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Создать ключ (keyType: standard|agent|service); полный ключ показывается один раз","tags":["auth"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/api-keys/{id}":{"delete":{"summary":"Отозвать ключ (мгновенно)","tags":["auth"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/billing/balance":{"get":{"summary":"Баланс, план, SLA-класс, commit","tags":["billing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/billing/top-up/manual":{"post":{"summary":"Ручное пополнение (dev/тест; на проде 403 без ALLOW_MANUAL_TOPUP)","tags":["billing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/billing/ledger":{"get":{"summary":"Append-only журнал операций","tags":["billing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/usage":{"get":{"summary":"События использования (metadata-only)","tags":["billing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/policies":{"get":{"summary":"Политики проектов","tags":["governance"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Создать политику (бюджеты, allow-list, лимиты, hybrid, firewall)","tags":["governance"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/policies/{id}":{"patch":{"summary":"Обновить политику","tags":["governance"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/cost/summary":{"get":{"summary":"Сводка затрат","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/cost/by-feature":{"get":{"summary":"Затраты по metadata.feature (CSV через format=csv)","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/cost/by-client":{"get":{"summary":"Затраты по metadata.client_id (перевыставление)","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/cost/anomalies":{"get":{"summary":"Аномалии затрат","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/slo/summary":{"get":{"summary":"SLO: p50/p95/p99, error rate, TTFT по маршрутам","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/observability/summary":{"get":{"summary":"Наблюдаемость и health score","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/observability/drift":{"get":{"summary":"Дрифт-правила (окно vs базлайн)","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/observability/metrics":{"get":{"summary":"Prometheus-экспорт метрик тенанта (requests/errors/latency/cost/tokens)","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/observability/cacheability":{"get":{"summary":"Cacheability report: hit-rate по фичам + рекомендации по кэшированию","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/value/summary":{"get":{"summary":"Value Dashboard: стоимость за результат по вертикалям (тендеры/звонки/документы/креативы/знания)","tags":["finops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/value/event-types":{"get":{"summary":"Типы value events и decision-метки (scale/fix/pause/kill)","tags":["valueops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/value/events":{"post":{"summary":"Записать бизнес-результат AI (ticket_deflected/document_processed/...)","tags":["valueops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/value/roi":{"get":{"summary":"ROI Receipt по use case: value/cost/net/roi% + recommendation","tags":["valueops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/value/dashboard":{"get":{"summary":"Executive Value Dashboard: портфель use case с ROI и решениями","tags":["valueops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/batches/templates":{"get":{"summary":"Каталог batch-шаблонов (use-case → jobType + SLA + модель)","tags":["batch"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/approved-ai/employee-templates":{"get":{"summary":"Employee-safe prompt templates по отделам (соблюдают политику)","tags":["approved_ai"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/roi/estimate":{"post":{"summary":"ROI-калькулятор: экономия ручной обработки vs стоимость AI","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust/overview":{"get":{"summary":"Security/SLA/Incident posture (реальные контроли + roadmap)","tags":["trust"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust/subprocessors":{"get":{"summary":"Model/Subprocessor Register: маршруты, классы данных, хранение","tags":["trust"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust/data-flow":{"get":{"summary":"Data Flow Diagram v0 (узлы/рёбра пути запроса)","tags":["trust"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust/artifacts":{"get":{"summary":"Trust Artifacts: документы центра доверия (видимость/статус)","tags":["trust"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust/questionnaire":{"get":{"summary":"AI Vendor Questionnaire с преднаполненными ответами + missing_evidence","tags":["trust"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust/vendor-pack":{"get":{"summary":"Vendor Assurance Pack: единый пакет для закупки","tags":["trust"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/partner/blueprints":{"get":{"summary":"Partner Launch Kit: готовые AI-внедрения (CRM/RAG/тендеры/документы/звонки)","tags":["partner"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/partner/tiers":{"get":{"summary":"Партнёрские уровни и модель маржи + режимы биллинга","tags":["partner"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/partner/margin":{"get":{"summary":"Partner Margin Receipt по клиентскому проекту (себестоимость → цена клиента → маржа)","tags":["partner"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/partner/report":{"get":{"summary":"White-label отчёт для клиента: usage по вертикалям + маржа партнёра","tags":["partner"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/registry-reference":{"get":{"summary":"ToolOps reference: verbs, risk levels, approval statuses, connector registry (http_webhook/simulated доступны; MCP/CRM/1С — roadmap)","tags":["toolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/register":{"post":{"summary":"Регистрация Tool Contract (tool_key, verbs, risk, destructive, requires_approval, endpoint_url)","tags":["toolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools":{"get":{"summary":"Реестр зарегистрированных инструментов тенанта","tags":["toolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/preview":{"post":{"summary":"Preview-before-execute: governance-решение + blast radius, БЕЗ исполнения","tags":["toolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/execute":{"post":{"summary":"Исполнение действия через action policy: allow→адаптер / needs_approval→pending / block","tags":["toolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/approvals":{"get":{"summary":"Очередь pending-действий, ожидающих одобрения (ИБ/админ)","tags":["toolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/calls/{id}/approve":{"post":{"summary":"Одобрить pending-действие → исполнение через адаптер","tags":["toolops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/calls/{id}/reject":{"post":{"summary":"Отклонить pending-действие","tags":["toolops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/calls/{id}/receipt":{"get":{"summary":"Tool Call Receipt: verb, решение, blast radius, latency, rollback","tags":["toolops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tools/calls":{"get":{"summary":"Action Log: журнал действий агентов (фильтр по approval status)","tags":["toolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints":{"get":{"summary":"Каталог готовых AI-workflow blueprints (фильтр ?category=)","tags":["blueprints"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/reference":{"get":{"summary":"Blueprint reference: категории, платформы, типы шагов, политики, integration registry, readiness-критерии","tags":["blueprints"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/{id}":{"get":{"summary":"Blueprint detail: манифест (шаги/модели/политики/fallback), readiness score, lint","tags":["blueprints"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/{id}/run":{"post":{"summary":"Sandbox-прогон blueprint → Blueprint Run Receipt (шаги, стоимость, fallback, business_result)","tags":["blueprints"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/{id}/deploy":{"post":{"summary":"Sandbox deploy: детерминированная валидация → Deployment Receipt (tests, readiness, missing_items, decision)","tags":["blueprints"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/deployments":{"get":{"summary":"Список deployment-квитанций тенанта","tags":["blueprints"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/deployments/{id}":{"get":{"summary":"Blueprint Deployment Receipt по id","tags":["blueprints"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/runs":{"get":{"summary":"Журнал прогонов blueprints (фильтр ?blueprint_id=)","tags":["blueprints"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/blueprints/runs/{id}":{"get":{"summary":"Blueprint Run Receipt по id","tags":["blueprints"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/reference":{"get":{"summary":"PromptOps reference: prompt states, lifecycle-переходы, gate-проверки, data classes","tags":["promptops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts":{"post":{"summary":"Создать Prompt Package (prompt_key, owner_team, use_case, context_policy)","tags":["promptops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Реестр prompt packages тенанта","tags":["promptops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/{id}":{"get":{"summary":"Prompt Package detail: версии, статус, lifecycle","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/{id}/versions":{"post":{"summary":"Новая версия промпта (template, variables, output_schema, model_variants)","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"История версий","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/{id}/diff":{"get":{"summary":"Diff двух версий (?from=&to=): added/removed строки и переменные","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/{id}/promote":{"post":{"summary":"Promote по lifecycle (draft→review→staging→production→deprecated)","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/{id}/rollback":{"post":{"summary":"Rollback current_version на предыдущую","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/{id}/test":{"post":{"summary":"Детерминированный prompt-gate → Prompt Receipt (gate_status, schema_valid, checks, cost)","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/prompts/{id}/receipts":{"get":{"summary":"Prompt receipts (история прогонов gate)","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/context-policies":{"post":{"summary":"Создать Context Policy (allow/block sources, data classes, token budget, freshness/citation/provenance)","tags":["promptops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список context policies","tags":["promptops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/context-policies/{id}/evaluate":{"post":{"summary":"Context governance dry-run: проверка context pack против политики → allow/block + violations","tags":["promptops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/reference":{"get":{"summary":"MigrationOps reference: source-провайдеры, capabilities, режимы миграции","tags":["migrationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/import-config":{"post":{"summary":"Импорт конфига (.env/OpenAI SDK/n8n): детект провайдера, base_url, модель (ключ не сохраняется)","tags":["migrationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/projects":{"post":{"summary":"Создать migration project (source_provider, base_url, use_cases, mode, rollback)","tags":["migrationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Реестр миграционных проектов","tags":["migrationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/projects/{id}":{"get":{"summary":"Migration project detail: scan, receipt, cutover checklist, rollback plan","tags":["migrationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/projects/{id}/compatibility-scan":{"post":{"summary":"Compatibility scan: детерминированная оценка гэпов по capabilities → score + known_gaps","tags":["migrationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/projects/{id}/compare":{"post":{"summary":"Compare → Migration Receipt: cost delta (реальный), quality delta (EvalOps), cutover decision","tags":["migrationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/projects/{id}/receipt":{"get":{"summary":"Migration Receipt + rollback plan (для CTO/CFO/ИБ)","tags":["migrationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/projects/{id}/cutover":{"post":{"summary":"Cutover checklist + решение (blocked при hold)","tags":["migrationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migration/projects/{id}/rollback":{"post":{"summary":"Rollback plan + возврат статуса (старый base_url/модель/ключ)","tags":["migrationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/routing/reference":{"get":{"summary":"RouteEconomics reference: complexities, objective modes, nominal scorecards","tags":["routeeconomics"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/routing/policies":{"post":{"summary":"Route Policy (objective, min quality, max cost/latency, fallback)","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список route policies","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/routing/model-scorecards":{"post":{"summary":"Model Scorecard по use case (quality/cost/latency; source EvalOps/declared)","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Scorecards (фильтр ?use_case=)","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/routing/simulate":{"post":{"summary":"Routing Simulator: classify + cheapest-passing-model dry-run (без записи)","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/routing/decide":{"post":{"summary":"Routing Decision → Routing Receipt (selected route, rejected reasons, cost saved)","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/routing/decisions/{id}/receipt":{"get":{"summary":"Routing Receipt по id","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/routing/portfolio":{"get":{"summary":"RouteEconomics portfolio: cost saved, premium avoided %, savings по use case","tags":["routeeconomics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/reference":{"get":{"summary":"AdaptiveRouting reference: modes (FIXED/BALANCED/QUALITY_FIRST/COST_CONTROLLED/ASSURED/BATCH), exploration-forbidden, hard gates, roadmap","tags":["adaptiveroutingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/simulate":{"post":{"summary":"What-if routing decision (без записи): hard gates → utility → margin firewall → exploration/hysteresis; commercial_influence:none","tags":["adaptiveroutingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/decide":{"post":{"summary":"Routing decision → sealed tamper-evident Routing Receipt (seal-once по request_id)","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/outcomes":{"post":{"summary":"Routing Outcome (accepted/cost/latency после факта) — источник live_measured портфеля","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/contracts":{"post":{"summary":"Routing Contract (append-only версии: quality_floor/allowlists/margin/exploration/mode)","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список версий контрактов (фильтр ?contract_key=)","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/kill-switch":{"post":{"summary":"Router Kill Switch: ACTIVE/EXPLORATION_OFF/PINNED/FROZEN/ROLLED_BACK","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Текущее состояние kill-switch (?scope_key=)","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/portfolio":{"get":{"summary":"live_measured портфель: acceptance_rate из routing_outcomes в окне (пусто → cannot_certify)","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/receipts/{id}":{"get":{"summary":"Routing Receipt по id (uuid-guard)","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adaptive-routing/receipts/{id}/verify":{"get":{"summary":"verify-from-sealed: пересчёт sha256 из запечатанной строки","tags":["adaptiveroutingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/reference":{"get":{"summary":"WorkloadShape reference: interaction classes, hard rules (tenant в cache, semantic fail-closed, C3 no free summary), roadmap","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/compile":{"post":{"summary":"Token Budget Compiler (покомпонентный) + context priority prune-план (MUST не выбрасывается)","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/classify":{"post":{"summary":"Async eligibility (сомнение→REALTIME) + reasoning budget + compression plan (C3/C4 без free summary)","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/cache-plan":{"post":{"summary":"Cache Identity (tenant обязателен) + Semantic Cache decision (fail-closed C3/C4/write/personalized)","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/retrieval-plan":{"post":{"summary":"Retrieval Budget Governor + Progressive (minimum sufficient evidence)","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/output-plan":{"post":{"summary":"Output Budget plan (enum/schema/stop → потолок)","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/admission":{"post":{"summary":"Admission Control: accepted/recommend_async/rejected+retry_after","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/simulate-transform":{"post":{"summary":"What-if Context Transform ПРОЕКЦИЯ (без записи)","tags":["workloadshapeops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/transform":{"post":{"summary":"Context Transform → sealed ПРОЕКЦИЯ receipt (computed/estimated, authoritative:false, seal-once)","tags":["workloadshapeops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/document-dedup":{"post":{"summary":"Content-addressable dedup eligibility-план: reuse-eligibility при совпадении checksum+parser+tenant+policy+encryption (fail-closed; server artifact-store lookup=roadmap)","tags":["workloadshapeops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/contracts":{"post":{"summary":"Workload Shape Contract (append-only версии)","tags":["workloadshapeops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список версий контрактов (?contract_key=)","tags":["workloadshapeops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/receipts/{id}":{"get":{"summary":"Context Transform Receipt по id (uuid-guard)","tags":["workloadshapeops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workloads/receipts/{id}/verify":{"get":{"summary":"verify-from-sealed: пересчёт sha256 из запечатанной проекции","tags":["workloadshapeops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/reference":{"get":{"summary":"FinOps reference: allocation confidence, cost categories, budget ladder, hard rules (provenance по метрике)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/vat":{"post":{"summary":"НДС нормализация: net/vat/gross раздельно","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/cost-category":{"post":{"summary":"Failed cost taxonomy: accepted/failed_delivery/retry/wasted (failed имеет себестоимость)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/shared-pool":{"post":{"summary":"Shared Cost Pool аллокация по утверждённому driver (без units → cannot_allocate)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/reconcile":{"post":{"summary":"Invoice Reconciliation lifecycle (estimated↔reported↔invoiced; нет инвойса → cannot_certify)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/budget-ladder":{"post":{"summary":"Budget Action Ladder (6 ступеней: alert→restrict_premium→disable_exploration→force_batch→read_only→hard_stop)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/velocity":{"post":{"summary":"Cost Velocity: burn/hour + time-to-exhaustion","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/profitability":{"post":{"summary":"Customer Profitability Map (margin-driven; нет ledger → CANNOT_CLASSIFY)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/engineering-cost-gate":{"post":{"summary":"Engineering Cost Gate: COGS before/after delta (ПРОЕКЦИЯ, authoritative:false)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/margin-leakage":{"post":{"summary":"Margin Leakage Detector (reuse marginops; ledger-backed→live_measured)","tags":["uniteconomicsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/cost-events":{"post":{"summary":"Ingest Universal Cost Event (server-side attribution + allocation confidence; append-only)","tags":["uniteconomicsops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/allocate":{"post":{"summary":"Allocation confidence (tenant server-side; client-tag → максимум ESTIMATED)","tags":["uniteconomicsops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/coverage":{"get":{"summary":"live_measured allocated coverage = DIRECT/total (пусто → cannot_certify не 98%)","tags":["uniteconomicsops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/finops-receipt":{"post":{"summary":"Sealed FinOps Receipt: провенанс по каждой метрике (allocated_coverage/invoice_variance/forecast_error/margin_leakage), seal-once по period","tags":["uniteconomicsops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/receipts/{id}":{"get":{"summary":"FinOps Receipt по id (uuid-guard)","tags":["uniteconomicsops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/unit-economics/receipts/{id}/verify":{"get":{"summary":"verify-from-sealed: пересчёт sha256","tags":["uniteconomicsops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/reference":{"get":{"summary":"Price Book reference: canonical planы + hard rules (одна правда, quote=forward, floor из записанной policy)","tags":["pricingarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/quote":{"post":{"summary":"Quote = FORWARD projection (expected/P80/P95/worst + contribution margin, authoritative:false — не измеренный счёт)","tags":["pricingarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/floor-gate":{"post":{"summary":"Price Floor Gate из ЗАПИСАННОГО плана (reuse MarginOps, не quote body); below-floor → blocking","tags":["pricingarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/discount":{"post":{"summary":"Discount governance: только platform_fee + Give-to-Get + cap по плану (pass-through usage запрещён)","tags":["pricingarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/paid-pilot":{"post":{"summary":"Paid Pilot: платный + production decision date + credit при подписании","tags":["pricingarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/partner-rebate":{"post":{"summary":"Partner rebate с СОБРАННОГО positive gross profit (debt/volume/negative блокируют)","tags":["pricingarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/plans":{"post":{"summary":"Publish canonical plan (append-only versioned price book)","tags":["pricingarchitectureops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"List canonical plans по price_book_version","tags":["pricingarchitectureops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/receipts":{"post":{"summary":"Sealed Price Book Receipt: quote→floor gate из записанного плана→seal; below-floor BLOCKED, hypothesis NOT_FOR_CONTRACT, seal-once по quote_ref","tags":["pricingarchitectureops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/receipts/{id}":{"get":{"summary":"Price Book Receipt по id (uuid-guard)","tags":["pricingarchitectureops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price-book/receipts/{id}/verify":{"get":{"summary":"verify-from-sealed: пересчёт sha256","tags":["pricingarchitectureops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/reference":{"get":{"summary":"Commercial reference: WTP-статусы, исходы (win/loss/no_decision), причины, hard rules (VALIDATED только из ledger)","tags":["commercialexperimentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/wtp/what-if":{"post":{"summary":"WTP what-if: всегда DECLARED (authoritative:false; тело НЕ поднимает до VALIDATED)","tags":["commercialexperimentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/outcome":{"post":{"summary":"Классификация исхода: win/loss/no_decision (no_decision ≠ loss)","tags":["commercialexperimentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/win-rate":{"post":{"summary":"Win-rate = won/(won+lost); no_decision вне знаменателя","tags":["commercialexperimentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/experiment":{"post":{"summary":"Заключение A/B fail-closed: малое n/вырожденная выборка → CANNOT_CONCLUDE; иначе DIRECTIONAL лидер (не significance/optimal price)","tags":["commercialexperimentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/experiment/assign":{"post":{"summary":"Назначение варианта (reuse packagingops.experimentAssignVariant)","tags":["commercialexperimentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/wtp":{"post":{"summary":"Записать WTP-гипотезу (declared, append-only)","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список WTP-гипотез tenant (по deal_ref)","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/wtp/validate":{"post":{"summary":"live_measured: VALIDATED/REFUTED/DECLARED из РЕАЛЬНО уплаченного tenant (ledger top_up), server-side","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/outcomes":{"post":{"summary":"Записать исход сделки (win/loss/no_decision, append-only)","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/outcomes/win-rate":{"get":{"summary":"live_measured win-rate из записанных исходов (no_decision вне знаменателя)","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/receipts":{"post":{"summary":"Sealed Commercial Receipt: WTP validation из ledger, seal-once по deal_ref","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/receipts/{id}":{"get":{"summary":"Commercial Receipt по id (uuid-guard)","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/commercial/receipts/{id}/verify":{"get":{"summary":"verify-from-sealed: пересчёт sha256","tags":["commercialexperimentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/reference":{"get":{"summary":"Billing Integrity reference: checks (completeness/dual-meter/replay), hard rules (два независимых следа ledger↔usage, cannot_certify)","tags":["billingintegrityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/completeness/what-if":{"post":{"summary":"Completeness what-if из counts тела (declared, НЕ live_measured); нет independent source → CANNOT_CERTIFY","tags":["billingintegrityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/dual-meter/what-if":{"post":{"summary":"Dual meter what-if: ledger ₽ vs usage ₽; нет пар → CANNOT_CERTIFY, расхождение → MISMATCH","tags":["billingintegrityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/replay/what-if":{"post":{"summary":"Financial replay what-if: реплей из ledger vs usage; нет ledger → CANNOT_CERTIFY, вне допуска → DISCREPANCY","tags":["billingintegrityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/completeness":{"get":{"summary":"live_measured completeness: join ledger↔usage по request_id в окне (orphan/double/dangling; пусто → cannot_certify)","tags":["billingintegrityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/dual-meter":{"get":{"summary":"live_measured dual meter: finalize ₽ vs usage ₽ по request_id (MATCHED/MISMATCH/cannot_certify)","tags":["billingintegrityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/replay":{"get":{"summary":"live_measured financial replay из ledger (authoritative) vs usage (RECONCILED/DISCREPANCY)","tags":["billingintegrityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/receipts":{"post":{"summary":"Sealed Integrity Receipt: composite fail-closed (доказанное нарушение > недостаточно данных > HEALTHY), seal-once по period","tags":["billingintegrityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/receipts/{id}":{"get":{"summary":"Integrity Receipt по id (uuid-guard)","tags":["billingintegrityops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-integrity/receipts/{id}/verify":{"get":{"summary":"verify-from-sealed: пересчёт sha256","tags":["billingintegrityops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/reference":{"get":{"summary":"PricingOps reference: budget scopes, on-cap actions, anomaly types, cost dimensions + unit prices","tags":["pricingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/budgets":{"post":{"summary":"Budget по scope (use_case/route/partner_client/agent_session): hard_cap, soft_alerts, on_cap_reached","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список бюджетов","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/budgets/{id}/check":{"post":{"summary":"Budget guard: current_spend vs cap → decision (allow/block/degrade/require_approval)","tags":["pricingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/forecast":{"post":{"summary":"Pre-run Cost Forecast по юнитам → optimistic/base/worst + risk flags + approval","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/cost-receipts":{"post":{"summary":"Cost Receipt: итемизированный breakdown токенов/tools/retries/fallback + markup → total","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список cost receipts (фильтр ?use_case_id=)","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/cost-receipts/{id}":{"get":{"summary":"Cost Receipt по id","tags":["pricingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/anomaly-rules":{"post":{"summary":"Cost Anomaly Rule (retry_loop/context_explosion/fallback_cost_spike/spend_over_forecast/...)","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список anomaly rules","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/anomaly-rules/{id}/evaluate":{"post":{"summary":"Оценка метрик по правилу → triggered + action (pause/approval)","tags":["pricingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/finops/dashboard":{"get":{"summary":"PricingOps dashboard: бюджеты, receipts, cost total, forecasts, активные rules","tags":["pricingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/devex/reference":{"get":{"summary":"DevExOps reference: стеки, use cases, capability note","tags":["devexops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/devex/model-capabilities":{"get":{"summary":"Model Capability Matrix: text/vision/audio/embeddings/tools/json/streaming + russian quality/latency/cost tier","tags":["devexops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/devex/model-capabilities/{id}":{"get":{"summary":"Capability по маршруту","tags":["devexops"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/devex/quickstart":{"get":{"summary":"Quickstart по стеку (?stack=python/node/curl/...): шаги + snippet + agent-readable docs","tags":["devexops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/devex/debug":{"post":{"summary":"Request Debug: нормализация метаданных запроса + error explainer (Error Doctor) + warnings","tags":["devexops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/devex/onboarding":{"post":{"summary":"Onboarding tracking: milestones (api_key/first_request/budget/fallback/quickstart) + checklist","tags":["devexops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/devex/onboarding/{id}/receipt":{"get":{"summary":"Onboarding Receipt: time_to_first_success, production checklist, next step","tags":["devexops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/providers":{"get":{"summary":"Upstream Provider Registry: Cloud.ru Evolution (RU-модели) со статусом configured/adapter_ready","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/providers/{id}":{"get":{"summary":"Провайдер + каталог моделей (GigaChat/DeepSeek/GLM/Kimi/MiniMax) с ценами ₽/1M и capability-флагами","tags":["devtools"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/providers/{id}/models":{"get":{"summary":"Каталог моделей провайдера","tags":["devtools"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integrations/connectors/catalog":{"get":{"summary":"Connector marketplace: Bitrix24/amoCRM/1С/n8n/Telegram/webhook/email/drive/csv (actions, risk, auth, status)","tags":["integrationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integrations/connectors/catalog/{id}":{"get":{"summary":"Connector detail","tags":["integrationops"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integrations/reference":{"get":{"summary":"IntegrationOps reference: risk classes, action lifecycle, approval rules","tags":["integrationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integrations/actions/preview":{"post":{"summary":"Action Preview: proposed_changes (old→new) + risk_level + approval_required (без изменения системы)","tags":["integrationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integrations/actions/execute":{"post":{"summary":"Execute по preview_id: решение (auto/after_approval/pending/blocked) → Action Receipt (simulated)","tags":["integrationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integrations/actions":{"get":{"summary":"Журнал действий (фильтр ?status=)","tags":["integrationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integrations/actions/{id}/receipt":{"get":{"summary":"Action Receipt: connector, changed_fields, decision, rollback, cost","tags":["integrationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/abuse/reference":{"get":{"summary":"AbuseOps reference: ephemeral scopes, incident types, key actions, risk signals","tags":["abuseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/abuse/ephemeral-tokens":{"post":{"summary":"Выпуск ephemeral token (TTL, scope, allowed_models, max_requests/cost) — для frontend/mobile/demo","tags":["abuseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список выпущенных ephemeral tokens","tags":["abuseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/abuse/ephemeral-tokens/validate":{"post":{"summary":"Broker-валидация ephemeral token: TTL + квота → remaining + scope (инкремент requests)","tags":["abuseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/abuse/risk-scan":{"post":{"summary":"Key Risk Score (identity-composite): age/rotation/scope/spend/ip → score + signals + recommended_action + spend_at_risk","tags":["abuseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/abuse/keys/{ref}/risk":{"get":{"summary":"Последний risk score ключа","tags":["abuseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/abuse/incidents":{"post":{"summary":"Abuse Incident: type, actions_taken, requests_blocked, cost_saved → next_action","tags":["abuseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Журнал инцидентов","tags":["abuseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/abuse/incidents/{id}/receipt":{"get":{"summary":"Abuse Incident Receipt","tags":["abuseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workspaces/reference":{"get":{"summary":"WorkspaceOps reference: отделы, adoption-события, режимы маршрутов, default policy + ссылки на существующие слои (employee-templates/apply-pack/members/budgets)","tags":["workspaceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workspaces":{"post":{"summary":"Создать Employee Workspace: отделы, approved routes (fast/balanced/document), машинная policy (data classes/actions/бюджет на пользователя)","tags":["workspaceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список workspace","tags":["workspaceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workspaces/{id}":{"get":{"summary":"Workspace detail + policy","tags":["workspaceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workspaces/{id}/departments":{"post":{"summary":"Включить department workspaces (sales/hr/legal/finance/...)","tags":["workspaceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workspaces/adoption-events":{"post":{"summary":"Adoption-событие: employee_invited/first_request/prompt_pack_used/policy_block/task_completed (+time_saved)","tags":["workspaceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/workspaces/{id}/dashboard":{"get":{"summary":"Workspace dashboard/receipt: active users, отделы, requests, policy blocks, time saved, top pack","tags":["workspaceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/certification/reference":{"get":{"summary":"CertificationOps reference: 8 badges (required gates/renewal), 9 review gates, partner tiers (из PartnerOps)","tags":["certificationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/marketplace/listings":{"get":{"summary":"Публичный marketplace: listed-листинги с certified badges (?type=app/connector/mcp_tool/blueprint)","tags":["certificationops"],"security":[],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Создать листинг (app/connector/mcp_tool/blueprint) — фундамент marketplace","tags":["certificationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/certification/verify/{id}":{"get":{"summary":"Публичная верификация badge (customer-visible receipt): gates, версия, срок действия","tags":["certificationops"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/marketplace/my-listings":{"get":{"summary":"Свои листинги (все статусы) с badges","tags":["certificationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/marketplace/listings/{id}/publish":{"post":{"summary":"Публикация листинга (гейт: требуется ≥1 certified badge)","tags":["certificationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/certification/reviews":{"post":{"summary":"Начать review на badge; mcp_safe+tool_key → реальный MCP-audit живого Tool Contract (ToolOps)","tags":["certificationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/certification/reviews/{id}/gates":{"post":{"summary":"Ревьюер сабмитит пройденные gates → детерминированное решение certified/rejected + score","tags":["certificationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/certification":{"get":{"summary":"Список сертификаций (?status=)","tags":["certificationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/certification/renewals-due":{"get":{"summary":"Сертификации к продлению (valid_until < 30 дней)","tags":["certificationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/certification/{id}/receipt":{"get":{"summary":"Certification Receipt: badge, gates passed/failed, score, версия, срок","tags":["certificationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/reference":{"get":{"summary":"RevOps reference: 10 PQL-событий, revenue stages, sales tasks, CPQ-пакеты + ссылки на смежные слои","tags":["revops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/events":{"post":{"summary":"PQL-событие по СВОЕМУ аккаунту/клиенту (first_workflow/roi_receipt/budget_cap_hit/...)","tags":["revops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/pql/{accountRef}":{"get":{"summary":"PQL Score: fit/intent/usage/trust + stage recommendation (детерминированно)","tags":["revops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"accountRef","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/signals/derive/{accountRef}":{"post":{"summary":"Derive revenue-сигналов из событий (правила: cap-hit×3/7д, ROI+procurement, второй отдел...)","tags":["revops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"accountRef","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/signals":{"get":{"summary":"Открытые сигналы с recommended_action + crm_payload (Bitrix24/amoCRM deal)","tags":["revops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/signals/{id}/resolve":{"post":{"summary":"Закрыть сигнал: won/lost/dismissed","tags":["revops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/quotes":{"post":{"summary":"CPQ package-quote: цена + себестоимость + margin_estimate + guardrail <25%","tags":["revops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список package-квот","tags":["revops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/partners/attributions":{"post":{"summary":"Partner attribution: source/activated/paid/MRR/commission → commission_due","tags":["revops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/partners/{partnerRef}/summary":{"get":{"summary":"Partner revenue summary: клиенты, MRR, commission due, expansion","tags":["revops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"partnerRef","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/revenue/pipeline":{"get":{"summary":"Pipeline dashboard: стадии аккаунтов, top signals, quotes, partner MRR, forecast","tags":["revops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/analytics/events":{"get":{"summary":"Allowlist product-событий фронта","tags":["analytics"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/analytics/beacon":{"post":{"summary":"First-party beacon: анонимное product-событие (без cookies/PII, rate-limit по IP)","tags":["analytics"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/analytics/dashboard":{"get":{"summary":"Агрегат аналитики: события, уникальные сессии, топ путей/рефереров (только platform-admin — ADMIN_EMAILS)","tags":["analytics"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/reference":{"get":{"summary":"ProcurementOps reference: типы пакетов, каталог документов (source generated/template_ref/roadmap), статусы, ЭДО-провайдеры, секции анкеты","tags":["procurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/packs":{"post":{"summary":"Собрать закупочный пакет (pilot/enterprise): договор/счёт/SLA/DPA-152ФЗ/security/RF-only/zero-log","tags":["procurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список закупочных пакетов","tags":["procurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/packs/{id}":{"get":{"summary":"Пакет: документы + статусы source","tags":["procurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/packs/{id}/status":{"post":{"summary":"Статус пакета: ready/legal_review/security_review/invoice_sent/edo_sent/signed/paid/blocked","tags":["procurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/packs/{id}/documents/{docType}":{"get":{"summary":"Текст документа: rf_only/zero_log/data_routing — генерируются правдиво; юридические — template_ref/roadmap","tags":["procurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"docType","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/packs/{id}/security-questionnaire":{"post":{"summary":"Заполнить security questionnaire (преднаполнено правдиво) → completion_score","tags":["procurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Security questionnaire пакета","tags":["procurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/packs/{id}/edo":{"post":{"summary":"EDO flow tracker (diadoc/saby/pdf_email): статусы contract/invoice/act/upd. Реальный push — roadmap","tags":["procurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/procurement/packs/{id}/receipt":{"get":{"summary":"Procurement Receipt: readiness, blocking_items, days_saved_estimate","tags":["procurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/reference":{"get":{"summary":"AuditOps reference: audit-действия (AI-native), risk levels, incident/evidence типы, hash algo + смежные слои","tags":["auditops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/events":{"post":{"summary":"Append audit-события в hash-цепочку (prev_hash→event_hash, SHA-256); privacy-safe (без тела промптов)","tags":["auditops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Лента audit-событий (фильтры action/risk_level)","tags":["auditops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/integrity":{"get":{"summary":"Integrity check: пересчёт цепочки — ловит правку/удаление/переупорядочивание + digest","tags":["auditops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/receipts/{requestId}":{"get":{"summary":"Audit Receipt по request_id: события + hash_chain_valid + export_ready","tags":["auditops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/incidents":{"post":{"summary":"Создать инцидент (тип/severity/root_cause/event_ids/affected_resources)","tags":["auditops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список инцидентов","tags":["auditops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/incidents/{id}/timeline":{"get":{"summary":"Incident timeline: события + actor_chain + resource_chain","tags":["auditops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/evidence":{"post":{"summary":"Evidence Vault: снимок с content_hash (tamper-evident), retention, access policy","tags":["auditops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список evidence","tags":["auditops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/audit/evidence/{id}/verify":{"get":{"summary":"Проверка целостности evidence (пересчёт content_hash)","tags":["auditops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/reference":{"get":{"summary":"IncidentOps reference: severities SEV1-4, типы, semantic signals (пороги), containment actions, lifecycle","tags":["incidentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/detect":{"post":{"summary":"Semantic detection: метрики (json_validity/tool_call/citation/p95/cost) → инцидент даже при HTTP 200","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents":{"post":{"summary":"Создать managed-инцидент (severity авто из metrics; affected providers/models/workspaces/requests)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список инцидентов (?status=)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}":{"get":{"summary":"Инцидент: blast radius, fallback rate, breaches","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/status":{"post":{"summary":"Статус: detected/investigating/contained/recovering/resolved","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/receipts":{"post":{"summary":"Customer Incident Receipt: impact по workspace + service_credit (расчёт по SLA)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Receipts инцидента (service credits)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/containment-policies":{"post":{"summary":"Containment policy: trigger → actions, respect_rf_only, cost-guard","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список containment-политик","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/containment-policies/{id}/evaluate":{"post":{"summary":"Policy-aware containment decision: разрешённые/заблокированные действия (RF-only + cost)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/autopilot/reference":{"get":{"summary":"Autopilot reference: command roles, mitigation modes, close-rule, tenant-scope + advisory boundary","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/impact":{"post":{"summary":"Impact node + Customer Impact Score (бизнес-ущерб, не % ошибок)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Impact Graph: blast radius (workflows tenant, critical/high, max score)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/command":{"post":{"summary":"Incident Command System: авто-назначение ролей war room по severity","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Назначенные роли war room","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/mitigation/evaluate":{"post":{"summary":"Mitigation Decision Engine: failover/queue/brownout/read-only/safe-mode/shutdown + проверка совместимости fallback (advisory)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/retry-shield/evaluate":{"post":{"summary":"Retry Storm Shield: circuit breaker + retry budget + dedup (advisory)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/financial-safety/evaluate":{"post":{"summary":"Financial Safety Mode: hold suspicious charges, critical tenant не блокируется (advisory, ledger не трогаем)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/agent-safe-mode":{"post":{"summary":"Agent Safe Mode по severity: read/draft ок, external writes на паузе, финансы denied (advisory)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/backlog-replay/plan":{"post":{"summary":"Controlled Backlog Replay: rate ≤80% capacity + fairness + dedup (advisory)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/customer-update":{"post":{"summary":"Customer-specific update: impact своего workflow + требуемое действие + billing protection","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/customer-updates":{"get":{"summary":"История customer-updates инцидента","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/recovery-receipt":{"post":{"summary":"Recovery Receipt: replayed/duplicates_prevented, sla_credit (computeServiceCredit), charges_reversed (pending)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Recovery receipt инцидента","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/corrective-actions":{"post":{"summary":"Corrective action (owner/verification_test/due)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Corrective actions + can_close/unverified","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/corrective-actions/{id}/verify":{"post":{"summary":"Верификация corrective action (нужен verification_test) → verified/failed","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/corrective-actions/{id}/status":{"post":{"summary":"Статус corrective (verified только через /verify)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/close":{"post":{"summary":"Закрыть инцидент (ПРАВИЛО: все corrective actions verified, иначе 400)","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/incidents/{id}/learning":{"get":{"summary":"Learning Graph: похожие прошлые инциденты (provider/type) + recurrence","tags":["incidentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidentops/metrics":{"get":{"summary":"MTTD/MTTM/MTTR из timestamps инцидентов","tags":["incidentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/reference":{"get":{"summary":"SupportOps reference: SLA-тиры, severities, категории, integration playbooks + ссылка на Error Doctor","tags":["supportops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/playbooks/{key}":{"get":{"summary":"Integration playbook: openai_sdk/n8n/cursor/roo_code/claude_code/langchain","tags":["supportops"],"security":[],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/errors/{requestId}":{"get":{"summary":"Error Doctor по РЕАЛЬНОМУ request_id: category/source/retryable, root cause, cost charged, fix snippets","tags":["supportops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/debug-bundles/{requestId}":{"get":{"summary":"Safe Debug Bundle: телеметрия без промптов/ключей (prompt_body_included=false, api_key_redacted)","tags":["supportops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/cases":{"post":{"summary":"One-click support case: severity/category/request_ids + auto debug bundle + SLA по тиру","tags":["supportops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список кейсов (?status=)","tags":["supportops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/cases/{id}":{"get":{"summary":"Support case","tags":["supportops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/cases/{id}/status":{"post":{"summary":"Статус кейса: open/in_progress/waiting_customer/resolved/closed","tags":["supportops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/support/fix-verifications":{"post":{"summary":"Fix Verification: сверка original vs replay request_id (client-driven replay)","tags":["supportops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/compat/reference":{"get":{"summary":"DevExperience reference: API profiles, уровни совместимости, contract capabilities, deprecations","tags":["devexp"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/compat/profiles":{"get":{"summary":"API Profiles: openai-chat-2024/openai-responses-2026/anthropic-messages-2026/airus-native-v1 (pinning, deprecation policy)","tags":["devexp"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/compat/matrix":{"get":{"summary":"Compatibility Matrix: verified/degraded/emulated/unsupported по маршрутам × профилю (?api_profile=)","tags":["devexp"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/compat/validate":{"post":{"summary":"Parameter Validator: до отправки — accepted/dropped/mapped/warnings (temperature на reasoning, max_tokens→max_completion_tokens)","tags":["devexp"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/compat/deprecations":{"get":{"summary":"Deprecation center: уведомления ≥90 дней","tags":["devexp"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/compat/contract-runs":{"post":{"summary":"Прогнать contract-оценку route×profile → capability levels + test_cases_passed/total (persisted)","tags":["devexp"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"История contract runs","tags":["devexp"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/compat/pin":{"post":{"summary":"Зафиксировать API profile (version pinning + ≥90 дней на breaking changes)","tags":["devexp"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Текущий закреплённый API profile","tags":["devexp"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/reference":{"get":{"summary":"PricingOps reference: fee-структура (без скрытых коэффициентов), commit-планы, price-lock периоды","tags":["priceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/commit-plans":{"get":{"summary":"Commit ladder: PAYG/50k/250k/1M/enterprise-reserved (скидка+price-lock+SLA+support)","tags":["priceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/quote":{"post":{"summary":"Price Quote до отправки: Price Anatomy (upstream+gateway_fee+reliability+SLA+RF-only+retry) + estimated/maximum_total","tags":["priceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/fallback-ceiling":{"post":{"summary":"Fallback Cost Ceiling: pre-execution guardrail (uplift ≤ лимита? approval? on_limit)","tags":["priceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/margin":{"post":{"summary":"Margin status workflow: gross_margin + healthy/thin/negative","tags":["priceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/locks":{"post":{"summary":"Price Lock: фиксация цены на 30/90/365 дней (+commit plan, VAT)","tags":["priceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список price-lock (active-флаг)","tags":["priceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/locks/{id}":{"get":{"summary":"Price Lock detail","tags":["priceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/price/changes":{"post":{"summary":"Price Change Receipt (versioned): old→new, change%, impact, effective_at, notice≥, recommended_action","tags":["priceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Журнал изменений цен (Price Change Ledger)","tags":["priceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/reference":{"get":{"summary":"BillingOps reference: charging policy (Zero Double-Charge), типы adjustment/dispute, VAT + ссылки на реальный ledger","tags":["billingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/charging-policy/{situation}":{"get":{"summary":"Charging decision: тарифицируется ли ситуация (validation_error/timeout/partial_streaming/duplicate_idempotent...)","tags":["billingops"],"security":[],"parameters":[{"name":"situation","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/receipts":{"post":{"summary":"Выпустить verifiable Billing Receipt: canonical usage + provider+fee+VAT − credits + sha256 hash","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список billing receipts","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/receipts/{requestId}":{"get":{"summary":"Billing Receipt по request_id (раскрытие итога до конкретного запроса)","tags":["billingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/receipts/{requestId}/verify":{"get":{"summary":"Математическая верификация receipt (пересчёт hash)","tags":["billingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/reconciliation":{"post":{"summary":"Reconciliation Run: AIRUS receipts vs provider statement → matched/unmatched/difference","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"История сверок","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/adjustments":{"post":{"summary":"Billing Adjustment: refund/credit/correction/sla_credit/promotional_credit","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Журнал adjustments","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing/disputes":{"post":{"summary":"Dispute by request_id: авто-проверки (idempotency/attempts/status) → verdict + авто-credit","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список споров","tags":["billingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/reference":{"get":{"summary":"AntiFraudOps reference: fraud signals, containment tiers, rotation reasons + ссылки на AbuseOps/Firewall/Billing","tags":["antifraudops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/honey-check":{"post":{"summary":"Проверка honey-токена: срабатывание canary = доказательство утечки","tags":["antifraudops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/validity-check/{prefix}":{"get":{"summary":"Leak validity-check (GitHub-style): honey/unknown статус ключа","tags":["antifraudops"],"security":[],"parameters":[{"name":"prefix","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/baselines":{"post":{"summary":"Behavioral baseline ключа: spend velocity, model mix, ASN/region, concurrency, active hours","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/evaluate":{"post":{"summary":"Оценка: observed vs baseline → fraud signals + behavioral risk + adaptive containment (сохраняет production)","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/signals":{"get":{"summary":"Журнал fraud signals (?key_ref=)","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/rotations":{"post":{"summary":"Safe Rotation receipt: overlap→migrate→revoke (zero downtime)","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"История ротаций ключей","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/honey-keys":{"post":{"summary":"Выпустить honey (canary) key для репо/доки/.env (drill)","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список honey keys (triggered-флаг)","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud/cases":{"post":{"summary":"Fraud Case → Zero Fraud Charge: подтверждённое мошенничество → credit (BillingOps adjustment)","tags":["antifraudops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/reference":{"get":{"summary":"EnterpriseOps reference: deal stages, buying roles, continuity matrix, capability contract","tags":["enterpriseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/roi":{"post":{"summary":"Pre-sale ROI model: conservative/expected/max сценарии + payback (без auth)","tags":["enterpriseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/capability-contract":{"post":{"summary":"Capability Contract: accuracy/availability/cost/data_residency/latency + exit assurance","tags":["enterpriseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/accounts":{"post":{"summary":"Enterprise account (segment, ARR, use case, stage)","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список аккаунтов (?stage=)","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/accounts/{id}/stage":{"post":{"summary":"Стадия сделки: discovery/security_review/pilot/procurement/production/expansion","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/accounts/{id}/committee":{"post":{"summary":"Buying Committee Map: роли → coverage score + missing critical roles","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/accounts/{id}/pilots":{"post":{"summary":"Pilot Success Contract (правило: без business owner/baseline/decision_date/budget/metrics — 400)","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Пилоты аккаунта","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/pilots/{id}/evaluate":{"post":{"summary":"Pilot Gate: observed vs targets → pass/fail + production offer","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/accounts/{id}/requirements":{"post":{"summary":"Procurement Requirement (category → requirement → evidence → owner)","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/requirements/{id}/status":{"post":{"summary":"Статус требования: open/supported/partial/gap","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/enterprise/accounts/{id}/deal-room":{"get":{"summary":"Deal Room: агрегат — committee coverage, pilot gate, requirements, deal risk, blockers, readiness, next action","tags":["enterpriseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/reference":{"get":{"summary":"CustomerSuccessOps reference: activation-уровни (technical/production/value), веса health, churn-каталог","tags":["customersuccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/playbooks":{"get":{"summary":"Success playbooks: activation_stalled/usage_drop/quality_drop/commit_underused/champion_replacement","tags":["customersuccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/activation-template":{"get":{"summary":"30-дневный шаблон production-активации (фазы + milestones)","tags":["customersuccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/success-plan":{"post":{"summary":"Customer Success Plan: business_goal/baseline/target/owner/stakeholders + seed 30-day activation","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Success plan + прогресс активации","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/stakeholders":{"post":{"summary":"Stakeholder map → coverage score + single_champion_risk","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/activation":{"get":{"summary":"Activation journey: milestones, stalled, production_activated","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/activation/{key}":{"post":{"summary":"Обновить milestone (status/owner/blocker/due_at)","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/value-events":{"post":{"summary":"Value Realization event: metric/value/financial_equivalent/evidence/customer_verified","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/value-events/{id}/verify":{"post":{"summary":"Подтверждение value event клиентом (customer_verified)","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/value-receipt":{"get":{"summary":"Value Receipt: realized/pending savings, net value, value multiple, by workflow/metric","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/health":{"post":{"summary":"Account Health Score: value/stakeholder из своих таблиц + входы → score + reasons + action","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Последний health snapshot","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/churn/evaluate":{"post":{"summary":"Churn Signal Engine (contextual): usage-decline при стабильных workflows — не сигнал; рост от retries — сигнал","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/churn":{"get":{"summary":"Churn-сигналы аккаунта (?status=open)","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/churn/{id}/resolve":{"post":{"summary":"Закрыть churn-сигнал","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/expansion":{"get":{"summary":"Expansion graph: рекомендации (?workflow=) или сохранённые возможности","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Добавить expansion opportunity (current→proposed workflow, ARR, launch days, complexity)","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/renewal":{"post":{"summary":"Renewal plan: contract_end → timeline 180/120/60/30 + status","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Renewal timeline + статус (on_track/at_risk/monitoring)","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/success/accounts/{id}/success-room":{"get":{"summary":"Success Room: агрегат — plan, activation, health, value, churn, renewal, expansion, next action","tags":["customersuccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/reference":{"get":{"summary":"AdvocacyOps reference: evidence tiers, consent modes, proof pack requirements, rules (estimated not publishable, honest case, reference quota)","tags":["advocacyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/accounts/{id}/claims":{"post":{"summary":"Evidence Claim: statement/metric/baseline/result/tier (A verified_operational/B customer_verified/C estimated) + evidence_refs","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Evidence claims аккаунта","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/claims/{id}/verify":{"post":{"summary":"Подтверждение claim (customer_approved / tier upgrade / evidence refs)","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/accounts/{id}/consent":{"post":{"summary":"Advocacy Consent: режим (public_named/public_anonymous/private_reference/evidence_only) + allowed_assets + expiry","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/consent/{id}/revoke":{"post":{"summary":"Отзыв согласия на публикацию","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/accounts/{id}/cases":{"post":{"summary":"Case Study (правила: Honest Case Standard = limitations обязательны; consent режима; claims не estimated)","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Кейсы аккаунта + freshness (current/due_for_revalidation/historical)","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/cases/{id}/refresh":{"post":{"summary":"Перепроверка кейса (Case Freshness SLA) → current","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/cases/{id}/attribution":{"post":{"summary":"Partner Attribution (правило: business_owner обязателен — запрет присвоения результата)","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/accounts/{id}/reference":{"post":{"summary":"Reference Customer Registry: supported_topics, max calls/quarter, min ARR","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/references/match":{"post":{"summary":"Reference Matching: opportunity → score (industry/use_case/topics/security/arr) + best eligible","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/references/{id}/request":{"post":{"summary":"Reference Request (enforce квоты + минимального ARR)","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/reference-requests/{id}/complete":{"post":{"summary":"Завершить reference call (списать квоту + feedback)","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/accounts/{id}/champion":{"post":{"summary":"Champion Network: уровень (contributor/advocate/strategic) по вкладу, не по похвале","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/influence":{"post":{"summary":"Advocacy Influence Event: asset → opportunity → influenced ARR","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/influence/report":{"get":{"summary":"Influence report: influenced pipeline, by event, proof-assisted win rate","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/accounts/{id}/proof-pack":{"get":{"summary":"Buyer-specific Proof Pack (?buyer_role=cto/ciso/cfo/product_owner/procurement): required vs available","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/advocacy/accounts/{id}/advocacy-room":{"get":{"summary":"Advocacy Room: агрегат — verified claims, consent modes, cases+freshness, reference, champion, next action","tags":["advocacyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/reference":{"get":{"summary":"TrustCenter reference: слои (public/customer/machine), SLO defs, availability definition, severity, postmortem поля, boundary с IncidentOps","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/status":{"get":{"summary":"Component-level status (12 компонентов) + availability_30d","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/status/compute":{"post":{"summary":"Калькулятор статуса компонента из метрик (operational/degraded/partial/major/maintenance)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/incidents":{"get":{"summary":"Публичный incident archive + overdue corrective actions (affected_tenants — счётчик)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/incidents/{id}":{"get":{"summary":"Инцидент: timeline + postmortem + corrective actions + communication SLA","tags":["trustcenterops"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/postmortem/validate":{"post":{"summary":"Валидатор postmortem по стандарту (impact/root_cause/detection/recovery/corrective/what_worked/what_failed)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/slo":{"get":{"summary":"SLO definitions + availability definition + SLA credit ladder","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/slo/evaluate":{"post":{"summary":"Verifiable SLO: availability + breach + credit% + реальный sha256 evidence_hash (методику не менять задним числом)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/routes":{"get":{"summary":"Route Trust Passports: regions/retention/training_usage/fallback/data_classes/SLA/last_verified","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/routes/{id}":{"get":{"summary":"Passport конкретного route (rf_zero_log/rf_standard/embeddings_rf/external_fallback)","tags":["trustcenterops"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/providers":{"get":{"summary":"Provider Health Matrix — ВСЕГДА анонимизировано в public (имена под NDA только через JWT)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/providers/named":{"get":{"summary":"Provider Health Matrix с именами провайдеров (JWT/NDA)","tags":["trustcenterops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/evidence":{"get":{"summary":"Security Evidence Registry + freshness; истёкшее исключено (?include_expired=true)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/subprocessors":{"get":{"summary":"Subprocessor Registry + changelog (30-day notice, geography, effective dates)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/disclosure":{"get":{"summary":"Responsible Disclosure policy: contact/PGP/scope/prohibited/safe harbor/timeline","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/security-txt":{"get":{"summary":"security.txt (RFC 9116) в text/plain","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/badge":{"get":{"summary":"Trust Badge: overall + availability_30d + last incident (открывает данные, не картинку)","tags":["trustcenterops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/customer-room":{"get":{"summary":"Customer Trust Room: платформенный статус + требования tenant + evidence expiry + SLA + инциденты именно его","tags":["trustcenterops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/trust-center/sla/compliance":{"get":{"summary":"SLA compliance tenant из OpsIncident (Ф47)","tags":["trustcenterops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/reference":{"get":{"summary":"ResilienceOps reference: tiers R0–R4, chaos scenarios, recovery groups, control-plane survival, rules","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/tiers":{"get":{"summary":"Resilience Tiers R0–R4: RTO/RPO/fallbacks/drill cadence/cost delta","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/failure-domains":{"get":{"summary":"Failure Domain Registry (provider/cloud/zone/dns/kms/db + shared_risk_group)","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/failure-domains/shared-risk":{"post":{"summary":"Common-mode detection: два маршрута независимы или делят failure domain","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/failover-matrix":{"post":{"summary":"Semantic Failover Matrix: primary vs fallback (json/tool/accuracy/latency/cost/rf-only) → pass/warning/fail","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/capacity/headroom":{"post":{"summary":"Capacity headroom при эвакуации на fallback → sufficient / load-shedding","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/degradation-profiles":{"get":{"summary":"Graceful degradation profiles (normal/degraded/emergency) + priority classes + never-shed","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/degradation/plan":{"post":{"summary":"Degradation plan по уровню нагрузки (что снижается, что не режется)","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/recovery-groups":{"get":{"summary":"Recovery Dependency Groups: порядок восстановления (core→state→runtime→stateful→ops)","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/control-plane-survival":{"get":{"summary":"Control Plane Survival: что продолжает работать при потере control plane","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/cost":{"get":{"summary":"Resilience Cost Optimizer: cost delta по tier (?tier=R2)","tags":["resilienceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/workflows/{id}/profile":{"post":{"summary":"Resilience Profile: tier/RTO/RPO/min quality/max cost/data policy","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Resilience profile workflow","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/workflows/{id}/failover-plan":{"post":{"summary":"Failover Plan (ПРАВИЛО: R2+ critical → нужен quality_receipt_id, иначе 400)","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Failover plans workflow","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/chaos/experiments":{"post":{"summary":"Chaos Experiment (scenario/scope/blast_radius/abort_conditions)","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Chaos experiments","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/chaos/experiments/{id}/result":{"post":{"summary":"Результат drill → оценка abort conditions → passed/aborted","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/chaos/experiments/{id}/receipt":{"post":{"summary":"Resilience Receipt: actual vs target RTO/RPO/quality/cost → certified/failed","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/receipts":{"get":{"summary":"Resilience receipts (drills)","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/room":{"get":{"summary":"Resilience Room: профили, планы, chaos pass rate, certified receipts, next action","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/resilience/metrics":{"get":{"summary":"tested_rto, chaos_pass_rate, certified receipts, drills","tags":["resilienceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/reference":{"get":{"summary":"SovereigntyOps reference: deployment modes, disconnected control plane, rules (три уровня независимости)","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/deployment-modes":{"get":{"summary":"Deployment Profiles: SaaS/Dedicated RF/Customer VPC/On-prem/Air-gapped","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/disconnected-control-plane":{"get":{"summary":"Что продолжает работать без внешнего интернета (external routes → unavailable, не блокируют)","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/policy/compile":{"post":{"summary":"Sovereignty Policy Compiler: rf_only/no_telemetry/offline → model routes/network/storage/logging/toolops/artifacts","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/hybrid/schedule":{"post":{"summary":"Controlled Hybrid Scheduler: data-class-aware (sensitive→local, critical→reserved, public→burst)","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/license-passport":{"post":{"summary":"License passport open-weight модели → production_approved (commercial_use + field restrictions)","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/artifact-manifest":{"post":{"summary":"Artifact manifest + sha256 hash + license check (Sovereign Artifact Vault)","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/substitution/preview":{"post":{"summary":"Derived статус замены (certified/conditional/warning/gap) без записи","tags":["sovereigntyops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/deployments/{name}":{"post":{"summary":"Deployment Profile (mode/control_plane_location/inference/external_connectivity/license_mode)","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/deployments":{"get":{"summary":"Deployment profiles tenant","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/workflows/{id}/dependencies":{"post":{"summary":"Sovereignty Dependency (component/provider_country/criticality/local_substitute/artifact/offline)","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Dependency registry workflow","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/workflows/{id}/sovereignty-score":{"get":{"summary":"Sovereignty Score (foreign critical unsubstituted штрафует; ?mode=) + sovereign_ready","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/workflows/{id}/substitutions":{"post":{"summary":"Model Substitution (DERIVED статус: certified только с quality_receipt + measured >= floor + schema/tool)","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Substitutions workflow","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/entitlements":{"post":{"summary":"Offline Entitlement (valid_until + grace period + allowed capabilities)","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/entitlements/{id}":{"get":{"summary":"Проверка entitlement (valid/grace/expired)","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/workflows/{id}/sovereignty-receipt":{"post":{"summary":"Sovereignty Receipt (drill): foreign disabled + local substitution + quality/capacity → certified/failed","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/receipts":{"get":{"summary":"Sovereignty receipts (drills)","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/room":{"get":{"summary":"Sovereignty Room: deployments, foreign critical deps, certified substitutions, receipts, next action","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sovereignty/metrics":{"get":{"summary":"foreign_dependency_count, artifact/offline coverage, certified substitutions/drills","tags":["sovereigntyops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/reference":{"get":{"summary":"LocalModelOps reference: precisions, route classes, rules (variant needs benchmark, adapter lineage, no latest)","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/catalog":{"get":{"summary":"Local Model Registry: GigaChat 3.1 Lightning/3.5 Ultra, T-lite/T-pro, YandexGPT (params/context/precisions/runtime)","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/route-classes":{"get":{"summary":"Route classes: local/fast|balanced|reasoning|tool-calling|legal|code|offline","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/quantization-gate":{"post":{"summary":"Quantization Quality Gate: business_accuracy floor + json/tool/numerical within tol → approved/rejected + memory reduction","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/hardware-fit":{"post":{"summary":"Hardware Fit Planner: weights + KV-cache → GPU count/precision/runtime/TCO","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/tco":{"post":{"summary":"API-vs-Local TCO + break-even + cost per ACCEPTED result (честно рекомендует API если self-hosting бессмыслен)","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/fine-tune-decision":{"post":{"summary":"Fine-tune Decision: prompt/structured/RAG/few-shot/reranker first; НЕ fine-tune для меняющихся данных","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/cascade":{"post":{"summary":"Dynamic Model Cascade: confidence/risk/rf_only → route class + escalation","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/optimization/preview":{"post":{"summary":"Optimization receipt preview: baseline→selected → production_approved (quality в допуске)","tags":["localmodelops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/benchmarks":{"post":{"summary":"Local benchmark run на датасете клиента (business_accuracy/json/tool/numerical)","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Benchmark runs tenant","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/variants":{"post":{"summary":"Model variant — статус DERIVED из Quality Gate (approved невозможен без прохождения benchmark)","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Model variants (quantization)","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/adapters":{"post":{"summary":"Model adapter — production требует base_model_version + dataset_version + quality_receipt (lineage) → 400","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Adapter Registry + lineage","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/adapters/{id}/status":{"post":{"summary":"Статус adapter (production enforced lineage)","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/optimization-receipts":{"post":{"summary":"Optimization Receipt (baseline→selected, memory/throughput/quality → production_approved)","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Optimization receipts","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/room":{"get":{"summary":"Local Model Factory Room: benchmarks, approved/rejected variants, adapters, optimizations, next action","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/local-models/metrics":{"get":{"summary":"variants tested/approved, production adapters","tags":["localmodelops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/reference":{"get":{"summary":"GPUFinOps reference: gpu types, allocation methods, waste types, efficiency weights, rules","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/unified-cost":{"post":{"summary":"Unified GPU cost model: base+bundle+NVLink premium (justified?)+VAT → effective GPU-hour","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/allocate":{"post":{"summary":"Распределение cost по долям (gpu-time/vram/token/request) + unallocated","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/accepted-per-gpu-hour":{"post":{"summary":"Accepted results per GPU-hour + cost per accepted result","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/efficiency-score":{"post":{"summary":"GPU Efficiency Score DERIVED (accepted+throughput=40% → загрузка при плохом качестве не даёт высокий score)","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/waste/detect":{"post":{"summary":"Waste Engine: idle/low-util/duplicated model/NVLink/warm pool/stale/underused commitment → findings + monthly waste","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/commitment/evaluate":{"post":{"summary":"Commitment decision DERIVED: reject до оптимизации (FP8) или при forecast ниже floor; discount != capacity","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/warm-pool":{"post":{"summary":"Warm Pool Optimizer: required replicas под QPS + idle cost","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/scheduler":{"post":{"summary":"Training/Inference Scheduler: priority + preemption (low-priority вытесняется при production pressure)","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/capacity-portfolio":{"post":{"summary":"Capacity Portfolio: base→owned, growth→committed, peak→on-demand, rare→API, DR→reserved","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/waste-receipt":{"post":{"summary":"GPU Waste Receipt: spend/productive/waste/reserve/savings + productive_spend_ratio","tags":["gpufinops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/assets":{"post":{"summary":"GPU Asset Ledger (provider/gpu_type/count/topology/hourly_cost/commercial_model/owner)","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"GPU assets tenant","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/assets/{id}/allocations":{"post":{"summary":"Allocation record (key/workflow/method/gpu-seconds/allocated cost)","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/allocations":{"get":{"summary":"Allocation ledger","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/chargeback":{"post":{"summary":"Department Chargeback (ПРАВИЛО: требует allocation coverage >= порога, иначе 400 showback only)","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/waste-findings":{"post":{"summary":"GPU waste finding","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Waste findings","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/commitments":{"post":{"summary":"Capacity commitment — decision DERIVED (нельзя self-assert approved)","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Commitments","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/savings-actions":{"post":{"summary":"Savings Action (action + savings + latency/quality/sla risk + approval_required)","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Savings actions","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/savings-actions/{id}/status":{"post":{"summary":"Статус savings (applied рискованного требует approved)","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/room":{"get":{"summary":"GPU FinOps Room: spend, allocation coverage, waste, commitments at risk, potential savings, next action","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/gpu-finops/metrics":{"get":{"summary":"monthly spend, productive_spend_ratio, allocation coverage, confirmed waste","tags":["gpufinops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/reference":{"get":{"summary":"MarginOps reference: FX modes, billable events, anomaly types, rules (floor from policy, block negative margin)","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/fx-apply":{"post":{"summary":"FX: USD→RUB по курсу ЦБ + буфер (для гарантированной enterprise-цены)","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/billable-matrix":{"get":{"summary":"Billable Event Matrix: кто платит (клиент/upstream) по событию (retry/cancel/filter/fallback)","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/billable/{event}":{"get":{"summary":"Billable правило события","tags":["marginops"],"security":[],"parameters":[{"name":"event","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/upstream-cost":{"post":{"summary":"Стоимость запроса по pricing version (input/output/cache/reasoning раздельно)","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/economics/preview":{"post":{"summary":"Request economics: contribution margin DERIVED (revenue − upstream − partner − platform − reserve)","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/fallback/check":{"post":{"summary":"Margin-aware fallback: cost delta в лимите И маржа >= floor (или SLA reserve) → allow/block","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/discount/check":{"post":{"summary":"Discount Guardrail: скидка ниже floor требует commit/min-spend/approval","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/price-lock/reserve":{"post":{"summary":"Price Lock Reserve: volatility+FX+provider+SLA+financing → reserve% + locked price","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/anomalies/detect":{"post":{"summary":"Margin Anomaly: negative margin / fallback spike / FX / output ratio / pricing mismatch → alerts","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/gross-margin-receipt":{"post":{"summary":"Gross Margin Receipt: revenue − fully-loaded cost → contribution margin + rate","tags":["marginops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/pricing-versions":{"post":{"summary":"Pricing Version Registry (provider/model/currency/input/output/effective_at/VAT)","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Pricing versions","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/policies/{scope}/{key}":{"post":{"summary":"Margin Policy (scope customer/route/workflow): min gross/contribution margin, incident override","tags":["marginops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"scope","in":"path","required":true,"schema":{"type":"string"}},{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/policies":{"get":{"summary":"Margin policies","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/route-check":{"post":{"summary":"Margin route check (ПРАВИЛО: floor из ЗАПИСАННОЙ policy; отрицательная маржа → block)","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/economics":{"post":{"summary":"Record request economics (contribution margin DERIVED)","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Request economics ledger","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/price-locks":{"post":{"summary":"Price Lock (valid_until/min commit/fx corridor/reserve/routes)","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Price locks","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/alerts":{"post":{"summary":"Margin alert","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Margin alerts","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/room":{"get":{"summary":"Margin Room: revenue, contribution margin, negative-margin requests, policies, next action","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/margins/metrics":{"get":{"summary":"gross margin rate, contribution margin, negative-margin requests, open alerts","tags":["marginops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/reference":{"get":{"summary":"PricingOps reference: pricing principles, packaging tiers (гипотеза), value metrics, capability packs, rules (entitlement из подписки, quote DERIVED, price-lock)","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/tiers":{"get":{"summary":"Packaging tiers (Sandbox/Business/Enterprise/On-prem) — продуктовая гипотеза упаковки (состав/fences), НЕ прайс: платформенная цена = null, из canonical price book (/v1/airus/price-book). #23 убрал дубль-число","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/tiers/{tier}":{"get":{"summary":"Tier: platform fee, included, entitlements, fences","tags":["packagingops"],"security":[],"parameters":[{"name":"tier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/tiers/{tier}/entitlements":{"get":{"summary":"Entitlements и fences тира (реестр)","tags":["packagingops"],"security":[],"parameters":[{"name":"tier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/value-metrics":{"get":{"summary":"Value Metric Registry: метрика ценности на каждый продукт (tokens/org-month/successful run/reserved throughput/...)","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/capability-packs":{"get":{"summary":"Capability Packs: Resilience/Governance/Trust/Sovereignty/FinOps + monthly fee","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/capability-packs/{pack}":{"get":{"summary":"Capability pack: includes + monthly fee","tags":["packagingops"],"security":[],"parameters":[{"name":"pack","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/quote/preview":{"post":{"summary":"Contract quote: expected + worst-case total DERIVED из компонентов (platform_fee + usage + packs)","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/calculator":{"post":{"summary":"Public Pricing Calculator: workflow → model usage → expected + worst-case","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/overage/check":{"post":{"summary":"Overage Corridor: ≤110% contract / 110–125% corridor / >125% upgrade-or-burst","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/rollover/compute":{"post":{"summary":"Rollover: carried = min(unused, annual × rollover%) — ограниченный перенос","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/commitment/forecast":{"post":{"summary":"Commitment Autopilot: P50/P80/P95 из выборки usage → рекомендованный commit + underuse risk","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/transparency-receipt":{"post":{"summary":"Pricing Transparency Receipt (contract-level, sha256): platform fee + usage + add-ons + overage + price version","tags":["packagingops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/subscription":{"post":{"summary":"Выбрать packaging tier (platform fee из реестра)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Текущая подписка тира","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/entitlements":{"get":{"summary":"Entitlements ВЫВОДЯТСЯ из записанного tier подписки (не из запроса)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/entitlements/check":{"post":{"summary":"Проверка фичи: grant DERIVED из tier подписки (enforcement_class descriptive, hot-path gating = roadmap)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/quotes":{"post":{"summary":"Записать contract quote (expected/worst-case DERIVED)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"История quotes тенанта","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/add-ons/{pack}":{"post":{"summary":"Активировать Capability Pack (fee из реестра)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"pack","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/add-ons":{"get":{"summary":"Активные add-ons + monthly total","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/commitments":{"post":{"summary":"Portable annual commit: переносимый между моделями/маршрутами/API/local, rollover + overage corridor","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список portable commitments","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/commitments/{id}/status":{"get":{"summary":"Статус commit ВЫВОДИТСЯ из записанных RequestEconomics: consumed, forecast, overage zone, rollover","tags":["packagingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/experiments":{"post":{"summary":"Price Experiment: variant A/B, primary + guardrail metric, price version","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список price experiments","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/experiments/{key}/assign":{"post":{"summary":"Детерминированное назначение варианта; цена участнику ЗАФИКСИРОВАНА (идемпотентно)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/experiments/{key}/reprice":{"post":{"summary":"Reprice — ЗАПРЕЩЁН для активного эксперимента с назначениями (price-lock, 409)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/experiments/{key}/conclude":{"post":{"summary":"Завершить эксперимент (снимает price-lock для reprice)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/receipt":{"post":{"summary":"Выдать contract-level transparency receipt (add-ons выводятся из активных, если не переданы)","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/packaging/metrics":{"get":{"summary":"tier, quotes, commitments, active add-ons, experiments, assignments","tags":["packagingops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/reference":{"get":{"summary":"QuoteToCash reference: payment models, wallet priority, tax policies, rules (invoice DERIVED, revenue из delivery, money boundary)","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/contract/compile":{"post":{"summary":"Billing Contract as Code: quote → исполняемые правила + sha256 (никаких условий только в PDF)","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/wallet/allocate":{"post":{"summary":"Multi-wallet allocation КАЛЬКУЛЯТОР: приоритет списания (credits раньше cash), без мутации баланса","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/tax/apply":{"post":{"summary":"Tax Policy Registry (versioned): НДС по дате (22% с 2026), УПД 5.03; illustrative, требует утверждения бухгалтерией","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/invoice/preview-calc":{"post":{"summary":"Invoice preview калькулятор: usage lines + adjustments + fee + НДС → total (what-if)","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/credit/decide":{"post":{"summary":"Credit & Continuity: exposure vs limit + overdue → continuity stage 0-4, production status","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/payment/match-score":{"post":{"summary":"Payment match confidence (детерминированно): amount + payer + purpose → matched/review/unmatched","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/deferred-revenue/split":{"post":{"summary":"Deferred revenue (ПБУ 9/99 illustrative): предоплата = обязательство, выручка из service_delivered","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/collections/timeline":{"post":{"summary":"Collections Autopilot timeline: T−7..T+15 (reminder → escalation → continuity restriction)","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/assurance-receipt":{"post":{"summary":"Billing Assurance Receipt (period-level, sha256): usage events, dupes, invoice total, preview accepted, payment","tags":["quotetocashops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/contracts/{key}":{"post":{"summary":"Записать billing contract (компиляция quote → контракт + hash)","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Billing contract по ключу","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/contracts":{"get":{"summary":"Список billing contracts","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/credit-profile":{"post":{"summary":"Credit profile: credit limit, soft limit, grace period, risk tier","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/credit/status":{"get":{"summary":"ПРАВИЛО: exposure и continuity stage ВЫВОДЯТСЯ из неоплаченных previews + overdue","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/balance-buckets":{"post":{"summary":"Credit-грант (promo/partner/SLA/commit) — НЕ денежный баланс (cash = LedgerService)","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список credit-грантов","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/invoices/preview":{"post":{"summary":"ПРАВИЛО: invoice preview ВЫВОДИТСЯ из записанных UsageEvent + billingops adjustments + контракт + НДС (authoritative=false)","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/invoices/previews":{"get":{"summary":"История invoice previews","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/invoices/{id}/accept":{"post":{"summary":"Принять invoice preview (до dispute deadline)","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/payments":{"post":{"summary":"Записать банковский платёж + авто-match к preview (confidence DERIVED)","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список payment matches","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/revenue/recognize":{"post":{"summary":"Deferred revenue entry: service_delivered из UsageEvent если не передан; предоплата = обязательство","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/revenue":{"get":{"summary":"Deferred revenue ledger + totals (deferred/recognized/receivable)","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/assurance/{period}":{"get":{"summary":"Period-level Billing Assurance Receipt ВЫВОДИТСЯ из записанных usage/adjustments/preview/payments","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"period","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quote-to-cash/metrics":{"get":{"summary":"contracts, previews, payment matches, deferred entries, exposure, continuity stage","tags":["quotetocashops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/reference":{"get":{"summary":"Fraud Control Plane reference: risk components/bands, KYB checks, promo policy, rules (score DERIVED из KeyBaseline)","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/risk/score":{"post":{"summary":"Request Risk Score калькулятор: 8 взвешенных компонентов → 0-100 → allow/monitor/throttle/quarantine + max exposure (what-if)","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/velocity/check":{"post":{"summary":"Adaptive Spend Velocity: minute/hour/day/expensive окна → violated + action","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/velocity/adaptive":{"post":{"summary":"Динамический лимит: baseline + release + сезонность − резерв риска","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/firewall/check":{"post":{"summary":"Economic Request Firewall (Denial of Wallet): max context/output/reasoning/images/tools/retries/batch/cost","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/entity/link-score":{"post":{"summary":"Entity link confidence по общим атрибутам (device/card/payer/inn/phone весомее)","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/referral/self-check":{"post":{"summary":"Self-referral: связанные сущности → payout заблокирован","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/kyb/assess":{"post":{"summary":"KYB risk: скоринг переданных проверок → status/risk tier/action (реальный ЕГРЮЛ = roadmap)","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/credit/staged":{"post":{"summary":"Staged postpaid limit: 50k→200k→500k по закрытым периодам; high-risk KYB → prepayment only","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/secret/decision":{"post":{"summary":"Leaked secret: confidence≥0.9 → revoke_and_rotate, overlap 0s (реальное сканирование = roadmap)","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/evidence-receipt":{"post":{"summary":"Fraud Evidence Receipt (case-level, sha256): suspected exposure, prevented loss, legit preserved %","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/agent-loop/check":{"post":{"summary":"Agent Loop Circuit Breaker (#26): within-run детектор зацикленного агента (repeat-tool/no-progress/error-streak/spend-accel — которых нет в per-request firewall/AgentsService step-limiter) → РЕКОМЕНДАЦИЯ CONTINUE/WARN/BREAK; hot-path enforcement через AgentsService max_chain_steps + подключение loop-сигналов = roadmap","tags":["fraudcontrolops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/risk/evaluate":{"post":{"summary":"ПРАВИЛО: security-компоненты ВЫВОДЯТСЯ из ЗАПИСАННОГО KeyBaseline + фактов запроса (caller их НЕ передаёт)","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/risk/decisions":{"get":{"summary":"История risk decisions","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/velocity-policies/{key}":{"post":{"summary":"Multi-window spend velocity policy для ключа","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/velocity-policies":{"get":{"summary":"Список velocity policies","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/entity-links":{"post":{"summary":"Записать entity link (confidence ВЫВОДИТСЯ из общих атрибутов)","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Entity graph + high-relevance count","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/customer-risk/{ref}":{"post":{"summary":"Customer KYB + staged credit: max postpaid exposure ВЫВОДИТСЯ из KYB + периодов","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Customer risk profile","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/secret-findings":{"post":{"summary":"Leaked secret finding → триггер ротации (реальный отзыв — antifraudops/api-keys)","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список secret findings + confirmed count","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/fraud-control/metrics":{"get":{"summary":"risk decisions, quarantined, velocity policies, entity links, customer risk, secret findings","tags":["fraudcontrolops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/reference":{"get":{"summary":"IdentityOps reference: 7 типов principal, scope categories, rules (token exchange = policy-matching не auth в v0)","tags":["identityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/subject/match":{"post":{"summary":"Subject pattern match (сегментами, '*' wildcard) — project:42:branch:main","tags":["identityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/scope/compile":{"post":{"summary":"Scope compiler (least privilege): intent → scopes, опасные scopes только явно","tags":["identityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/federation/evaluate":{"post":{"summary":"Federation policy eval (what-if): issuer/audience/subject match; claims caller-asserted (не auth в v0)","tags":["identityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/budget/check":{"post":{"summary":"Identity-bound budget: model allowlist + per-hour + max-request (калькулятор, не баланс)","tags":["identityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/privileged/decide":{"post":{"summary":"Privileged session: требует reason + second approver + step-up MFA → TTL 5-60 мин","tags":["identityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/assurance-receipt":{"post":{"summary":"Identity Assurance Receipt (sha256): human→agent→workload→tool + delegation_valid + decision","tags":["identityops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/principals/{key}":{"post":{"summary":"Principal (human/service/workload/agent/tool/partner/break_glass); service account требует owner","tags":["identityops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Principal по ключу","tags":["identityops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/principals":{"get":{"summary":"Список principals","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/principals/{key}/disable":{"post":{"summary":"SCIM disable: гасит principal + identity_tokens (каскад в auth/api-keys = roadmap)","tags":["identityops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/federations/{key}":{"post":{"summary":"OIDC workload federation: issuer, audience, allowed subject pattern, TTL","tags":["identityops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/federations":{"get":{"summary":"Список federations","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/token/exchange":{"post":{"summary":"ПРАВИЛО: claims проверяются против ЗАПИСАННОЙ federation policy → short-lived token (v0 policy-matching, не honored на hot-path)","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/tokens":{"get":{"summary":"Список выпущенных short-lived tokens","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/delegations":{"post":{"summary":"Delegation grant subject→actor + scopes + expiry + max exposure","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список delegation grants","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/delegation/tool-token":{"post":{"summary":"ПРАВИЛО: tool token только при существующем grant subject→actor→scope → scoped short-lived token","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/orphans":{"get":{"summary":"Orphan detector: ВЫВОДИТ principals без owner / stale / review overdue","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/privileged-sessions":{"post":{"summary":"Privileged session (записывается при reason+approver+MFA)","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список privileged sessions","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/identity/metrics":{"get":{"summary":"principals, service accounts, federations, tokens, delegations, orphans","tags":["identityops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/reference":{"get":{"summary":"AuthorizationOps reference: action registry, decision order (deny-wins + fail-safe), rules (decision из stored policies, context caller-asserted)","tags":["authorizationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/evaluate":{"post":{"summary":"PDP what-if: policies + request → allow/deny/allow_with_obligations/require_approval; default-deny, explicit-deny-wins, fail-safe missing attr","tags":["authorizationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/task-envelope/check":{"post":{"summary":"Task envelope: action/resource/cost/external-write в пределах grant агента","tags":["authorizationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/approval/check":{"post":{"summary":"Approval gate: правило по action + условию (напр. deal.value > 1M → sales_manager)","tags":["authorizationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/simulate":{"post":{"summary":"Policy simulation: would_deny/approval/allow % над набором запросов (shadow before rollout)","tags":["authorizationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/receipt":{"post":{"summary":"Authorization Decision Receipt (sha256): principal/action/resource/decision/determining policy/reason","tags":["authorizationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/policies/{key}":{"post":{"summary":"Authorization policy (crown jewel, owner/admin/security): effect, actions, conditions, obligations, status draft/shadow/production","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/policies":{"get":{"summary":"Список authorization policies","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/authorize":{"post":{"summary":"ПРАВИЛО: решение ВЫЧИСЛЯЕТСЯ из ЗАПИСАННЫХ production-policies (shadow НЕ enforce); default-deny + explicit-deny-wins + fail-safe","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/decisions":{"get":{"summary":"История authorization decisions (explainable)","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/simulate-stored":{"post":{"summary":"Shadow: симуляция STORED policies (production+shadow) над запросами перед rollout","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/relationships":{"post":{"summary":"ReBAC relationship: subject relation resource (напр. partner operator project)","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список relationships","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/approval-rules/{key}":{"post":{"summary":"Approval requirement: action + condition → approver role + TTL","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/approval-rules":{"get":{"summary":"Список approval requirements","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/task-grants/{key}":{"post":{"summary":"Task grant агенту: allowed actions/resources, max cost, external writes, expiry","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/task-grants":{"get":{"summary":"Список task grants","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/task-grants/{key}/check":{"post":{"summary":"ПРАВИЛО: запрос проверяется против ЗАПИСАННОГО task grant (в пределах envelope)","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/authorization/metrics":{"get":{"summary":"policies, production/shadow, relationships, approval rules, task grants, decisions, deny rate","tags":["authorizationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/reference":{"get":{"summary":"Secure RAG reference: classifications, revocation SLA, rules (trim из stored, AND-логика, existence hiding)","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/principal-set/resolve":{"post":{"summary":"Principal set: subject+groups+task grants → effective principals + compressed set id","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/trim":{"post":{"summary":"Pre-retrieval security trimming (what-if): source_acl AND data_class AND route policy; principal view скрывает denied","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/field-mask/decision":{"post":{"summary":"Field masking: поля вне allowed classes маскируются (сумма/ПДн/реквизиты)","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/cache/permission-hash":{"post":{"summary":"ACL-bound cache: permission_hash из tenant+principal set+policy version+data classes+source versions","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/cache/validity":{"post":{"summary":"Cache validity: ACL изменился → invalidate","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/revocation/propagation":{"post":{"summary":"Revocation propagation: source_detected → enforced → SLA (standard 15м/business 5м/enterprise 60с/critical 10с)","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/lineage/build":{"post":{"summary":"Context Lineage: answer → chunks → source objects → permission decisions → masked fields","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/receipt":{"post":{"summary":"Data Access Receipt (sha256): authorized/denied sources, chunks in context, masked fields, COMPLIANT/LEAK","tags":["dataaccessops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/data-objects/{key}":{"post":{"summary":"Source ACL Mirror: data object (source system, version, classification, ПДн, deletion state)","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/data-objects":{"get":{"summary":"Список data objects + acl coverage","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/data-objects/{key}/aces":{"post":{"summary":"ACE: principal + effect allow/deny + inherited + valid_until","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"ACL объекта","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/data-objects/{key}/delete":{"post":{"summary":"Deletion propagation (v0): исключить из retrieval; удаление embeddings/cache/memory = roadmap","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/chunks/{key}":{"post":{"summary":"Secure chunk: source range, permission hash, classification, ПДн","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/chunks":{"get":{"summary":"Список secure chunks","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/principal-sets/{key}":{"post":{"summary":"Data principal set: subject+groups → effective principals + allowed classes","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/principal-sets":{"get":{"summary":"Список principal sets","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/retrieval/authorize":{"post":{"summary":"ПРАВИЛО: pre-retrieval trimming из ЗАПИСАННЫХ objects+ACE+principal-set; existence hiding (principal view скрывает denied)","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/retrieval/authorizations":{"get":{"summary":"История retrieval authorizations","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/revocations":{"post":{"summary":"Revocation event + propagation SLA","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Revocations + SLA met rate","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-access/metrics":{"get":{"summary":"data objects, acl coverage, quarantined, chunks, personal data, revocation SLA","tags":["dataaccessops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/reference":{"get":{"summary":"Lifecycle reference: purposes, artifact types, rules (fail-safe RETAIN, holds win, restore firewall, training off)","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/purpose-firewall/check":{"post":{"summary":"Purpose firewall: training/fine-tuning по умолчанию ЗАПРЕЩЁН; purpose drift → new basis","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/retention/expired":{"post":{"summary":"Retention: expired по age vs retention_days (retention<0 = хранить бессрочно)","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/erasure/plan":{"post":{"summary":"Erasure plan (what-if): allowlist подтверждённо-удаляемых; mandatory/hold/uncertain → RETAIN (fail-safe)","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/tombstone/create":{"post":{"summary":"Backup tombstone (sha256): applyAfterRestore для предотвращения data resurrection","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/restore/firewall":{"post":{"summary":"Restore firewall (what-if): blocked пока все tombstones не replayed","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/minimal-evidence":{"post":{"summary":"Minimal Evidence: payload удалён, content_hash + event + amount сохранены (восстановить нельзя)","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/provider-retention/check":{"post":{"summary":"Provider policy: sensitive route если retention<=0 ∧ no training ∧ deletion API ∧ RU","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/receipt":{"post":{"summary":"Data Lifecycle Receipt (sha256): attests ЧТО СДЕЛАЛ AIRUS (marked/tombstoned/notified), не destruction","tags":["datalifecycleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/artifacts/{key}":{"post":{"summary":"Data artifact (registry + lineage): type, source, purpose (обязателен), legal basis","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/artifacts":{"get":{"summary":"Список data artifacts","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/retention-policies/{key}":{"post":{"summary":"Retention policy: TTL по artifact type + on_expiry (purge payload keep evidence)","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/retention-policies":{"get":{"summary":"Список retention policies","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/purpose-grants/{key}":{"post":{"summary":"Purpose grant: data scope + allowed purpose + training_allowed (default false)","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/purpose-grants":{"get":{"summary":"Список purpose grants","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/purpose/authorize":{"post":{"summary":"Purpose firewall из ЗАПИСАННОГО grant: training/analytics по факту разрешения","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/legal-holds/{key}":{"post":{"summary":"Legal hold: scope + reason + approver + review date; блокирует erasure","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/legal-holds":{"get":{"summary":"Список legal holds","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/provider-retentions/{key}":{"post":{"summary":"Provider retention policy + sensitive-route allow","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/provider-retentions":{"get":{"summary":"Список provider retentions","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/erasure/execute":{"post":{"summary":"ПРАВИЛО: orchestration по ЗАПИСАННЫМ artifacts+lineage+holds; fail-safe RETAIN; holds/mandatory win","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/erasure/jobs":{"get":{"summary":"История erasure jobs","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/tombstones":{"get":{"summary":"Backup tombstones + replayed статус","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/restore/validate":{"post":{"summary":"ПРАВИЛО: restore firewall из ЗАПИСАННЫХ tombstones — blocked пока не replayed","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/restore/replay":{"post":{"summary":"Replay tombstones → restore разблокирован","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-lifecycle/metrics":{"get":{"summary":"artifacts, coverage, marked, holds, erasure jobs, tombstones, pending","tags":["datalifecycleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/reference":{"get":{"summary":"Reference: party roles, eligibility classes, risk factors, upstream SLA, rules (fail-closed, single-source retention, notification≠authorization)","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/risk-score":{"post":{"summary":"Provider Data Risk Score (what-if): 8 взвешенных факторов → low/medium/high/critical","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/cross-border/decide":{"post":{"summary":"Cross-border decision (what-if, fail-closed): страна нет в policy → deny; notification ≠ authorization","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/route/evaluate":{"post":{"summary":"Route gate (what-if, AND fail-closed): DPA ∧ party allowlist ∧ country ∧ approval ∧ retention ∧ training","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/dpa/compile":{"post":{"summary":"DPA-as-Code compiler: договорные термины → runtime policy + policy_hash (sha256)","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/policy-change/detect":{"post":{"summary":"Policy Change Monitor (what-if): material change → suspend sensitive routes + legal review","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/incident/cascade":{"post":{"summary":"Incident Cascade (what-if): upstream delay vs SLA + РКН дедлайн 24ч оператора","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/assurance-receipt":{"post":{"summary":"Provider Data Assurance Receipt (sha256): attests processing route, role_disclaimer, authoritative=false","tags":["dataprocessorops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/parties/{key}":{"post":{"summary":"Processing party (legal role graph): role declared, services, countries; retention/training НЕ здесь (single-source Ф69)","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/parties":{"get":{"summary":"Список processing parties","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/dpa-contracts/{key}":{"post":{"summary":"DPA contract: allowed processors/countries, max retention, training, policy_hash","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/dpa-contracts":{"get":{"summary":"Список DPA contracts","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/subprocessor-approvals/{key}":{"post":{"summary":"Subprocessor approval (customer allowlist): party + approved routes + valid_until","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/subprocessor-approvals":{"get":{"summary":"Список subprocessor approvals","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/route/authorize":{"post":{"summary":"ПРАВИЛО: routing-решение из ЗАПИСАННЫХ DPA+party+approval+Ф69 ProviderRetention; fail-closed; fallback per-party (не наследует approval)","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/cross-border/decisions":{"get":{"summary":"История cross-border/route решений","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/provider-policy-versions":{"post":{"summary":"Provider policy version snapshot: material change detection + routes suspended","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"История provider policy versions","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/incident-notices/{key}":{"post":{"summary":"Processor incident notice: upstream delay vs SLA + regulator deadline","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/incident-notices":{"get":{"summary":"Список processor incident notices","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-processors/metrics":{"get":{"summary":"parties, approved, active DPAs, approvals, route decisions, blocked, policy versions, material changes, incidents","tags":["dataprocessorops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/reference":{"get":{"summary":"Reference: buyer profiles, evidence states, readiness factors, clause library, rules (derived-not-gameable, export-blocked, fail-closed), no-duplication map","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/readiness-score":{"post":{"summary":"Procurement Readiness Score (what-if): 8 взвешенных измерений + fail-closed gates → not_ready/conditional/procurement_ready/production_ready","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/evidence-freshness":{"post":{"summary":"Evidence Freshness (what-if): state вычисляется из дат → verified/expiring/stale/contradicted/missing","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/questionnaire-match":{"post":{"summary":"Questionnaire Autopilot (what-if): match/dedup по нормализованному intent; export непроверенного ЗАБЛОКИРОВАН","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/clause-classify":{"post":{"summary":"Contract Clause Library (what-if): acceptable/negotiable/requires-pricing/requires-architecture/prohibited + fallback language (illustrative, юрист утверждает)","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/contract-runtime":{"post":{"summary":"Contract-to-Runtime Validator (what-if, AND fail-closed): требования договора vs product config → match/mismatch","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/promise-check":{"post":{"summary":"Customer Promise check (what-if): enforced только при owner ∧ implementation ∧ contract clause, иначе unbacked","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/red-flag":{"post":{"summary":"Red Flag Deal Desk (what-if): триггеры эскалации (unlimited liability, negative margin, SLA above capability, ...)","tags":["enterpriseprocurementops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/deals/{key}":{"post":{"summary":"Procurement Deal: buyer profile, stage, target date, owner, link на EnterpriseAccount (single-source deal/pilot)","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/deals":{"get":{"summary":"Список procurement deals + last readiness score/decision","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/canonical-answers/{key}":{"post":{"summary":"Canonical Answer Registry: intent + answer + scope + evidence link + verified/review dates","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/canonical-answers":{"get":{"summary":"Список canonical answers","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/evidence/{key}":{"post":{"summary":"Procurement Evidence: type, scope, visibility, verified/expires → freshness state вычисляется","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/evidence":{"get":{"summary":"Список evidence + freshness state (verified/expiring/stale/contradicted)","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/contract-clauses/{key}":{"post":{"summary":"Contract Clause record: decision выводится из clause library + fallback language","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/contract-clauses":{"get":{"summary":"Список contract clauses с решениями","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/promises/{key}":{"post":{"summary":"Customer Promise Registry: status выводится (enforced/unbacked) из owner+implementation+contract clause","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/promises":{"get":{"summary":"Список customer promises + статус backing","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/questionnaires/{key}":{"post":{"summary":"Questionnaire import + autopilot match из ЗАПИСАННЫХ canonical answers + evidence freshness; export непроверенного заблокирован","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/questionnaires":{"get":{"summary":"Список questionnaire-прогонов (completion, export_allowed)","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/deals/{key}/readiness":{"post":{"summary":"ПРАВИЛО: readiness ВЫЧИСЛЯЕТСЯ из записанного состояния + join enterpriseops (pilot/requirements single-source); hard-gates не gameable; DERIVED receipt (sha256)","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/buyer-desk/metrics":{"get":{"summary":"deals, production_ready, blocked, evidence stale/expiring, questionnaires, unbacked promises, prohibited clauses","tags":["enterpriseprocurementops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/reference":{"get":{"summary":"Reference: stages, owner roles, rollback components, health factors, rules (derived, fail-closed, full-rollback, value-required), no-duplication map","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/stage-gate":{"post":{"summary":"Stage gate (what-if): переход demo→…→certified, пропуск стадий запрещён, блокеры по условиям","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/acceptance/evaluate":{"post":{"summary":"Production Acceptance Contract (what-if): quality/availability/p95/cost/adoption/rollback floors, AND fail-closed","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/shadow/evaluate":{"post":{"summary":"Shadow traffic evaluation (what-if): min cases, schema match rate, quality delta, budget cap","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/capacity/preflight":{"post":{"summary":"Quota & Capacity Preflight (what-if): primary И fallback обязаны покрыть пик с headroom; неизвестная квота = не проверено","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/canary/evaluate":{"post":{"summary":"Business-aware canary (what-if): guardrails качество/стоимость/эскалации; незамеренный guardrail = abort","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/rollback/evaluate":{"post":{"summary":"Full rollback drill (what-if): snapshot из 6 компонентов (model/prompt/route/tools/budget/logging) + drill в срок","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/value/verify":{"post":{"summary":"Value verification (what-if): baseline vs production, improvement %, направление метрики","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/health-score":{"post":{"summary":"Production Health Score: 7 факторов (quality/reliability/adoption/value/cost/security/ops), не только uptime","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/traffic-ladder":{"post":{"summary":"Risk-Based Traffic Ladder (#28, reuse C0-C4): ступени % трафика по классу риска; C3/C4 — стадии без авто-split; ненадёжный rollback → advance заблокирован. Реальный traffic split hot-path = roadmap","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/side-effect/classify":{"post":{"summary":"Shadow Side-Effect Firewall (#28): КЛАССИФИКАТОР режима tool-действия (READ_ALLOWED/WRITE_SIMULATED/EXTERNAL_BLOCKED). НЕ блокирует — реальный перехват в shadow hot-path = roadmap (authoritative:false)","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/scope-firewall":{"post":{"summary":"Pilot Scope Firewall (#28): изменение scope → пересчёт cost/timeline/baseline/acceptance + ре-апрув (нет бесплатной бесконечной доработки)","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/decision-board":{"post":{"summary":"Decision Board (#28): DERIVES из записанных гейтов (не пересчитывает) → LAUNCH/EXTEND_ONCE/STOP + дата. value failed/критичный гейт/нет гипотезы → STOP","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/adoption-funnel":{"post":{"summary":"Adoption Funnel (#28): rates из declared counts (eligible→first-use→accepted→repeat→bypass→abandoned); first_value = accepted/eligible (usage ≠ adoption). Живая телеметрия из клиентских систем = roadmap","tags":["pilottoproductionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/workflows/{key}":{"post":{"summary":"Production Workflow: owners (business+technical обязательны), baseline, funding, links на EnterpriseAccount/MigrationProject","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/workflows":{"get":{"summary":"Список production workflows + stage + last decision","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/workflows/{key}/acceptance":{"post":{"summary":"Acceptance contract workflow: floors + observed → derived passed","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/shadow-runs/{key}":{"post":{"summary":"Записать shadow-прогон → derived pass/fail (schema match, quality delta, budget)","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/shadow-runs":{"get":{"summary":"Список shadow-прогонов","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/capacity-preflights/{key}":{"post":{"summary":"Записать capacity preflight → derived pass/blockers (fail-closed на неизвестных квотах)","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/canary-runs/{key}":{"post":{"summary":"Записать canary + guardrails + observed → derived proceed/abort (авто-abort по любому порогу)","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/canary-runs":{"get":{"summary":"Список canary-прогонов + abort reasons","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/rollback-drills/{key}":{"post":{"summary":"Записать rollback drill: полный snapshot (6 компонентов) + время → derived tested","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/value-verifications/{key}":{"post":{"summary":"Записать верификацию ценности: baseline vs production → improvement %, verified_by","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/workflows/{key}/stage":{"post":{"summary":"ПРАВИЛО: переход стадии server-enforced из ДЕРИВНУТОГО состояния + join pilot/compatibility (не gameable)","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/workflows/{key}/certify":{"post":{"summary":"ПРАВИЛО: certification DERIVED из записанных прогонов (shadow/canary/drill/value) + join'ов; Production Readiness Receipt (sha256)","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-launch/metrics":{"get":{"summary":"workflows by stage, certified, shadow/canary/drill/value counts + pass rates","tags":["pilottoproductionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/reference":{"get":{"summary":"Reference: acceptance signals, override reasons, value types, manager actions, repeat criterion, health weights, hard rules (login≠adoption, declared, cannot_certify на пустом eligible, fail-closed, privacy), roadmap","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/first-accepted/what-if":{"post":{"summary":"First Accepted Outcome (what-if): accepted/eligible и accepted/trained; пустой eligible → CANNOT_CERTIFY (не 0%/100%). DECLARED из записанных событий (authoritative:false); live completion CRM/1С/n8n = roadmap","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/override/what-if":{"post":{"summary":"Override taxonomy (what-if): распределение причин правок (missing_source/wrong_format/fact_error/…) + unclassified_rate — почему правят, не только сколько","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/repeat-value/what-if":{"post":{"summary":"Repeat Value (what-if): users_with_repeat/accepted_users (≥3 принятых, 3+ разных дня); пустой знаменатель → null (не 0%)","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/manual-bypass/what-if":{"post":{"summary":"Manual Bypass (what-if): bypass/(accepted+bypass) — честный контр-сигнал обхода AI, не прячется","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/policy-recovery/what-if":{"post":{"summary":"Policy Recovery (what-if): safe_alternative_completed/policy_blocks; НЕТ блоков → CANNOT_CERTIFY (не 100% recovery на нуле)","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/manager-activation/what-if":{"post":{"summary":"Manager Activation (what-if): убран legacy-шаг + принят формат + время + разбор блокеров; legacy не убран/формат не принят → MANAGEMENT_BLOCKED","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/champion-coverage/what-if":{"post":{"summary":"Champion Coverage (what-if): departments_with_active_champion/departments_active + gap","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/health/what-if":{"post":{"summary":"Adoption Health (what-if): FAIL-CLOSED — MANAGEMENT_BLOCKED / manual_bypass>15% → BLOCKED независимо от score; нет данных → CANNOT_CERTIFY; взвешенный композит","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/value-entry/what-if":{"post":{"summary":"Realized Value (what-if): категориально (TIME/QUALITY/THROUGHPUT/COST), provenance declared vs business_owner_verified; is_proven_rub:false (не доказанный ₽)","tags":["adoptionops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/champions":{"post":{"summary":"Регистрация чемпиона (append-only реестр): department, champion_ref, backup, мандат часов/неделю","tags":["adoptionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список чемпионов tenant (append-only)","tags":["adoptionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/summary":{"get":{"summary":"Агрегатная сводка (privacy: aggregate_only, НЕ рейтинг сотрудников): accepted_users, users_with_repeat, departments из записанных adoption-событий в окне (declared)","tags":["adoptionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/receipts":{"post":{"summary":"ПРАВИЛО: Adoption Receipt DERIVED (ADOPTION_VERIFIED/UNCONFIRMED/BLOCKED); seal-once по (tenant,workflow,period), sha256, authoritative:false; VERIFIED только Health=HEALTHY+first-accepted CERTIFIED+business_owner_verified value","tags":["adoptionops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/receipts/{id}":{"get":{"summary":"Adoption Receipt по id (uuid-guard, tenant-scoped, found=false вне тенанта)","tags":["adoptionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/adoption/receipts/{id}/verify":{"get":{"summary":"Verify из запечатанной строки (tamper_evident_ok, uuid-guard)","tags":["adoptionops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/demo/persona":{"get":{"summary":"Паспорт роли AIRUS R01: как отвечает, что запрещено, лимиты демо (прозрачность вместо магии)","tags":["demochat"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/demo/chat":{"post":{"summary":"Демо-чат с собственной RF-моделью AIRUS R01 (self-hosted): серверная роль (анти-джейлбрейк), rate-limit по IP, metadata-only логи","tags":["demochat"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/content/posts":{"get":{"summary":"Блог: список опубликованных постов (только published+publishAt<=now; черновики не утекают)","tags":["contentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/content/posts-index":{"get":{"summary":"Индекс опубликованного (слаги+даты) для RSS/sitemap","tags":["contentops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/content/posts/{slug}":{"get":{"summary":"Пост целиком: санитизированный body_html (XSS-контроль на записи), SEO-поля, CTA","tags":["contentops"],"security":[],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/content/admin/posts":{"post":{"summary":"CMS upsert (platform-admin ADMIN_EMAILS): markdown→sanitized HTML на записи; идемпотентный source_key для маркетинг-агента; slug заморожен после публикации","tags":["contentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"CMS: все посты (draft/scheduled/published/archived)","tags":["contentops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/content/admin/posts/{slug}/status":{"post":{"summary":"CMS: смена статуса (publish/archive/draft)","tags":["contentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/content/admin/posts/{slug}":{"delete":{"summary":"CMS: архивирование поста (мягкое удаление — история/SEO)","tags":["contentops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/reference":{"get":{"summary":"Reference: SDK, change types, error reason codes, rules (executable/error-contract/changelog), no-duplication map","tags":["execdocsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/error/explain":{"post":{"summary":"Stable Error Intelligence: код/HTTP → actionable object (reason_code, retryable, retry_after, scope, safe_alternatives, docs_slug)","tags":["execdocsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/shape/verify":{"post":{"summary":"Детерминированная shape-верификация ответа против схемы (структура, не текст — без живой модели)","tags":["execdocsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/changelog/preview":{"post":{"summary":"Machine-readable changelog preview: change_type/affected/effective_at → requires_ci_action","tags":["execdocsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/examples":{"get":{"summary":"Executable Example Registry: галерея с test_status/freshness/estimated_cost (?sdk=)","tags":["execdocsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/examples/{key}":{"get":{"summary":"Пример целиком: code + expected_shape + last_verified (Run in Sandbox = roadmap)","tags":["execdocsops"],"security":[],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/changelog":{"get":{"summary":"Машиночитаемый changelog API для CI","tags":["execdocsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/receipt":{"get":{"summary":"Developer Experience Receipt: example pass rate + stale + error-contract coverage → status (?sdk=&project_ref=)","tags":["execdocsops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/admin/examples/{key}":{"post":{"summary":"Admin (ADMIN_EMAILS): upsert executable example (code, expected_shape, cost, published)","tags":["execdocsops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/admin/examples":{"get":{"summary":"Admin: все примеры (вкл. неопубликованные)","tags":["execdocsops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/admin/examples/{key}/verify":{"post":{"summary":"ПРАВИЛО: verify — фактический ответ vs зафиксированная schema → test_status passed/failed + last_verified","tags":["execdocsops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/admin/changelog/{key}":{"post":{"summary":"Admin: upsert changelog entry (requires_ci_action выводится из change_type)","tags":["execdocsops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/exec-docs/admin/metrics":{"get":{"summary":"examples, published, passed, error reason codes, changelog, ci-action entries","tags":["execdocsops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/reference":{"get":{"summary":"Reference: frameworks, cert levels, compat statuses, health factors, rules (install≠активация, update firewall, fail-closed cert), no-duplication map","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/certification/gate":{"post":{"summary":"Certification gate (what-if): community/verified/production/enterprise; fail-closed (production требует owner+SLA+telemetry+upgrade+support)","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/update-firewall":{"post":{"summary":"Update Firewall (what-if): framework release не Supported пока не прошёл тесты; unknown ≠ compatible (fail-closed)","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/health-score":{"post":{"summary":"Integration Health Score (what-if): 7 взвешенных факторов → healthy/degraded/at_risk/incomplete","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/workflow-economics":{"post":{"summary":"Workflow-level economics (what-if): стоимость всего multi-step execution — cost_by_step/by_model + remaining budget","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/activation/decide":{"post":{"summary":"Production Activation (what-if): install ≠ активация — засчитывается только первый production-результат","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/receipt":{"post":{"summary":"Integration Receipt (sha256): integration/package/framework/capability/health/outcomes, authoritative=false","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/packages":{"get":{"summary":"Integration Package Registry: официальные пакеты (n8n/langchain/spring) с версией/cert-level/operations (?framework=)","tags":["integrationecosystemops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/packages/{key}":{"get":{"summary":"Пакет + framework compatibility matrix (версии фреймворка × статус)","tags":["integrationecosystemops"],"security":[],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/packages/{key}/manifest":{"get":{"summary":"Machine-readable manifest (человек/CLI/framework/coding-агент/marketplace-валидатор): operations, credential model, governance","tags":["integrationecosystemops"],"security":[],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/admin/packages/{key}":{"post":{"summary":"Admin (ADMIN_EMAILS): upsert пакета; certification_level ВЫЧИСЛЯЕТСЯ гейтом (не gameable)","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/admin/packages":{"get":{"summary":"Admin: все пакеты (вкл. неопубликованные)","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/admin/packages/{key}/compat":{"post":{"summary":"Admin: framework compatibility (версия → статус + pass rate); supported выводится Update Firewall","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/installations/{key}":{"post":{"summary":"Integration installation: package, environment, partner, credential_verified","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/installations":{"get":{"summary":"Список установок","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/activations/{key}":{"post":{"summary":"ПРАВИЛО: production activation DERIVED через join Ф72 ProductionWorkflow (controlled_production/certified); executions/outcomes/forecast = declared; accepted<=executions","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/activations":{"get":{"summary":"Список активаций","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/installations/{key}/health":{"post":{"summary":"ПРАВИЛО: integration health DERIVED из framework-compat + активаций (join) + качественные факторы","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/integration-ecosystem/metrics":{"get":{"summary":"packages, installations, production installs, activations, Production-Activated ARR","tags":["integrationecosystemops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/reference":{"get":{"summary":"Reference: procedure types (44-ФЗ/223-ФЗ/commercial), requirement categories, capability types, rules (нет вероятности победы, citations mandatory, human approval)","tags":["tenderintelligenceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/document-coverage":{"post":{"summary":"Document coverage (what-if): один PDF ≠ вся закупка; coverage<90% → вывод не полный","tags":["tenderintelligenceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/hallucination-gate":{"post":{"summary":"Hallucination Gate (what-if): вывод блокируется без подтверждённого источника / при низком coverage / смешении редакций (fail-closed)","tags":["tenderintelligenceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/bid-decision/evaluate":{"post":{"summary":"Explainable Bid/No-Bid (what-if): readiness ОТДЕЛЬНО от confidence; blocking/positive/unknown; БЕЗ вероятности победы; human approval","tags":["tenderintelligenceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/requirement-diff":{"post":{"summary":"Requirement Change Monitor (what-if): semantic diff редакций → changed/added/removed + invalidated conclusions","tags":["tenderintelligenceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/pack-health":{"post":{"summary":"Vertical Pack Health Score: extraction/citation/checklist/decision/reliability/cost/adoption","tags":["tenderintelligenceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/packs":{"get":{"summary":"Vertical Pack Registry: supplier/OEM editions, версии, поддерживаемые процедуры","tags":["tenderintelligenceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/admin/packs/{key}":{"post":{"summary":"Admin (ADMIN_EMAILS): upsert vertical pack (edition/version/procedures/published)","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/procedures/{key}":{"post":{"summary":"Tender procedure + document graph (discovered/processed → coverage), тип процедуры, срок подачи","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/procedures":{"get":{"summary":"Список процедур + coverage","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/requirements/{key}":{"post":{"summary":"Normalized requirement с ЦИТАТОЙ (категория, normalized_value, source document/page, confidence)","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/requirements":{"get":{"summary":"Список требований (?procedure_key=)","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/capabilities/{key}":{"post":{"summary":"Company Capability Passport: тип, значение, срок действия (истёкшая = fail)","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/capabilities":{"get":{"summary":"Список capabilities (?company_ref=)","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/procedures/{key}/bid-decision":{"post":{"summary":"ПРАВИЛО: bid decision DERIVED из ЗАПИСАННЫХ requirements + capabilities; readiness/confidence раздельно; human approval; БЕЗ вероятности победы","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/procedures/{key}/approve":{"post":{"summary":"Human approval gate: подтверждение bid-решения специалистом (approved/rejected)","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/procedures/{key}/receipt":{"get":{"summary":"Tender Receipt (sha256): coverage, requirements, blocking, citations, pending human decisions → review_required/complete","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-intelligence/metrics":{"get":{"summary":"procedures, requirements, bid decisions, bid/conditional/no-bid/review, pending human decisions","tags":["tenderintelligenceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/reference":{"get":{"summary":"GTM Reference: сегменты, триггеры, objection-категории, ICP-веса, conversion floors, offer ladder; тезис Lost Tender Autopsy; карта no-duplication (pilot→enterpriseops, ROI→value/roi, quote→packagingops)","tags":["tenderpackgtmops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/offer-ladder":{"get":{"summary":"Offer Ladder (справочные якоря): evidence demo 49k/paid pilot 250-900k/production MRR по сегментам; реальные quote — packagingops/priceops (не дублируется)","tags":["tenderpackgtmops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/account-score":{"post":{"summary":"Тендер-ICP score (what-if): fit_score+tier по сигналам (объём процедур/тендер-команда/сложность/боль/бюджет), sales_cycle инвертируется, жёсткий флор ≥40 процедур/≥2 спеца","tags":["tenderpackgtmops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/autopsy/evaluate":{"post":{"summary":"Lost Tender Autopsy (what-if): критические требования + commercial_opportunity (paid_pilot/evidence_demo/nurture); НЕ причинность проигрыша, честный дисклеймер","tags":["tenderpackgtmops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/objection-response":{"post":{"summary":"Objection registry: категория → канонический ответ (не заменяем поиск / усиление спеца / fail-closed / не гарантируем победу)","tags":["tenderpackgtmops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/pilot-readiness":{"post":{"summary":"Pilot readiness gate (what-if, fail-closed, QUOTE→ПИЛОТ): production_quote_attached + baseline + нет бесплатного кастома + цена/скоуп → ready_to_send","tags":["tenderpackgtmops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/funnel-health":{"post":{"summary":"Funnel health: конверсии против floor'ов (≥40/60/50/40/60%) → fix_offer_evidence_or_icp / healthy_scale + weakest stage (не лить трафик в дырявую воронку)","tags":["tenderpackgtmops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/accounts/{key}":{"post":{"summary":"Target account: сигналы тендер-ICP → fit_score+tier DERIVED (named-компании = гипотезы фита, не подтверждённый интерес)","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/accounts":{"get":{"summary":"Список target accounts по fit_score","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/triggers/{key}":{"post":{"summary":"Buying trigger (lost_tender/team_expansion/new_ai_initiative) → sales_priority DERIVED из tier аккаунта + типа","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/autopsies/{key}":{"post":{"summary":"Lost Tender Autopsy DERIVED из Ф77 процедуры + bid-решения (critical/unmet requirements, commercial_opportunity)","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/autopsies":{"get":{"summary":"Список разборов проигранных тендеров","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/objections/{key}":{"post":{"summary":"Objection record: канонический ответ DERIVED из категории + исход (demo_scheduled/advanced/lost)","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/objections":{"get":{"summary":"Список возражений + агрегат by_category","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/pilot-proposals/{key}":{"post":{"summary":"Pilot proposal: ready_to_send DERIVED через fail-closed gate; исполнение пилота — enterpriseops.PilotContract","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/pilot-proposals":{"get":{"summary":"Список пилот-предложений (ready_to_send)","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/evidence-pack":{"get":{"summary":"Sales Evidence Pack DERIVED из Ф77 bid-decision (document_coverage, verified findings, estimated_time_saved_percent из ROI, customer_specific)","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-gtm/metrics":{"get":{"summary":"target accounts, tier A, buying triggers, autopsies→paid_pilot, objections logged, pilot proposals ready_to_send","tags":["tenderpackgtmops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/reference":{"get":{"summary":"Sales Reference: qual-веса, статусы, disqualification-причины, promise-категории, buyer-сигналы; тезис «интерес ≠ pipeline»; карта no-duplication (committee→enterpriseops, baseline→roi, opportunity→buyer-desk, call→calls)","tags":["tenderpacksalesops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/qualify":{"post":{"summary":"Composite qualification score (what-if, deal-health ось): 8 сигналов (боль/объём/данные/owner/economic buyer/бюджет/срочность/integration) → score+status+gate_autopsy+gate_pilot (fail-closed)","tags":["tenderpacksalesops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/promise-guard":{"post":{"summary":"Sales Promise Guard (what-if, fail-closed перед proposal): обещание победы/юр.гарантии — запрещено; функции — только supported∧in_scope; цена/SLA — только с approval (реальный floor — marginops)","tags":["tenderpacksalesops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/serious-buyer":{"post":{"summary":"Serious Buyer Detector (what-if): +/− сигналы → serious/unclear/free_researcher; hard-негатив (нет покупателя/уклонение от даты/расширение free scope) → free_researcher","tags":["tenderpacksalesops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/disqualify":{"post":{"summary":"Disqualification playbook (what-if): причина (no_budget/no_data/no_owner/no_pain/no_urgency/custom_only/win_guarantee_demand) → рекомендованное действие","tags":["tenderpacksalesops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/qualifications/{key}":{"post":{"summary":"Sales qualification: 8 сигналов → score+status+gates DERIVED; has_decision_date выводится из decision_date (не caller-boolean)","tags":["tenderpacksalesops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/qualifications":{"get":{"summary":"Список квалификаций по score (status/gate_autopsy/gate_pilot)","tags":["tenderpacksalesops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/qualifications/{key}/readiness-receipt":{"get":{"summary":"Sales Readiness Receipt (sha256, derived, non-authoritative): пересчёт гейтов из записанного → READY_FOR_PAID_PILOT / NOT_READY + блокеры","tags":["tenderpacksalesops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/disqualifications/{key}":{"post":{"summary":"Disqualification record: причина → playbook DERIVED; привязка к opportunity переводит её в disqualified (согласованность)","tags":["tenderpacksalesops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/disqualifications":{"get":{"summary":"Список дисквалификаций + агрегат by_reason","tags":["tenderpacksalesops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-sales/metrics":{"get":{"summary":"qualifications, priority, qualified, autopsy_gate_open, pilot_gate_open, disqualifications","tags":["tenderpacksalesops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/reference":{"get":{"summary":"Pilot Reference: 21-дневный стандарт (стадии/дни), production decisions (PRODUCTION/CONDITIONAL/STOP), required cohort, scope credits; тезис «пилот = репетиция production»; карта no-duplication (Ф79/Ф77/Ф72/marginops/value)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/activation-gate":{"post":{"summary":"Pilot Activation Packet gate (what-if, fail-closed): data rights + 60 procedures + 20 outcomes + 2 reviewers + owner/buyer/budget/baseline/decision date + excluded functions + cohort lock → clock_can_start","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/cohort-stratification":{"post":{"summary":"Locked Stratified Cohort (what-if): 60 процедур с жёсткими полами трудных кейсов (10 больших/10 сканов/10 редакций/5 отклонений/5 споров) → balanced/shortfalls","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/procedure-value":{"post":{"summary":"Pilot Procedure Value (what-if): baseline − assisted → time_saved; manual_intervention ≤10 мин → within target (Truth Ledger + Value Clock)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/blind-classify":{"post":{"summary":"Blind Evaluation (what-if): классификация ТОЛЬКО после фиксации обоих → agreement/human_disagreement/airus_miss/specialist_miss/insufficient_data (human_disagreement ≠ model error)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/burn-down":{"post":{"summary":"Critical Requirement Burn-Down (what-if): found by AIRUS/specialist/both/missed/disputed/insufficient → recall (честнее «точности 97%»)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/acceptance-matrix":{"post":{"summary":"Pilot Acceptance Matrix (what-if, fail-closed): hard (discovery≥98/citation≥99/recall≥95/unsupported<0.5/isolation=0) + business + production → PRODUCTION/CONDITIONAL/STOP (незамеренный hard = не пройден)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/midpoint-gate":{"post":{"summary":"Day-10 Midpoint Kill Gate (what-if): early-kill (нет cohort/буайера/бюджета, scope+20%, >30% необработано, feedback 5 дней) → STOP; иначе CONTINUE/CORRECT","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/scope-credit":{"post":{"summary":"Scope Credit Ledger (what-if): 10 configuration credits; запрос сверх остатка → change_order_required (не бесплатный кастом в пилоте)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/stage-advance":{"post":{"summary":"21-day Stage Machine (what-if): переход разрешён только на следующую стадию (no-skip, no-backward, fail-closed)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/normalized-cost":{"post":{"summary":"Normalized Production Cost (what-if): inference+support+retries+OCR+storage+eval+partner margin+резерв (pilot subsidy ≠ production economics; реальный per-request — marginops)","tags":["tenderpackpilotops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}":{"post":{"summary":"Upsert pilot (owner/admin/security): opportunity/account link, decision date, стадия/production decision DERIVED","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots":{"get":{"summary":"Список пилотов (стадия/clock/production/midpoint)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/activation":{"post":{"summary":"Activation packet: ready DERIVED (включая cohort lock); has_decision_date из decision_date","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/cohort":{"post":{"summary":"Cohort mix: stratification DERIVED; после lock изменение запрещено (immutable)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/cohort/lock":{"post":{"summary":"Cohort lock (fail-closed): требует balanced (обязательные трудные страты набраны)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/clock/start":{"post":{"summary":"Start pilot clock (fail-closed): только при полном packet + залоченном cohort","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/stage":{"post":{"summary":"Advance stage (server-enforced no-skip; требует стартованные часы)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/procedures/{ref}":{"post":{"summary":"Procedure record (Truth Ledger + Value Clock): time_saved DERIVED, ручное вмешательство фиксируется (не скрывается)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/blind-eval/{ref}":{"post":{"summary":"Blind evaluation: discrepancy DERIVED после фиксации обоих; после lock решение неизменяемо (антиподгонка)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/scope-changes/{changeKey}":{"post":{"summary":"Scope change: decision DERIVED; within_scope атомарно списывает кредиты ($transaction)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeKey","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/midpoint":{"post":{"summary":"Day-10 midpoint gate: CONTINUE/CORRECT/STOP; STOP → production_decision=stop","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/acceptance":{"post":{"summary":"Persist измеренных acceptance-метрик (hard/business/production) — receipt строит production_decision из ЗАПИСАННОГО, не из body (не caller-gameable)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/burn-down":{"get":{"summary":"Critical requirement burn-down DERIVED из blind-eval агрегатов (per-procedure decision; per-requirement — roadmap)","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/pilots/{key}/receipt":{"get":{"summary":"Tender Pilot Receipt (sha256, derived, non-authoritative): recall/time reduction DERIVED из записей + персистные метрики → PRODUCTION/CONDITIONAL/STOP","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-pilot/metrics":{"get":{"summary":"pilots, clock_started, stopped, production_or_conditional, scope_changes, procedures_recorded","tags":["tenderpackpilotops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/reference":{"get":{"summary":"Production Reference: SLA-профили, adoption-роли, bid-lifecycle, health-веса; тезис «управляемая пропускная способность отдела»; карта no-duplication (Ф72/Ф77/Ф80/Ф54/marginops/routeeconomics/evalops/toolops/advocacyops)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/intake-gateway":{"post":{"summary":"Tender Intake Gateway (what-if, fail-closed): dedup/OCR-quality/completeness/malicious → coverage_status ready/review/blocked (прямая отправка всех файлов модели запрещена)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/flow-coverage":{"post":{"summary":"Complete-Flow Coverage (what-if): воронка ПОТОКА тендеров (релевантных/передано/обработано/заблокировано/исключено) → automation_rate; <80% → нельзя заявлять автоматизацию отдела","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/quality-sampling":{"post":{"summary":"Risk-Based Quality Sampling (what-if): 100% high-value/low-confidence/new-category/new-route/human-disagreement + детерминированные 2-5% random (hash ref)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/role-adoption":{"post":{"summary":"Role-Based Adoption (what-if): per-role фактическое использование + manual bypass + parallel-Excel → adopted/partial/not_adopted (не по логинам)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/complexity-pricing":{"post":{"summary":"Complexity Pricing (what-if): files/pages/OCR/tables/archives/versions → band (standard/large/complex) + estimate ДО анализа; глубокая маржа — TenderPackMarginOps","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/passport-freshness":{"post":{"summary":"Passport Freshness (what-if): capability → VERIFIED/EXPIRING/STALE/CONFLICTING/MISSING; bid_blocked на устаревшем critical (расширяет Ф77 CompanyCapability)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/unit-economics":{"post":{"summary":"Unit Economics (what-if, ТОНКО): per-procedure ingestion/OCR/storage/retrieval/LLM/verification/support/partner → gross_margin; отрицательная маржа помечается","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflow-health":{"post":{"summary":"Workflow Health Score (what-if): composite (coverage/quality/adoption/decision/integration/cost/passport); fail-closed incomplete без всех факторов (паттерн Ф54)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/bid-lifecycle":{"post":{"summary":"Bid Decision Lifecycle (what-if): переходы NEW→ANALYZING→…→INVALIDATED_BY_CHANGE/ARCHIVED (расширяет Ф77 TenderBidDecision)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/stage-advance":{"post":{"summary":"90-day stage machine (what-if): stabilize→adopt→prove (no-skip, fail-closed)","tags":["tenderpackproductionscaleops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/promote":{"post":{"summary":"Promote pilot→production (fail-closed: только Ф80-пилот с production/conditional_production; frozen pack version, БЕЗ пересоздания tenant)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows":{"get":{"summary":"Список production-workflow (stage/sla/reference_status)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/stage":{"post":{"summary":"Advance 90-day stage (stabilize→adopt→prove, server-enforced no-skip)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/intake/{ref}":{"post":{"summary":"Intake record: coverage_status DERIVED (fail-closed)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/unit-economics/{ref}":{"post":{"summary":"Per-procedure unit economics: gross_margin DERIVED","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/quality-samples/{ref}":{"post":{"summary":"Quality sample: must_review DERIVED из сигналов процедуры (high-value/low-conf/new-route/disagreement/random)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"ref","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/adoption/{role}":{"post":{"summary":"Adoption snapshot по роли: status DERIVED (adopted/partial/not_adopted)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}},{"name":"role","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/passport/{companyRef}":{"get":{"summary":"Passport freshness компании DERIVED из Ф77 CompanyCapability (bid_blocked на устаревшем critical)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"companyRef","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/bid-lifecycle/{procedureKey}/{companyRef}":{"post":{"summary":"Advance bid lifecycle Ф77-решения (server-enforced transitions, no-skip)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"procedureKey","in":"path","required":true,"schema":{"type":"string"}},{"name":"companyRef","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/metrics-record":{"post":{"summary":"Persist accepted_decision_rate/time_reduction/passport_freshness — receipt строит SCALE из ЗАПИСАННОГО, не из body (не caller-gameable)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/health":{"get":{"summary":"Workflow health DERIVED из записанного (coverage из intake, adoption, positive-margin, quality sample)","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/workflows/{key}/receipt":{"post":{"summary":"Tender Production Receipt (sha256, derived): coverage/accepted/margin/passport → SCALE/SUSTAIN/STOP","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tender-production/metrics":{"get":{"summary":"workflows, in_prove_stage, intake_records, intake_blocked, quality_samples, must_review","tags":["tenderpackproductionscaleops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/reference":{"get":{"summary":"Billing Trust Reference: 12 движков, money_source_of_truth=LedgerService (ADR-002), roadmap (УПД XML+ЭДО, 1С, wiring в LedgerService)","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/quote-to-invoice-gate":{"post":{"summary":"Quote-to-Invoice Gate (what-if, fail-closed): строка эмитится только при contract+price_version+usage+complexity+approval+tax+period+description; иначе refuse+missing[]","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoice-transition":{"post":{"summary":"Invoice state machine (what-if): no-skip DRAFT→ISSUED→{PARTIALLY_PAID→PAID|OVERPAID|OVERDUE|DISPUTED}, CANCELLED из draft/issued; paid→disputed (chargeback)","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/payment-match":{"post":{"summary":"Payment match (what-if, fail-closed): amount+payer_inn+purpose → matched/review/split_required/unmatched; неопознанный НЕ зачисляется (credit_authorized=false)","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/credit-exposure":{"post":{"summary":"Credit Exposure Guard (what-if): exposure=overdue+unpaid_current+unbilled_usage+forecast≤limit → HEALTHY/WARNING/PAYMENT_REQUIRED/RESTRICTED/SUSPENDED","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/partner-payout":{"post":{"summary":"Partner Payout Gate (what-if): payable=max(0,collected−refunded−disputed−taxes−excluded)×%; collected=0⇒0; SUPERSEDES advisory-комиссию revops","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/upd-validation":{"post":{"summary":"УПД 5.03 validation (what-if): реквизиты+ИНН checksum+НДС-сверка ДО отправки; XML+подпись+ЭДО=roadmap; ставки illustrative","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/edo-readiness":{"post":{"summary":"EDO Readiness (what-if): оператор/роуминг/формат/подписант(сертификат)/МЧД → ready|blockers[]","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/non-billable/{situation}":{"get":{"summary":"Non-billable classification: parser/provider_5xx/gateway/reprocessing → NON_BILLABLE_AIRUS_REPROCESSING; энфорс через LedgerService.release/refund (append-only)","tags":["tenderpackbillingtrustops"],"security":[],"parameters":[{"name":"situation","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/anomaly-scan":{"post":{"summary":"Billing anomaly scan (what-if): unknown-payer/usage-after-suspension(critical), duplicate-line/overage-no-approval/discount(high); прод-hookup в finops pipeline=roadmap","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/suspension":{"post":{"summary":"Graceful suspension (what-if): warn→restrict_priority→restrict_bulk→read_only→emergency→full_block; оплаченный evidence НЕ отключается","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/trust-receipt":{"post":{"summary":"Billing Trust Receipt (what-if): verdict CLEANLY_CLOSED (quote↔invoice∧usage∧invoice∧payment∧УПД∧reconciled∧disputes=0∧collected≥invoice); sha256+payload_version","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/aging":{"post":{"summary":"Aging + dunning (what-if): бакеты current/1-7/8-30/31-60/61+/disputed/promised + dunning-стадия + DSO","tags":["tenderpackbillingtrustops"],"security":[],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Aging-бакеты по реальным неоплаченным invoice тенанта","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}":{"post":{"summary":"Создать invoice (draft) + evidence-событие","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices":{"get":{"summary":"Список invoice тенанта (amount — сумма ДОКУМЕНТА, не баланс)","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}/emit-line":{"post":{"summary":"Эмиссия строки через Quote-to-Invoice Gate (fail-closed: без evidence строка не создаётся)","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}/transition":{"post":{"summary":"Переход состояния invoice (server-enforced no-skip) + evidence-событие","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}/upd":{"post":{"summary":"Валидация УПД → upd_status=validated (реальный XML+ЭДО — roadmap)","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}/upd/deliver":{"post":{"summary":"EDO-readiness чек → пометка delivered (реальная отправка — внешний контур/roadmap)","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/payments/match":{"post":{"summary":"Persist payment match (idempotent): invoice_amount+payer_inn СЕРВЕР берёт из реальных записей (не gameable); зачисление в баланс=LedgerService (roadmap)","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/partner-payouts":{"post":{"summary":"Persist partner payout (idempotent): collected/refunded из РЕАЛЬНОГО LedgerEvent (не из body, не revops MRR); выплата=LedgerService (roadmap)","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/credit-status":{"get":{"summary":"Credit exposure DERIVED из реальных invoice(overdue/unpaid)+UsageEvent(unbilled)+CreditProfile(limit)","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/suspension-status":{"get":{"summary":"Suspension stage DERIVED из overdue + exposure_status","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}/reconcile":{"post":{"summary":"Reconcile-действие финанса: append-only evidence 'reconciled' (делает флаг reconciled trust-receipt достижимым). Автоматическая 1С-сверка = roadmap","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}/trust-receipt":{"post":{"summary":"Issue Trust Receipt: флаги DERIVED из реального состояния (invoice/evidence/BillingDispute/documented-allocation ≤ реального LedgerEvent collected), НЕ из body; CLEANLY_CLOSED verdict + sha256","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/invoices/{key}/trust-receipt/verify":{"get":{"summary":"Verify receipt: пересчёт sha256 из реального состояния vs сохранённый","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/evidence":{"get":{"summary":"Append-only lifecycle-журнал биллинга (evidence, НЕ money-ledger; суммы — документированные копии). ?invoice_key=","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/billing-trust/metrics":{"get":{"summary":"invoices_by_state, cleanly_closed, payments matched/unmatched, payouts payable, credit_status/exposure","tags":["tenderpackbillingtrustops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/reference":{"get":{"summary":"Reference: 14 движков, self-declared входы, #6 advisory (не server-verified), roadmap (реальные оклады/взносы/льгота/1С-ФОТ/cash runway)","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/founder-bottleneck":{"post":{"summary":"Founder Bottleneck (what-if): critical при >20% blocked / >24ч ожидания / >15ч повторяемого","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/function-capacity":{"post":{"summary":"Function Capacity (what-if): available vs required → remove→automate→partner→HIRE только по остаточному разрыву","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/fully-loaded-cost":{"post":{"summary":"Fully Loaded Cost (what-if): salary×multiplier(1.25-1.35 IT / 1.35-1.5 без)+компоненты, 12мес. Ставки illustrative (нужен бухгалтер). НЕ COGS-per-request","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/make-vs-buy":{"post":{"summary":"Make-vs-Buy (what-if): differentiation+security+build/partner cost → build/buy/partner/build_never_outsource","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/hiring-gate":{"post":{"summary":"Hiring Gate (what-if, ФЛАГМАН fail-closed): critical bottleneck + не снимаемо removal/automation/partner + fully-loaded + cash≥12мес + signed pipeline → approved; иначе blocked+blockers","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/headcount-budget":{"post":{"summary":"Headcount Budget Gate (what-if, ADVISORY): annual fully-loaded ≤ 30% САМОЗАЯВЛЕННОГО collected GP клиента. AIRUS не верифицирует — дисциплина, не server-gate","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/role-scorecard":{"post":{"summary":"Role Scorecard (what-if): валидатор полноты 30/60/90 + kill_condition","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/bus-factor":{"post":{"summary":"Bus-Factor Gate (what-if): критичный контур → bus_factor≥2 + runbook + recovery; иначе at_risk","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/service-to-product":{"post":{"summary":"Service-to-Product Ratio (what-if): professional services ≤25-30%; >35% или >30% 2мес → остановить кастом","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/ownership-map":{"post":{"summary":"Ownership Map (what-if): область → owner+backup → coverage + at_risk (без backup)","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Карта владения org-функциями тенанта + coverage/at_risk","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/hiring-sequence":{"post":{"summary":"Hiring Sequence (what-if): no-skip порядок найма (ядро раньше специализаций; Eval раньше ML)","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/founder-delegation":{"post":{"summary":"Founder Delegation (what-if): keep (стратегич.+неповторяемое) vs delegate (повторяемое)","tags":["operatingplanops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/role-gate/{role}":{"post":{"summary":"Role-specific gate (what-if): sre/applied_ai/enterprise_sales/finance/hr — числовые пороги найма","tags":["operatingplanops"],"security":[],"parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/bottleneck/{week}":{"post":{"summary":"Persist founder bottleneck за ISO-неделю (status DERIVED)","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"week","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/bottleneck/latest":{"get":{"summary":"Последняя запись bottleneck","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/functions/{key}/owner":{"post":{"summary":"Owner+backup внутренней org-функции (bus_factor DERIVED, at_risk без backup)","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/functions/{key}/capacity":{"post":{"summary":"Persist function capacity (recommended_action DERIVED)","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/make-vs-buy/{capability}":{"post":{"summary":"Persist make-vs-buy decision","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"capability","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/roles/{key}":{"post":{"summary":"Role Request (ФЛАГМАН): сводит hiringGate(fail-closed)+headcountBudget(advisory)+sequence над self-declared входами → approved/blocked+reasons","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/roles":{"get":{"summary":"Список role requests с решениями","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/receipt":{"post":{"summary":"Operating Plan Receipt: агрегирует approved-роли/payroll/bottleneck; provenance-теги (attested/illustrative); sha256","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/receipt/verify":{"get":{"summary":"Verify receipt (read-only пересчёт sha256)","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/operating-plan/metrics":{"get":{"summary":"roles_by_decision, annual_fully_loaded_payroll, org_functions/at_risk, founder_bottleneck_status","tags":["operatingplanops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/reference":{"get":{"summary":"Reference: 11 движков, спина=Ф54 read-only, server-derived vs declared, #18 eligibility, roadmap (downgrade/give-to-get/competitive-scan/category-defense/portability/reconstruction)","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/renewal-clock":{"post":{"summary":"Renewal Clock (what-if, #1): часы от САМОГО РАННЕГО события (budget/security review), не конца лицензии; фазы T-180…T-0","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/risk-taxonomy":{"post":{"summary":"Renewal Risk Taxonomy (what-if, #2): 8 типов (product/value/sponsor/commercial/procurement/security/competitive/strategic), primary=наивысший, НЕ общий AT_RISK","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/procurement-calendar":{"post":{"summary":"Procurement Calendar (what-if, #3): 6 датированных событий (payment_schedule — roadmap) → упорядоченный timeline + самое раннее действие + просрочки","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/buyer-committee":{"post":{"summary":"Buyer Committee (what-if, #4): 7 обязательных ролей; пустая критичная (sponsor/budget/procurement) → high risk","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/forecast-confidence":{"post":{"summary":"Forecast Confidence (what-if, #17): COMMITTED/HIGH/MEDIUM/LOW/CHURN_LIKELY; value_confirmed — server-derived, остальное declared","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/decision-board":{"post":{"summary":"Renewal Decision Board (what-if, #12): RENEW/RIGHT_SIZE/EXPAND/RECOVERY/COMPETITIVE_REVIEW/PLANNED_EXIT; health — advisory","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/multi-year-gate":{"post":{"summary":"Multi-Year Gate (what-if, #16): 24-36мес только при value_confirmed + структурных (indexation/exit); health ADVISORY, НЕ гейт (5/7 declared)","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/procurement-ready-arr":{"post":{"summary":"Procurement-Ready ARR (what-if, ФЛАГМАН #18): ARR ready ТОЛЬКО при 8 условиях; ELIGIBILITY-флаг на declared ARR (не деньги); fail-closed value_unverified","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/recovery-sprint":{"post":{"summary":"30-Day Recovery Sprint (what-if, #13): diagnose→fix→verify_value→decide; T-30 принудительное решение, не бесконечный proserv","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/exit-detector":{"post":{"summary":"Exit Preparation Detector (what-if): ≥3 сигналов → likely; одиночный экспорт НЕ churn","tags":["renewaldefenseops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/accounts/{accountId}/plan":{"post":{"summary":"Upsert defense plan (declared) по UUID клиентского аккаунта Ф54; computed forecast/primary_risk/decision из server-derived value","tags":["renewaldefenseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/accounts/{accountId}/status":{"get":{"summary":"Полный статус (live): server-derived из Ф54 + clock/calendar/committee/taxonomy/forecast/board/multi-year/#18 ARR-gate","tags":["renewaldefenseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/accounts/{accountId}/receipt":{"post":{"summary":"Renewal Defense Receipt (#19): sha256, authoritative:false; value_multiple server-derived, budget/procurement/security/competitive declared","tags":["renewaldefenseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/accounts/{accountId}/receipt/verify":{"get":{"summary":"Verify receipt (read-only, tamper-evident): пересчёт sha256 из ЗАПЕЧАТАННЫХ полей, не из живых чтений Ф54","tags":["renewaldefenseops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"accountId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/accounts":{"get":{"summary":"Список defense-планов (renewal_confidence/primary_risk/board_decision/declared ARR)","tags":["renewaldefenseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/renewal-defense/metrics":{"get":{"summary":"renewable_arr(declared), arr_by_confidence, churn_likely_arr, decisions. Money N/A","tags":["renewaldefenseops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/reference":{"get":{"summary":"Reference: 4 контура, таксономия энфорса (inline/analyzer/mitigation/roadmap), инварианты, roadmap. Инъекции = митигация, не security-control","tags":["securityarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/invariants":{"get":{"summary":"8 fail-closed инвариантов зеро-траст плоскости с классом энфорса","tags":["securityarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/assemble-prompt":{"post":{"summary":"Structured Prompt Assembly (what-if, класс C): делимитеры+нейтрализация недоверенного контента. Митигация, НЕ предотвращение","tags":["securityarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/scan-output":{"post":{"summary":"Output Safety Gateway (what-if, класс B): скан готового ответа на секреты/PII/эксфильтрацию. НЕ инлайн-стрим","tags":["securityarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/canary-check":{"post":{"summary":"Security Canary (what-if, класс B): verbatim-эхо канарейки в выводе = эксфильтрация","tags":["securityarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/tenant-isolation":{"post":{"summary":"Tenant Isolation Proof (what-if, класс A): реконструкция из tenant_id ресурсов, без ресурсов → measured=false","tags":["securityarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/receipt":{"post":{"summary":"Aggregated Security Receipt (what-if): SAFE_TO_REVIEW = AND(measured ∧ passed) по A+B; любой неизмеренный → false","tags":["securityarchitectureops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/evaluate":{"post":{"summary":"Реальная оценка запроса: изоляция+скан+брокер+реестр модели → запечатанный fail-closed рецепт (seal-once, sha256, authoritative:false)","tags":["securityarchitectureops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/evaluations":{"get":{"summary":"Список запечатанных security-оценок (safe_to_review/unmeasured/failed/sha256)","tags":["securityarchitectureops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/evaluations/{id}/verify":{"get":{"summary":"Verify-from-sealed: реконструкция sha256 из запечатанной строки (tamper-evident), НЕ переоценка","tags":["securityarchitectureops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/reference":{"get":{"summary":"Reference: движки, провенанс сигналов (live_measured/computed/declared/roadmap), reuse-реестр, 3 рецепта разграничены","tags":["reliabilitychaosops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/workflow-availability":{"post":{"summary":"Verified Workflow Availability (what-if): доступно только если ВСЕ обязательные шаги ok; partial=completed_with_gaps","tags":["reliabilitychaosops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/deadline-priority":{"post":{"summary":"Deadline-Aware Priority (what-if): дедлайн+severity+tier+value+age, не громкость клиента","tags":["reliabilitychaosops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/error-budget":{"post":{"summary":"Error Budget (what-if): SLO burn → release_freeze при исчерпании","tags":["reliabilitychaosops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/decision-divergence":{"post":{"summary":"Decision Divergence (what-if): два переданных решения расходятся → REVIEW_REQUIRED","tags":["reliabilitychaosops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/backup-proof":{"post":{"summary":"Backup Restore Proof (what-if): без реального restore-теста → UNVERIFIED (declared, вердикт не поднимает)","tags":["reliabilitychaosops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/receipt":{"post":{"summary":"Reliability Receipt (what-if): ENTERPRISE_READY = AND(measured ∧ passed) по каноническим; любой неизмеренный → false","tags":["reliabilitychaosops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/evaluate":{"post":{"summary":"Реальная оценка workflow: availability+unsafe-fallback+exactly-once(live)+semantic/circuit/retry → запечатанный fail-closed рецепт","tags":["reliabilitychaosops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/effects":{"post":{"summary":"Exactly-Once бизнес-эффект (CRM/email/receipt/decision/callback): повтор ключа = duplicate, действие не выполняется дважды. Billing отклоняется (деньги — LedgerService)","tags":["reliabilitychaosops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/evaluations":{"get":{"summary":"Список запечатанных reliability-оценок","tags":["reliabilitychaosops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/reliability/evaluations/{id}/verify":{"get":{"summary":"Verify-from-sealed: реконструкция sha256 из запечатанной строки, НЕ переоценка","tags":["reliabilitychaosops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/reference":{"get":{"summary":"Reference: движки, провенанс (live COGS/attested/declared/roadmap), лимиты концентрации, reuse","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/concentration":{"post":{"summary":"Concentration Guard (what-if): доля vs лимит; нет данных → insufficient_data (инвертированный fail-closed, не allow)","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/tier":{"post":{"summary":"Provider Tier (what-if): strategic/core/approved/experimental/exit","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/scorecard":{"post":{"summary":"Provider Scorecard (what-if): взвешенный композит → PREFERRED/HEALTHY/WATCH/RESTRICTED/EXIT; пустой→null","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/adjusted-cost":{"post":{"summary":"Provider-Adjusted Cost (what-if): МНОЖИТЕЛЬ риска (retry+verification+incident+liquidity+concentration+migration), не абсолютные ₽","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/contract-matrix":{"post":{"summary":"Contract Control Matrix (what-if, declared): недостающие clauses → gaps","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/change-notice":{"post":{"summary":"Model Change Notice (what-if, declared): required (60/30/…) vs contractual → gap","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/exit-readiness":{"post":{"summary":"Exit Readiness (what-if, declared): критичный без плана → block; НИКОГДА VERIFIED из body","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/independence":{"post":{"summary":"Provider Independence (genuine reuse resilienceops.detectCommonMode): общий failure domain = не резерв","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/receipt":{"post":{"summary":"Governance Receipt (what-if): GOVERNED = AND(measured ∧ passed); неизмеренная концентрация → CANNOT_CERTIFY","tags":["providergovernanceops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/evaluate":{"post":{"summary":"Реальная оценка портфеля: concentration из РЕАЛЬНОГО spend (usageEvent) + exit/scorecard → запечатанный fail-closed рецепт","tags":["providergovernanceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/evaluations":{"get":{"summary":"Список запечатанных governance-оценок","tags":["providergovernanceops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/provider-governance/evaluations/{id}/verify":{"get":{"summary":"Verify-from-sealed: реконструкция sha256 из запечатанной строки","tags":["providergovernanceops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/reference":{"get":{"summary":"Reference: lifecycle, провенанс (verified_persisted/declared/roadmap), eval-harness packs, honesty","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/truth-gate":{"post":{"summary":"Catalog Truth Gate (флагман): PRODUCTION только при персистном eval; declared → максимум TESTING (badge = тест, не заявление)","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/identity":{"post":{"summary":"Canonical Model Identity: alias ≠ identity (provider/upstream/version/fingerprint)","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/card":{"post":{"summary":"Verified Model Card: provider claim vs AIRUS verification — РАЗНЫЕ поля; verified только из персистного eval","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/parity":{"post":{"summary":"OpenAI Parity Matrix: совместимый endpoint ≠ паритет; verified только из теста","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/price-normalize":{"post":{"summary":"Price Normalization: ₽/1M в Decimal (не float); разные единицы тарификации сопоставимы","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/price-freshness":{"post":{"summary":"Price Freshness: цена старше max-age → устарела (quote может быть неверным)","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/recommend":{"post":{"summary":"Unbiased Recommendation: quality-ранжирование СТРУКТУРНО без маржи (commercial_influence=none_structural)","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/integrity-receipt":{"post":{"summary":"Catalog Integrity Receipt (what-if): TRUSTED ⟺ unverified_claims=0 (нет fake PRODUCTION)","tags":["modelcatalogtruthops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/evaluate":{"post":{"summary":"Реальная оценка каталога: каждая модель через Truth Gate → запечатанный fail-closed Integrity Receipt","tags":["modelcatalogtruthops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/evaluations":{"get":{"summary":"Список запечатанных catalog-integrity оценок","tags":["modelcatalogtruthops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-catalog/evaluations/{id}/verify":{"get":{"summary":"Verify-from-sealed: реконструкция sha256 из запечатанной строки","tags":["modelcatalogtruthops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/reference":{"get":{"summary":"Reference: risk C0-C4, канонические гейты по классу, провенансы, roadmap (реальные judge/human прогоны)","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/risk-classify":{"post":{"summary":"Risk classes C0-C4: детерминированные правила → канонический набор release-гейтов","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/rubric-validate":{"post":{"summary":"Rubric Registry: weights=1, шкалы монотонны, anchors обязательны; rubric_sha256 = версия","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/deterministic-score":{"post":{"summary":"Deterministic score: РЕАЛЬНЫЙ вызов evalops.scoreExample (JWT: пользовательский regex — не для анонимного вызова)","tags":["modelevaluationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/hybrid-score":{"post":{"summary":"Hybrid scoring: deterministic+judge+human; declared/некалиброванный judge → advisory_only (не release-grade)","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/judge-agreement":{"post":{"summary":"Judge governance: Cohen's kappa vs эксперты; generator≠judge; <50 пар → not_calibrated (fail-closed)","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/worst-slice":{"post":{"summary":"Worst-slice gate: вердикт по ХУДШЕМУ slice; недомеренный slice → cannot_certify (не вакуумный pass)","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/statistical-gate":{"post":{"summary":"Statistical regression gate: delta+95% CI; inconclusive = BLOCKED (не pass), required_n оценка","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/pass-at-k":{"post":{"summary":"Multi-run consistency: pass@1/pass_all_k/flaky_rate — ловит модель, проходящую тест «иногда»","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/cost-per-outcome":{"post":{"summary":"Cost per Accepted Outcome: BigInt nano-₽; accepted=0 → cannot_compute (не «бесплатно»)","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/release-gate":{"post":{"summary":"Release gate (what-if): AND(measured∧passed) по канону класса; unmeasured/declared → false","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/canary-plan":{"post":{"summary":"Canary план-валидатор: монотонные ступени+гейты+rollback обязательны (исполнение roadmap)","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/shadow-plan":{"post":{"summary":"Shadow план-валидатор: mirror_fraction/retention/compare_metric (исполнение roadmap)","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/core300-coverage":{"post":{"summary":"Core-300 coverage: покрытие слотов спецификации (оси из evalops.EVAL_PACKS); частичный golden set не сертифицирует","tags":["modelevaluationops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/evaluate":{"post":{"summary":"Release-вердикт: гейты пересчитаны из сырья (declared не принимается) → запечатанный Evaluation Receipt (seal-once)","tags":["modelevaluationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/verdicts":{"get":{"summary":"Список запечатанных release-вердиктов","tags":["modelevaluationops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/model-evaluation/verdicts/{id}/verify":{"get":{"summary":"Verify-from-sealed: реконструкция sha256 из запечатанной строки","tags":["modelevaluationops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/reference":{"get":{"summary":"Reference: signal types, feedback hierarchy, drift taxonomy, restriction states, hard rules (silence ≠ acceptance)","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/signal-validate":{"post":{"summary":"Production Signal envelope: request_id обязателен; сигнал = событие для расследования, не команда","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/feedback-strength":{"post":{"summary":"Feedback hierarchy: business outcome > correction > override > retry/abandonment > thumbs; пусто → no_evidence","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/correction-diff":{"post":{"summary":"Field-level Correction Diff → regression case ТОЛЬКО после adjudication (confirmed)","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/first-pass-metrics":{"post":{"summary":"First-Pass Acceptance / Retry-to-Success / abandonment из переданных событий (computed)","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/drift-classify":{"post":{"summary":"Drift taxonomy (10 типов) + data-vs-model attribution: смена данных не лечится откатом модели","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/baseline-compare":{"post":{"summary":"3 baseline-окна + сезонная супрессия; slice min-n; alert всегда указывает окно расхождения","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/active-sample":{"post":{"summary":"Active Review queue: информативные кейсы (complaint/disagreement/new intent), не случайный 1%","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/feedback-integrity":{"post":{"summary":"Feedback Integrity Score: защита от отравления; quarantined не идёт в drift/golden set","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/route-restriction":{"post":{"summary":"Route Restriction state machine (WATCH..GLOBAL_QUARANTINE): hysteresis/cooldown/blast radius/flapping-freeze; план, не действие","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/golden-lifecycle":{"post":{"summary":"Golden Set lifecycle: dedup/stale/contamination retirement — set без pruning деградирует","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/evaluation-debt":{"post":{"summary":"Evaluation Debt: CONTROLLED..RELEASE_FREEZE; неизмеренный долг ≠ нулевой (fail-closed)","tags":["productionfeedbackops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/first-pass-live":{"get":{"summary":"live_measured: РЕАЛЬНАЯ агрегация quality_feedback + usage_events (success/corrected/coverage)","tags":["productionfeedbackops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/evaluate":{"post":{"summary":"Production Feedback Receipt: live+computed секции → запечатанный receipt (seal-once, HEALTHY не из пустоты)","tags":["productionfeedbackops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/receipts":{"get":{"summary":"Список запечатанных production-feedback receipts","tags":["productionfeedbackops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/production-quality/receipts/{id}/verify":{"get":{"summary":"Verify-from-sealed: реконструкция sha256 из запечатанной строки","tags":["productionfeedbackops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/agents":{"get":{"summary":"Агентские ключи и статистика","tags":["agents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/agent-runs":{"get":{"summary":"Run trace по metadata.run_id","tags":["agents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/agents/{agentId}/kill":{"post":{"summary":"Kill switch (необратимо)","tags":["agents"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"agentId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/agents/{agentId}/pause":{"post":{"summary":"Пауза агента","tags":["agents"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"agentId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/agents/{agentId}/resume":{"post":{"summary":"Возобновить агента","tags":["agents"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"agentId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/batches":{"post":{"summary":"Создать batch-задание (скидки economy −30%/standard −15%)","tags":["batch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/batches/estimate":{"post":{"summary":"Калькулятор экономии до запуска","tags":["batch"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/batches/{id}":{"get":{"summary":"Статус батча","tags":["batch"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/batches/{id}/results":{"get":{"summary":"Результаты NDJSON","tags":["batch"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/batches/{id}/receipt":{"get":{"summary":"Чек экономии","tags":["batch"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/batches/{id}/cancel":{"post":{"summary":"Отменить батч","tags":["batch"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/webhooks/endpoints":{"get":{"summary":"Webhook-endpoints","tags":["webhooks"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Создать endpoint (HMAC-подпись, secret один раз)","tags":["webhooks"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/webhooks/events":{"get":{"summary":"Журнал событий с доставками","tags":["webhooks"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/webhooks/events/{id}/replay":{"post":{"summary":"Переотправить событие","tags":["webhooks"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/webhooks/health":{"get":{"summary":"Доставляемость, очередь, DLQ","tags":["webhooks"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/webhooks/dead-letters":{"get":{"summary":"Dead-letter queue: мёртвые доставки (format=json|csv)","tags":["webhooks"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/webhooks/event-types":{"get":{"summary":"Каталог типов событий","tags":["webhooks"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/templates":{"get":{"summary":"Каталог готовых сценариев (фильтр ?integration=)","tags":["templates"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/templates/runs/{runId}/receipt":{"get":{"summary":"Receipt прогона шаблона","tags":["templates"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"runId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tenders/analyze":{"post":{"summary":"Полный анализ тендера: summary, требования, дедлайны, риски, go/no-go","tags":["tenders"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tenders/risk-score":{"post":{"summary":"Карта рисков закупки с risk_score 0–100","tags":["tenders"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tenders/go-no-go":{"post":{"summary":"Go/no-go решение по закупке","tags":["tenders"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/tenders/batch":{"post":{"summary":"Пакетный анализ архива закупок (Batch со скидкой)","tags":["tenders"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/calls/analyze":{"post":{"summary":"Полный разбор транскрипта звонка: summary, scorecard, qa_score, риски, next steps","tags":["calls"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/calls/qa-score":{"post":{"summary":"QA-scorecard звонка по критериям + суммарный qa_score 0–100","tags":["calls"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/calls/extract-actions":{"post":{"summary":"Договорённости и next steps (owner/due) + highlights из транскрипта","tags":["calls"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/calls/risk-flags":{"post":{"summary":"Риски и compliance звонка: жалобы, отказы, запрещённые обещания","tags":["calls"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/calls/batch":{"post":{"summary":"Пакетный QA-разбор архива звонков (Batch со скидкой)","tags":["calls"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/extract":{"post":{"summary":"Извлечение полей документа с evidence (value/confidence/страница)","tags":["documents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/validate":{"post":{"summary":"Детерминированная валидация: ИНН/КПП, НДС, суммы, обязательные поля","tags":["documents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/risk-score":{"post":{"summary":"Document Risk Taxonomy: risk_score 0–100 и флаги по severity","tags":["documents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/process":{"post":{"summary":"Полный конвейер: извлечение → валидация → риски → human-review → actions → receipt","tags":["documents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/batch":{"post":{"summary":"Пакетная обработка архива документов (Batch со скидкой)","tags":["documents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/review":{"get":{"summary":"Очередь human-review: документы, требующие ручной проверки","tags":["documents"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/risk-taxonomy":{"get":{"summary":"Document Risk Taxonomy v0 (справочник рисков)","tags":["documents"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/documents/ocr-routes":{"get":{"summary":"OCR Route Registry: каталог движков распознавания (provided_text доступен, провайдеры roadmap)","tags":["documents"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/incidents/timeline":{"get":{"summary":"Incident Timeline: хронология инцидентов безопасности/надёжности/финопса","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/keys":{"get":{"summary":"Ключи со scope, статусом, расходом за день и risk-score","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/spend-risk":{"get":{"summary":"Spend Risk Score по ключам (сигналы, уровни)","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/risk-signals":{"get":{"summary":"Справочник сигналов и уровней spend-risk","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/keys/{id}/scope":{"post":{"summary":"Задать scope ключа: allowed/blocked models, ₽-кап, лимиты токенов","tags":["security"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/keys/{id}/freeze":{"post":{"summary":"Заморозить ключ (AbuseGuard) — шлюз мгновенно отклоняет","tags":["security"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/security/keys/{id}/unfreeze":{"post":{"summary":"Разморозить ключ","tags":["security"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/siem/sources":{"get":{"summary":"Источники и форматы выгрузки событий безопасности (self-describing)","tags":["siem"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/siem/export":{"get":{"summary":"Выгрузка событий безопасности в SIEM: format=json|jsonl|cef|syslog, фильтры from/to/categories/min_severity","tags":["siem"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sdk/configs":{"get":{"summary":"Каталог конфигов интеграции AIRUS (OpenAI SDK, LangChain, LiteLLM, Cursor, Cline, n8n, k8s…)","tags":["sdk"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sdk/configs/{tool}":{"get":{"summary":"Готовый конфиг подключения для конкретного инструмента","tags":["sdk"],"security":[],"parameters":[{"name":"tool","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sdk/postman":{"get":{"summary":"Postman Collection v2.1 всех эндпоинтов (импорт в Postman/Insomnia/Bruno)","tags":["sdk"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/sdk/n8n-workflow":{"get":{"summary":"Готовый n8n workflow (HTTP Request → AIRUS chat)","tags":["sdk"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/campaign-pack":{"post":{"summary":"Бриф → варианты копирайта по каналам с brand/legal-проверкой и Creative Receipt","tags":["creative"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/assets/generate":{"post":{"summary":"Генерация вариантов рекламного копирайта по брифу + проверки + approval-статус","tags":["creative"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/brand-check":{"post":{"summary":"Детерминированная проверка копирайта на соответствие Brand Kit","tags":["creative"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/legal-check":{"post":{"summary":"Legal Flags: маркировка рекламы, рисковые/медицинские заявления, ПДн","tags":["creative"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/batch":{"post":{"summary":"Пакетная генерация под архив брифов (Batch со скидкой)","tags":["creative"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/review":{"get":{"summary":"Очередь согласования: креативы, требующие marketer/legal review","tags":["creative"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/legal-taxonomy":{"get":{"summary":"Legal Flags v0 + approval-статусы (справочник)","tags":["creative"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/image-routes":{"get":{"summary":"Image Route Registry: copy_only доступен, YandexART/Kandinsky/GPT Image — roadmap","tags":["creative"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/creative/brand-kits":{"get":{"summary":"Примеры Brand Kit (персистентная библиотека — roadmap)","tags":["creative"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/pricing/plans":{"get":{"summary":"Тарифы и SLA-классы","tags":["pricing"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/pricing/estimate":{"post":{"summary":"Калькулятор месячного бюджета","tags":["pricing"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/quotes":{"post":{"summary":"Запросить КП (Deal Desk)","tags":["pricing"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/credentials":{"get":{"summary":"Provider-ключи в vault (секрет не показывается)","tags":["byok"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"post":{"summary":"Сохранить provider-ключ (AES-256-GCM), managed fallback","tags":["byok"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/credentials/{id}/test":{"post":{"summary":"Health-check ключа","tags":["byok"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/byok/usage":{"get":{"summary":"Сводка по источникам оплаты","tags":["byok"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/org/members":{"get":{"summary":"Участники и роли","tags":["iam"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/org/invites":{"post":{"summary":"Пригласить участника (роль)","tags":["iam"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/org/audit-log":{"get":{"summary":"Admin audit log (format=jsonl)","tags":["iam"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/org/readiness":{"get":{"summary":"Production readiness чек-лист","tags":["iam"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/org/cost-centers":{"post":{"summary":"Cost center с бюджетом","tags":["iam"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/org/key-rotation":{"get":{"summary":"Отчёт по ключам к ротации (возраст/простой/без владельца)","tags":["iam"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-routing/summary":{"get":{"summary":"Сводка маршрутов данных (hybrid)","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-routing/boundary-summary":{"get":{"summary":"Data Boundary Control: распределение по route_type, blocked, unknown class","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/data-routing/detect":{"post":{"summary":"Sensitive Data Auto-Tagger: детектор ПДн/финданных → suggested data_class","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/firewall/summary":{"get":{"summary":"AI Firewall: abuse-события, блокировки","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/firewall/key-scores":{"get":{"summary":"Key Abuse Score","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/simulate":{"post":{"summary":"Policy Simulator: dry-run запроса через firewall/hybrid/data-boundary/allow-list без вызова модели","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/approved-ai/model-catalog":{"get":{"summary":"Approved AI: каталог role-packs (модели/маршруты по отделам)","tags":["security"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/approved-ai/apply-pack":{"post":{"summary":"Применить role-pack отдела к политике проекта (реальный enforcement)","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/approved-ai/control":{"get":{"summary":"Approved AI Control dashboard: отделы, risky prompts, покрытие политиками","tags":["security"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge-bases":{"post":{"summary":"Создать базу знаний","tags":["rag"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge-bases/{id}/documents":{"post":{"summary":"Проиндексировать документ (ACL scope)","tags":["rag"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge-bases/{id}/query":{"post":{"summary":"RAG-запрос с citations и grounding score","tags":["rag"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge-bases/{id}/health":{"get":{"summary":"Knowledge health (stale/conflict/cost per answer)","tags":["rag"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge-bases/{id}/issues":{"get":{"summary":"Actionable issues: устаревшие/дубли/конфликтующие версии + рекомендации","tags":["rag"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge/connectors":{"get":{"summary":"Connector Registry: manual_upload доступен, Confluence/Notion/1С/Drive — roadmap","tags":["rag"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge/sources":{"get":{"summary":"Реестр источников знаний с freshness-разбивкой","tags":["rag"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge/quality":{"get":{"summary":"RAG Quality Metrics: stale_chunk_rate, acl_leak_rate, cost per answer","tags":["rag"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/knowledge/answer":{"post":{"summary":"Trusted Answer: решение (trusted/low_confidence/no_answer) + chunk evidence + receipt","tags":["rag"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/errors":{"get":{"summary":"Error Doctor: каталог кодов с диагнозом","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/migrations/check":{"post":{"summary":"Migration Cockpit: живая проверка совместимости ключом","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/evals":{"get":{"summary":"Eval Pack (методология)","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/evals/evaluator-types":{"get":{"summary":"Типы evaluator'ов, gate-операторы и действия","tags":["evalops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/evals/run":{"post":{"summary":"Прогон golden-датасета через маршрут → Eval Run Receipt (pass_rate, gate)","tags":["evalops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/evals/compare":{"post":{"summary":"Model-vs-model: baseline vs candidate → quality_delta + gate_decision","tags":["evalops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/evals/packs":{"get":{"summary":"Готовые eval-паки под use-case (evaluators + gate + пример датасета)","tags":["evalops"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/evals/suites":{"post":{"summary":"Сохранить eval-suite (golden dataset + gate) для регрессии","tags":["evalops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}},"get":{"summary":"Список сохранённых eval-suites","tags":["evalops"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/evals/suites/{id}/run":{"post":{"summary":"Перезапуск сохранённого suite (регрессия во времени)","tags":["evalops"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/v1/airus/docs/quality-gate":{"get":{"summary":"Docs Quality Gate: drift между документацией и роутером","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/docs/snippets":{"get":{"summary":"Verified snippets каталог","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/v1/airus/docs/endpoints":{"get":{"summary":"Машинный список эндпоинтов (source of truth)","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}},"/mcp":{"post":{"summary":"Docs MCP Server (JSON-RPC 2.0): search_airus_docs, explain_airus_error, get_airus_snippet для AI-агентов","tags":["devtools"],"security":[],"responses":{"200":{"description":"OK"}}}}}}