{"openapi":"3.1.0","info":{"title":"SecuriLayer Backend","description":"SecuriLayer unified anti-scam API for real-time URL/content checks, bot moderation, threat intel, and workflow automation.","version":"1.0.0"},"paths":{"/v1/auth/discord/login/":{"get":{"tags":["auth"],"summary":"Login Discord","operationId":"login_discord_v1_auth_discord_login__get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}},{"name":"mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/discord/login":{"get":{"tags":["auth"],"summary":"Login Discord","operationId":"login_discord_v1_auth_discord_login_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}},{"name":"mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/discord/callback":{"get":{"tags":["auth"],"summary":"Callback Discord","operationId":"callback_discord_v1_auth_discord_callback_get","parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/discord/bot/authorize":{"get":{"tags":["auth"],"summary":"Discord Bot Authorize","operationId":"discord_bot_authorize_v1_auth_discord_bot_authorize_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/discord/bot/callback":{"get":{"tags":["auth"],"summary":"Discord Bot Callback","operationId":"discord_bot_callback_v1_auth_discord_bot_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"guild_id","in":"query","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"permissions","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Permissions"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/reddit/login":{"get":{"tags":["auth"],"summary":"Login Reddit","operationId":"login_reddit_v1_auth_reddit_login_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/reddit/callback":{"get":{"tags":["auth"],"summary":"Callback Reddit","operationId":"callback_reddit_v1_auth_reddit_callback_get","parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/google/login/":{"get":{"tags":["auth"],"summary":"Google Login","description":"Redirects to Google OAuth 2.0 authorization endpoint.","operationId":"google_login_v1_auth_google_login__get","parameters":[{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/google/login":{"get":{"tags":["auth"],"summary":"Google Login","description":"Redirects to Google OAuth 2.0 authorization endpoint.","operationId":"google_login_v1_auth_google_login_get","parameters":[{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/google/callback":{"get":{"tags":["auth"],"summary":"Google Callback","operationId":"google_callback_v1_auth_google_callback_get","parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/reddit/bot/authorize":{"get":{"tags":["auth"],"summary":"Reddit Bot Authorize","operationId":"reddit_bot_authorize_v1_auth_reddit_bot_authorize_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/reddit/bot/callback":{"get":{"tags":["auth"],"summary":"Reddit Bot Callback","operationId":"reddit_bot_callback_v1_auth_reddit_bot_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/reddit/bot/save":{"post":{"tags":["auth"],"summary":"Reddit Bot Save","operationId":"reddit_bot_save_v1_auth_reddit_bot_save_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_reddit_bot_save_v1_auth_reddit_bot_save_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/twitter/login":{"get":{"tags":["auth"],"summary":"Login Twitter","operationId":"login_twitter_v1_auth_twitter_login_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"login","title":"Mode"}},{"name":"next","in":"query","required":false,"schema":{"type":"string","default":"/app","title":"Next"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/twitter/callback":{"get":{"tags":["auth"],"summary":"Callback Twitter","operationId":"callback_twitter_v1_auth_twitter_callback_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/telegram/login/":{"get":{"tags":["auth"],"summary":"Login Telegram Redirect","description":"Redirect to Telegram OAuth Login URL (server-side redirect flow).\n\nEliminates the need for the Login Widget iframe + CSP unsafe-eval.\nTelegram redirects back to /v1/auth/telegram/callback with signed params.","operationId":"login_telegram_redirect_v1_auth_telegram_login__get","parameters":[{"name":"next","in":"query","required":false,"schema":{"type":"string","default":"/app/","title":"Next"}},{"name":"mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/telegram/login":{"get":{"tags":["auth"],"summary":"Login Telegram Redirect","description":"Redirect to Telegram OAuth Login URL (server-side redirect flow).\n\nEliminates the need for the Login Widget iframe + CSP unsafe-eval.\nTelegram redirects back to /v1/auth/telegram/callback with signed params.","operationId":"login_telegram_redirect_v1_auth_telegram_login_get","parameters":[{"name":"next","in":"query","required":false,"schema":{"type":"string","default":"/app/","title":"Next"}},{"name":"mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"}},{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/telegram/callback":{"get":{"tags":["auth"],"summary":"Telegram Oauth Callback","description":"Handle redirect-back from Telegram OAuth.\n\nTelegram oauth.telegram.org returns auth data as a URL **fragment**\n(#tgAuthResult=base64json), which browsers never send to the server.\nWe serve an HTML page with client-side JS that extracts the fragment,\ndecodes the base64 payload, and POSTs it to POST /v1/auth/telegram.\n\nIf query params with hash are present (direct callback), we handle\nserver-side as a fallback.","operationId":"telegram_oauth_callback_v1_auth_telegram_callback_get","parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"next","in":"query","required":false,"schema":{"type":"string","default":"/app/","title":"Next"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/slack/login":{"get":{"tags":["auth"],"summary":"Login Slack","operationId":"login_slack_v1_auth_slack_login_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/slack/callback":{"get":{"tags":["auth"],"summary":"Callback Slack","operationId":"callback_slack_v1_auth_slack_callback_get","parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/telegram":{"post":{"tags":["auth"],"summary":"Login Telegram","description":"Login via Telegram Login Widget (POST from widget js).","operationId":"login_telegram_v1_auth_telegram_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/telegram-webapp":{"post":{"tags":["auth"],"summary":"Login Telegram Webapp","description":"Login via Telegram WebApp initData. Creates user + org on first login.","operationId":"login_telegram_webapp_v1_auth_telegram_webapp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramWebAppRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/refresh":{"post":{"tags":["auth"],"summary":"Refresh Session","operationId":"refresh_session_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/logout":{"get":{"tags":["auth"],"summary":"Logout Get","description":"GET logout for simple link-based logout, redirects to login.","operationId":"logout_get_v1_auth_logout_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["auth"],"summary":"Logout","operationId":"logout_v1_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Logout V1 Auth Logout Post"}}}}}}},"/v1/auth/providers/{provider}":{"delete":{"tags":["auth"],"summary":"Unlink Provider","description":"Unlink a social provider from the current user's account.\nRequires at least one other auth method to remain linked.","operationId":"unlink_provider_v1_auth_providers__provider__delete","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Unlink Provider V1 Auth Providers  Provider  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/account":{"delete":{"tags":["auth"],"summary":"Delete Account","operationId":"delete_account_v1_auth_account_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAccountResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/me/export":{"get":{"tags":["auth"],"summary":"Export My Data","description":"GDPR Article 20 — export all personal data for the authenticated user.\n\nReturns user profile, organization info, subscription, recent decisions (last 1000),\nactive bans, recent audit events (last 500), and API keys (without secrets).","operationId":"export_my_data_v1_auth_me_export_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/magic":{"get":{"tags":["auth"],"summary":"Login Magic","description":"One-shot token entry (email links): validate token, set session cookie, redirect to app.","operationId":"login_magic_v1_auth_magic_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/me":{"get":{"tags":["auth"],"summary":"Get Me","description":"Current authenticated user info; includes checks_today and daily_limit for WebApp/site synergy.","operationId":"get_me_v1_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/api-keys":{"post":{"tags":["auth"],"summary":"Create Api Key","description":"Create a new API key for the org. Only admin_a / admin_b.\n\nKeys are used for API Package access, browser extension authentication\n(allow_extension), and prepaid PAYG checks (api_credits). API-credit keys\ndo not unlock plan-gated LK surfaces.","operationId":"create_api_key_v1_auth_api_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["auth"],"summary":"List Api Keys","description":"List API keys for the org (without raw values).","operationId":"list_api_keys_v1_auth_api_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApiKeyListItem"},"title":"Response List Api Keys V1 Auth Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/api-keys/verify":{"get":{"tags":["auth"],"summary":"Verify Api Key","description":"Verify extension/API key without requiring a browser session cookie.\nUsed by extension options page for end-to-end key validation.","operationId":"verify_api_key_v1_auth_api_keys_verify_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/extension/usage":{"get":{"tags":["auth"],"summary":"Extension Usage","operationId":"extension_usage_v1_auth_extension_usage_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtensionUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/extension/inventory":{"get":{"tags":["auth"],"summary":"Extension Inventory","description":"PLAT-12 audit closure: single canonical \"what does the browser\nextension look like for this org\" surface for the LK Extension\npanel. Mirrors the per-platform inventory pattern used by\nTelegram /groups, Discord /servers, Slack /workspaces, MAX\n/chats, etc.\n\nSurfaces:\n- capability flag (`allow_extension`) and active plan id\n- monthly extension quota: limit, used, remaining\n- 7d telemetry summary (total calls, by-day count) — URL hashes\n  only, never raw URLs (privacy contract from ExtensionTelemetry)\n- api keys count + most-recent activity timestamp (no key material)\n- active edge rulepack: version, sha256 prefix, published_at —\n  proves the extension is reading a real signed pack, not a stub\n- billing sync state (overflow_to_credits visibility)","operationId":"extension_inventory_v1_auth_extension_inventory_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Extension Inventory V1 Auth Extension Inventory Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/api-keys/{key_id}":{"delete":{"tags":["auth"],"summary":"Revoke Api Key","description":"Revoke (deactivate) an API key.","operationId":"revoke_api_key_v1_auth_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/api-keys/{key_id}/rotate":{"post":{"tags":["auth"],"summary":"Rotate Api Key","description":"Rotate API key: revoke old key and issue a new one.","operationId":"rotate_api_key_v1_auth_api_keys__key_id__rotate_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/csrf":{"get":{"tags":["auth-email"],"summary":"Get Csrf Token","description":"Refresh or initialize CSRF cookie for the frontend.","operationId":"get_csrf_token_v1_auth_csrf_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Get Csrf Token V1 Auth Csrf Get"}}}}}}},"/v1/auth/email/register":{"post":{"tags":["auth-email"],"summary":"Request Email Registration","operationId":"request_email_registration_v1_auth_email_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEmailRegistrationRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericEmailAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/email/register/resend":{"post":{"tags":["auth-email"],"summary":"Resend Email Registration Code","operationId":"resend_email_registration_code_v1_auth_email_register_resend_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailAddressRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericEmailAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/email/register/verify":{"post":{"tags":["auth-email"],"summary":"Verify Email Registration","operationId":"verify_email_registration_v1_auth_email_register_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailCodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/email/password-reset/request":{"post":{"tags":["auth-email"],"summary":"Request Password Reset","operationId":"request_password_reset_v1_auth_email_password_reset_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailAddressRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericEmailAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/email/password-reset/confirm":{"post":{"tags":["auth-email"],"summary":"Confirm Password Reset","operationId":"confirm_password_reset_v1_auth_email_password_reset_confirm_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetConfirmRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericEmailAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/login":{"post":{"tags":["auth-email"],"summary":"Login With Email","operationId":"login_with_email_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/email-password":{"put":{"tags":["auth-email"],"summary":"Set Email Password","description":"Enable or replace direct email/password login for the current session owner.","operationId":"set_email_password_v1_auth_email_password_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPasswordUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPasswordUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/status":{"get":{"tags":["auth-mfa"],"summary":"Mfa Status","description":"Return whether 2FA is enrolled for the current user.","operationId":"mfa_status_v1_auth_mfa_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/setup":{"post":{"tags":["auth-mfa"],"summary":"Mfa Setup","description":"Begin TOTP enrollment.\n\nGenerates a fresh secret + QR code. The user is NOT enrolled until they\nPOST a valid code to `/verify`. Multiple calls regenerate the secret —\nintentional, so a user who lost the QR before saving can start over.","operationId":"mfa_setup_v1_auth_mfa_setup_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaSetupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/verify":{"post":{"tags":["auth-mfa"],"summary":"Mfa Verify","description":"Verify a TOTP code to complete enrollment OR confirm a step-up.\n\nIf the user has a pending (un-enrolled) setup, a successful verify flips\n`is_enrolled=True` and issues 10 recovery codes (returned ONCE in the\nresponse; never retrievable again).\n\nIf the user is already enrolled, this endpoint simply confirms the code\nis valid — useful as a step-up check before sensitive actions.","operationId":"mfa_verify_v1_auth_mfa_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaVerifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/disable":{"post":{"tags":["auth-mfa"],"summary":"Mfa Disable","description":"Disable MFA. Requires a valid current TOTP code OR an unused recovery code.","operationId":"mfa_disable_v1_auth_mfa_disable_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaDisableRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Mfa Disable V1 Auth Mfa Disable Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/recovery-codes/regenerate":{"post":{"tags":["auth-mfa"],"summary":"Mfa Regenerate Recovery Codes","description":"Replace all recovery codes with 10 fresh ones. Requires a valid TOTP code.\n\nThe new codes are returned ONCE; the old codes are invalidated atomically.","operationId":"mfa_regenerate_recovery_codes_v1_auth_mfa_recovery_codes_regenerate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaVerifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaRecoveryRegenerateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/challenge/verify":{"post":{"tags":["auth-mfa"],"summary":"Mfa Challenge Verify","description":"Consume a login-time MFA challenge and issue a full session.\n\nCalled BEFORE the user has a session — login flow returns a\nchallenge_id when the user has 2FA enabled, and the client follows up\nwith this endpoint plus the TOTP / recovery code.\n\nOn success, mints a full JWT session (access_token + refresh_token)\nand sets the HttpOnly session cookie. The client can then redirect\nto /app/ without any further auth step.","operationId":"mfa_challenge_verify_v1_auth_mfa_challenge_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaChallengeVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Mfa Challenge Verify V1 Auth Mfa Challenge Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/webauthn/options":{"post":{"tags":["auth-mfa"],"summary":"Mfa Webauthn Options","description":"Build a WebAuthn assertion challenge for an in-flight login MFA challenge.\n\nMirrors `/challenge/verify` in that it is called BEFORE the user has a\nsession — identification comes from the MfaChallenge row keyed by\n`mfa_challenge_id`. Returns the public-key options the browser needs\nto call `navigator.credentials.get`, plus a fresh `webauthn_challenge_id`\nthe client must echo back on /webauthn/verify.","operationId":"mfa_webauthn_options_v1_auth_mfa_webauthn_options_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaWebauthnOptionsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Mfa Webauthn Options V1 Auth Mfa Webauthn Options Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/mfa/webauthn/verify":{"post":{"tags":["auth-mfa"],"summary":"Mfa Webauthn Verify","description":"Complete the WebAuthn assertion for an in-flight MFA challenge and mint session.\n\nTwin of `/challenge/verify` but with a WebAuthn assertion instead of a\nTOTP / recovery code. On success the MFA challenge is consumed and a\nfresh access + refresh token + session cookie are issued — equivalent\nend state to the TOTP-verify path.","operationId":"mfa_webauthn_verify_v1_auth_mfa_webauthn_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MfaWebauthnVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Mfa Webauthn Verify V1 Auth Mfa Webauthn Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/webauthn/register/options":{"post":{"tags":["auth-webauthn"],"summary":"Register Options","operationId":"register_options_v1_auth_webauthn_register_options_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Register Options V1 Auth Webauthn Register Options Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/webauthn/register/verify":{"post":{"tags":["auth-webauthn"],"summary":"Register Verify","operationId":"register_verify_v1_auth_webauthn_register_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Register Verify V1 Auth Webauthn Register Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/webauthn/login/options":{"post":{"tags":["auth-webauthn"],"summary":"Login Options","description":"Build allow-listed challenge for the already-known caller.\n\nThe pure passkey *usernameless* flow (no JWT cookie present) is left\nfor a later step — most useful when paired with the\n``/app/mfa-verify`` page in Step 3.","operationId":"login_options_v1_auth_webauthn_login_options_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Login Options V1 Auth Webauthn Login Options Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/webauthn/login/verify":{"post":{"tags":["auth-webauthn"],"summary":"Login Verify","description":"Verify assertion and mint full-strength session.\n\nMints fresh JWT + refresh tokens just like ``/v1/auth/mfa/challenge/verify``\nso a passkey login produces an equivalent session.","operationId":"login_verify_v1_auth_webauthn_login_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Login Verify V1 Auth Webauthn Login Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/webauthn/credentials":{"get":{"tags":["auth-webauthn"],"summary":"List My Credentials","operationId":"list_my_credentials_v1_auth_webauthn_credentials_get","parameters":[{"name":"include_revoked","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Revoked"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List My Credentials V1 Auth Webauthn Credentials Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/webauthn/credentials/{credential_row_id}":{"patch":{"tags":["auth-webauthn"],"summary":"Rename Credential","operationId":"rename_credential_v1_auth_webauthn_credentials__credential_row_id__patch","parameters":[{"name":"credential_row_id","in":"path","required":true,"schema":{"type":"integer","title":"Credential Row Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Rename Credential V1 Auth Webauthn Credentials  Credential Row Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["auth-webauthn"],"summary":"Revoke Credential Endpoint","operationId":"revoke_credential_endpoint_v1_auth_webauthn_credentials__credential_row_id__delete","parameters":[{"name":"credential_row_id","in":"path","required":true,"schema":{"type":"integer","title":"Credential Row Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Revoke Credential Endpoint V1 Auth Webauthn Credentials  Credential Row Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/sessions/recent":{"get":{"tags":["auth-sessions"],"summary":"List Recent","operationId":"list_recent_v1_auth_sessions_recent_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Recent V1 Auth Sessions Recent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/sessions/{row_id}":{"delete":{"tags":["auth-sessions"],"summary":"Terminate Session","operationId":"terminate_session_v1_auth_sessions__row_id__delete","parameters":[{"name":"row_id","in":"path","required":true,"schema":{"type":"integer","title":"Row Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Terminate Session V1 Auth Sessions  Row Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/saml/config":{"get":{"tags":["auth-saml"],"summary":"Get Saml Config","operationId":"get_saml_config_v1_auth_saml_config_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Saml Config V1 Auth Saml Config Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["auth-saml"],"summary":"Upsert Saml Config","operationId":"upsert_saml_config_v1_auth_saml_config_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Upsert Saml Config V1 Auth Saml Config Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["auth-saml"],"summary":"Disable Saml Config","operationId":"disable_saml_config_v1_auth_saml_config_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Disable Saml Config V1 Auth Saml Config Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/saml/{org_slug}/metadata":{"get":{"tags":["auth-saml"],"summary":"Get Sp Metadata","operationId":"get_sp_metadata_v1_auth_saml__org_slug__metadata_get","parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"type":"string","title":"Org Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/saml/{org_slug}/initiate":{"get":{"tags":["auth-saml"],"summary":"Initiate Saml Login","operationId":"initiate_saml_login_v1_auth_saml__org_slug__initiate_get","parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"type":"string","title":"Org Slug"}},{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/saml/{org_slug}/acs":{"post":{"tags":["auth-saml"],"summary":"Acs Endpoint","description":"Assertion Consumer Service — IdP POSTs the signed SAML response here.\n\nOn verification, mints a normal session JWT + refresh token + sets\nthe HttpOnly session cookie and 303s to the relay state (or /app/).","operationId":"acs_endpoint_v1_auth_saml__org_slug__acs_post","parameters":[{"name":"org_slug","in":"path","required":true,"schema":{"type":"string","title":"Org Slug"}}],"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_acs_endpoint_v1_auth_saml__org_slug__acs_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/taxii2/":{"get":{"tags":["taxii"],"summary":"Discovery","description":"TAXII Discovery — points at the SecuriLayer consortium API root.","operationId":"discovery_taxii2__get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/taxii2/api/":{"get":{"tags":["taxii"],"summary":"Api Root","operationId":"api_root_taxii2_api__get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/taxii2/api/collections/":{"get":{"tags":["taxii"],"summary":"List Collections","operationId":"list_collections_taxii2_api_collections__get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/taxii2/api/collections/{collection_id}/":{"get":{"tags":["taxii"],"summary":"Get Collection","operationId":"get_collection_taxii2_api_collections__collection_id___get","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/taxii2/api/collections/{collection_id}/objects/":{"get":{"tags":["taxii"],"summary":"Get Collection Objects","description":"Return a STIX 2.1 bundle for the indicators collection.\n\nThe actual bundle assembly reuses ``stix_producer.build_bundle`` so\nwe never have two divergent STIX shapes in the codebase.","operationId":"get_collection_objects_taxii2_api_collections__collection_id__objects__get","parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/ServiceProviderConfig":{"get":{"tags":["scim"],"summary":"Get Service Provider Config","operationId":"get_service_provider_config_scim_v2_ServiceProviderConfig_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Service Provider Config Scim V2 Serviceproviderconfig Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/ResourceTypes":{"get":{"tags":["scim"],"summary":"Get Resource Types","operationId":"get_resource_types_scim_v2_ResourceTypes_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Resource Types Scim V2 Resourcetypes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/Schemas":{"get":{"tags":["scim"],"summary":"Get Schemas","operationId":"get_schemas_scim_v2_Schemas_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Schemas Scim V2 Schemas Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/Users":{"get":{"tags":["scim"],"summary":"List Scim Users","operationId":"list_scim_users_scim_v2_Users_get","parameters":[{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter"}},{"name":"startIndex","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Startindex"}},{"name":"count","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Count"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Scim Users Scim V2 Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["scim"],"summary":"Create Scim User","operationId":"create_scim_user_scim_v2_Users_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Create Scim User Scim V2 Users Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/scim/v2/Users/{user_id}":{"get":{"tags":["scim"],"summary":"Get Scim User","operationId":"get_scim_user_scim_v2_Users__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Scim User Scim V2 Users  User Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["scim"],"summary":"Replace Scim User","operationId":"replace_scim_user_scim_v2_Users__user_id__put","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Replace Scim User Scim V2 Users  User Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["scim"],"summary":"Patch Scim User","operationId":"patch_scim_user_scim_v2_Users__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Patch Scim User Scim V2 Users  User Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["scim"],"summary":"Delete Scim User","operationId":"delete_scim_user_scim_v2_Users__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/scim/tokens":{"post":{"tags":["scim-admin"],"summary":"Admin Issue Token","operationId":"admin_issue_token_v1_auth_scim_tokens_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","default":{},"title":"Payload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Admin Issue Token V1 Auth Scim Tokens Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["scim-admin"],"summary":"Admin List Tokens","operationId":"admin_list_tokens_v1_auth_scim_tokens_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Admin List Tokens V1 Auth Scim Tokens Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/scim/tokens/{token_id}":{"delete":{"tags":["scim-admin"],"summary":"Admin Revoke Token","operationId":"admin_revoke_token_v1_auth_scim_tokens__token_id__delete","parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"integer","title":"Token Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Admin Revoke Token V1 Auth Scim Tokens  Token Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/compliance/controls":{"get":{"tags":["Compliance"],"summary":"Get Compliance Controls","description":"List all compliance controls and their latest evidence status.","operationId":"get_compliance_controls_v1_compliance_controls_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ControlResponse"},"title":"Response Get Compliance Controls V1 Compliance Controls Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/compliance/controls/{control_id}/collect":{"post":{"tags":["Compliance"],"summary":"Collect Control Evidence","description":"Trigger evidence collection for a specific control.","operationId":"collect_control_evidence_v1_compliance_controls__control_id__collect_post","parameters":[{"name":"control_id","in":"path","required":true,"schema":{"type":"string","title":"Control Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Collect Control Evidence V1 Compliance Controls  Control Id  Collect Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/compliance/evidence/{evidence_id}/download":{"get":{"tags":["Compliance"],"summary":"Download Evidence","description":"Download specific evidence payload for auditors.","operationId":"download_evidence_v1_compliance_evidence__evidence_id__download_get","parameters":[{"name":"evidence_id","in":"path","required":true,"schema":{"type":"integer","title":"Evidence Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EvidenceDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/compliance/residency":{"get":{"tags":["Compliance"],"summary":"Get Data Residency","description":"Get current data residency policy for the tenant.","operationId":"get_data_residency_v1_compliance_residency_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Data Residency V1 Compliance Residency Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Compliance"],"summary":"Update Data Residency","description":"Set data residency policy. Only owners can change this.","operationId":"update_data_residency_v1_compliance_residency_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResidencyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Data Residency V1 Compliance Residency Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/compliance/audit-windows":{"post":{"tags":["Compliance"],"summary":"Create Audit Window","description":"Create a time-bound read-only token for external auditors.","operationId":"create_audit_window_v1_compliance_audit_windows_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditWindowCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Create Audit Window V1 Compliance Audit Windows Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/compliance/right-to-deletion":{"post":{"tags":["Compliance"],"summary":"Request Right To Deletion","description":"GDPR Article 17: Right to Erasure.\nIssues a cascade wipe request for the organization.\nNote: For audit integrity (SOC 2), cryptographic hashes remain in the audit chain,\nbut PII and raw data are scrubbed.","operationId":"request_right_to_deletion_v1_compliance_right_to_deletion_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Request Right To Deletion V1 Compliance Right To Deletion Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/compliance/signed-report.pdf":{"get":{"tags":["Compliance"],"summary":"Get Signed Compliance Report","description":"S-06 carry-1: PQC-signed compliance evidence PDF.\n\nBody is a multi-control roll-up of the most recent evidence collected\nfor each known compliance control. The PDF SHA-256 is signed with the\nQuantumSigner; the signature + key fingerprint are returned in\nresponse headers so external auditors can detach them programmatically\nand verify against the public-key transparency log endpoint at\n`/v1/audit-viewer/key-transparency`.\n\nReturns 503 when the optional `reportlab` dependency isn't installed\non the host so the client can present a clean message rather than\ncrashing.","operationId":"get_signed_compliance_report_v1_compliance_signed_report_pdf_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/decisions":{"get":{"tags":["decisions"],"summary":"List Decisions","description":"List Decision Contracts for current org (newest first).","operationId":"list_decisions_v1_decisions_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DecisionContractResponse"},"title":"Response List Decisions V1 Decisions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["decisions"],"summary":"Create Decision","description":"Создать Decision Contract.","operationId":"create_decision_v1_decisions_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDecisionContractRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionContractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/decisions/export":{"get":{"tags":["decisions"],"summary":"Export Decisions Csv","operationId":"export_decisions_csv_v1_decisions_export_get","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"csv","title":"Format"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"verdict","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verdict"}},{"name":"object_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Object Type"}},{"name":"days","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":365,"minimum":1},{"type":"null"}],"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/decisions/{decision_id}":{"get":{"tags":["decisions"],"summary":"Get Decision","description":"Получить контракт по decision_id. Только свой org.","operationId":"get_decision_v1_decisions__decision_id__get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionContractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/detections":{"get":{"tags":["detections"],"summary":"List Detections","description":"List detections with filtering and pagination\nFrontend expects: {detections: [], stats: {}, total, page, total_pages}","operationId":"list_detections_v1_detections_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":20,"title":"Limit"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","default":"","title":"Search"}},{"name":"severity","in":"query","required":false,"schema":{"type":"string","default":"","title":"Severity"}},{"name":"type","in":"query","required":false,"schema":{"type":"string","default":"","title":"Type"}},{"name":"platform","in":"query","required":false,"schema":{"type":"string","default":"","title":"Platform"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"","title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Detections V1 Detections Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/detections/{detection_id}":{"get":{"tags":["detections"],"summary":"Get Detection Detail","description":"Get detailed analysis for a specific detection (Native or Partner)","operationId":"get_detection_detail_v1_detections__detection_id__get","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"string","title":"Detection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Detection Detail V1 Detections  Detection Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/detections/{detection_id}/analysis":{"get":{"tags":["detections"],"summary":"Get Detection Analysis","description":"Get detailed evidence and analysis for a specific detection.\nUsed for the \"View Analysis\" modal in the frontend.","operationId":"get_detection_analysis_v1_detections__detection_id__analysis_get","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"string","title":"Detection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Detection Analysis V1 Detections  Detection Id  Analysis Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/threat-level":{"get":{"tags":["analytics"],"summary":"Threat Level","operationId":"threat_level_v1_analytics_threat_level_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":168,"minimum":1,"default":24,"title":"Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreatLevelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/integrations-status":{"get":{"tags":["analytics"],"summary":"Integrations Status","operationId":"integrations_status_v1_analytics_integrations_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationsStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/daily-checks":{"get":{"tags":["analytics"],"summary":"Daily Checks","operationId":"daily_checks_v1_analytics_daily_checks_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":7,"title":"Days"}},{"name":"breakdown","in":"query","required":false,"schema":{"type":"string","default":"platform","title":"Breakdown"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DailyChecksResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/summary":{"get":{"tags":["analytics"],"summary":"Analytics Summary","operationId":"analytics_summary_v1_analytics_summary_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Analytics Summary V1 Analytics Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/quality":{"get":{"tags":["analytics"],"summary":"Quality Scoreboard","operationId":"quality_scoreboard_v1_analytics_quality_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QualityScoreboardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/missed-threats":{"get":{"tags":["analytics"],"summary":"Missed Threats","operationId":"missed_threats_v1_analytics_missed_threats_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":168,"minimum":1,"default":24,"title":"Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Missed Threats V1 Analytics Missed Threats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/dashboard-stats":{"get":{"tags":["analytics"],"summary":"Dashboard Stats","operationId":"dashboard_stats_v1_analytics_dashboard_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Dashboard Stats V1 Analytics Dashboard Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/detections-timeline":{"get":{"tags":["analytics"],"summary":"Detections Timeline","description":"Get detection counts over time for Chart.js","operationId":"detections_timeline_v1_analytics_detections_timeline_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"30d","title":"Period"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Detections Timeline V1 Analytics Detections Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/incidents-timeline":{"get":{"tags":["analytics"],"summary":"Incidents Timeline","description":"Get incident counts over time for Chart.js","operationId":"incidents_timeline_v1_analytics_incidents_timeline_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"30d","title":"Period"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Incidents Timeline V1 Analytics Incidents Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/threat-velocity":{"get":{"tags":["analytics"],"summary":"Threat Velocity","description":"Threat velocity chart: detections per hour for last N hours.","operationId":"threat_velocity_v1_analytics_threat_velocity_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":168,"minimum":1,"default":24,"title":"Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Threat Velocity V1 Analytics Threat Velocity Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/platform-comparison":{"get":{"tags":["analytics"],"summary":"Platform Comparison","description":"Platform comparison bar: Discord vs Telegram vs Slack vs Extension.","operationId":"platform_comparison_v1_analytics_platform_comparison_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":7,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Platform Comparison V1 Analytics Platform Comparison Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/scam-categories":{"get":{"tags":["analytics"],"summary":"Scam Categories","description":"Scam category pie chart from verdict (proxy for categories).","operationId":"scam_categories_v1_analytics_scam_categories_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":7,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Scam Categories V1 Analytics Scam Categories Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/retention":{"get":{"tags":["analytics"],"summary":"Retention Analysis","description":"Retention: repeat threats from same source (IP/wallet).","operationId":"retention_analysis_v1_analytics_retention_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":7,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Retention Analysis V1 Analytics Retention Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/advanced":{"get":{"tags":["analytics"],"summary":"Advanced Analytics","description":"Advanced analytics for SOC workflows.\nReturns real risk heatmap + anomaly trend + platform breakdown with stable `items/meta`.","operationId":"advanced_analytics_v1_analytics_advanced_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":7,"default":30,"title":"Days"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":90,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Advanced Analytics V1 Analytics Advanced Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/recent-activity":{"get":{"tags":["analytics"],"summary":"Recent Activity","description":"Get recent activity events for dashboard feed","operationId":"recent_activity_v1_analytics_recent_activity_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Recent Activity V1 Analytics Recent Activity Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/report":{"get":{"tags":["analytics"],"summary":"Export Report","operationId":"export_report_v1_analytics_report_get","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"csv","title":"Format"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/dashboard/actions":{"get":{"tags":["analytics"],"summary":"Get Immediate Actions","description":"S3.3 Top 3 Immediate Actions — Vigil auto-suggest","operationId":"get_immediate_actions_v1_analytics_dashboard_actions_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ImmediateAction"},"title":"Response Get Immediate Actions V1 Analytics Dashboard Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/securiscore":{"get":{"tags":["analytics"],"summary":"Get Securiscore","description":"S3.2 SecuriScore: Composite security posture score (0-100).","operationId":"get_securiscore_v1_analytics_securiscore_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuriScoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/cross-platform-heat":{"get":{"tags":["analytics"],"summary":"Cross Platform Heat","description":"S3.1 Cross-Platform Heat: Distribution of threats across platforms.","operationId":"cross_platform_heat_v1_analytics_cross_platform_heat_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object"}},"title":"Response Cross Platform Heat V1 Analytics Cross Platform Heat Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/risk-trend":{"get":{"tags":["analytics"],"summary":"Risk Trend","description":"S3.3 Risk Trend: Average confidence/score trend over time.","operationId":"risk_trend_v1_analytics_risk_trend_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"30d","title":"Period"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{}},"title":"Response Risk Trend V1 Analytics Risk Trend Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/threats/geo":{"get":{"tags":["analytics"],"summary":"Get Threats Geo","description":"Geographic distribution of threats (Simplified to platform-based for now)","operationId":"get_threats_geo_v1_analytics_threats_geo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Get Threats Geo V1 Analytics Threats Geo Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/threats/heatmap":{"get":{"tags":["analytics"],"summary":"Get Threats Heatmap","description":"Time-based heatmap of attacks by hour of day and day of week.","operationId":"get_threats_heatmap_v1_analytics_threats_heatmap_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Threats Heatmap V1 Analytics Threats Heatmap Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/dashboard/export":{"get":{"tags":["analytics"],"summary":"Export Dashboard","description":"Generate and export a real PDF report of dashboard metrics.","operationId":"export_dashboard_v1_analytics_dashboard_export_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/evaluate":{"post":{"tags":["agent-security"],"summary":"Evaluate Agent Security","operationId":"evaluate_agent_security_v1_agent_security_evaluate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityEvaluateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityEvaluateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/events":{"get":{"tags":["agent-security"],"summary":"List Agent Security Events","operationId":"list_agent_security_events_v1_agent_security_events_get","parameters":[{"name":"verdict","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Verdict"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Severity"}},{"name":"surface","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Surface"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentSecurityEventResponse"},"title":"Response List Agent Security Events V1 Agent Security Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/events/{event_id}":{"get":{"tags":["agent-security"],"summary":"Get Agent Security Event","operationId":"get_agent_security_event_v1_agent_security_events__event_id__get","parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"integer","title":"Event Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityEventResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/policy":{"get":{"tags":["agent-security"],"summary":"Get Agent Security Policy","operationId":"get_agent_security_policy_v1_agent_security_policy_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityPolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-security"],"summary":"Patch Agent Security Policy","operationId":"patch_agent_security_policy_v1_agent_security_policy_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityPolicyPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityPolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/redteam/run":{"post":{"tags":["agent-security"],"summary":"Run Agent Security Redteam","description":"AGENT-05: execute a redteam suite. With no `suite_name` the canonical\nin-memory default suite runs; with `suite_name=<x>` the org's custom\n`AgentRedteamSuite` row is used instead. Every scenario goes through\n`agent_security_runtime.evaluate(persist=True)` so every invocation\nalso produces real `AgentSecurityEvent` rows.","operationId":"run_agent_security_redteam_v1_agent_security_redteam_run_post","parameters":[{"name":"suite_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Suite Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Run Agent Security Redteam V1 Agent Security Redteam Run Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/redteam/runs":{"get":{"tags":["agent-security"],"summary":"List Redteam Runs","operationId":"list_redteam_runs_v1_agent_security_redteam_runs_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Redteam Runs V1 Agent Security Redteam Runs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/redteam/runs/{run_id}":{"get":{"tags":["agent-security"],"summary":"Get Redteam Run","operationId":"get_redteam_run_v1_agent_security_redteam_runs__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"integer","title":"Run Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Redteam Run V1 Agent Security Redteam Runs  Run Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/redteam/runs/{run_id}/export":{"get":{"tags":["agent-security"],"summary":"Export Redteam Run","description":"AGENT-05 export: stable JSON envelope suitable for compliance\narchiving / SOC2 evidence. Includes run, policy snapshot, results,\nand contributing event_ids so an auditor can verify the chain.","operationId":"export_redteam_run_v1_agent_security_redteam_runs__run_id__export_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"integer","title":"Run Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Export Redteam Run V1 Agent Security Redteam Runs  Run Id  Export Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/tools":{"get":{"tags":["agent-security"],"summary":"List Agent Tool Policies","operationId":"list_agent_tool_policies_v1_agent_security_tools_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentToolPolicyItem"},"title":"Response List Agent Tool Policies V1 Agent Security Tools Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agent-security"],"summary":"Upsert Agent Tool Policy","description":"AGENT-03: register or update a per-org tool policy. Idempotent on\n`(org_id, tool_name)`. Audit-bound on every mutation. Operator-only.","operationId":"upsert_agent_tool_policy_v1_agent_security_tools_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolPolicyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolPolicyItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/tools/{tool_policy_id}":{"delete":{"tags":["agent-security"],"summary":"Revoke Agent Tool Policy","operationId":"revoke_agent_tool_policy_v1_agent_security_tools__tool_policy_id__delete","parameters":[{"name":"tool_policy_id","in":"path","required":true,"schema":{"type":"integer","title":"Tool Policy Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentToolPolicyItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/alerts/config":{"get":{"tags":["agent-security"],"summary":"Get Agent Security Alerts Config","description":"AGENT-06 closure: read-only aggregator showing where agent-security\nblock / step-up alerts are routed for this org. The actual admin-\nchannel binding lives on the per-platform link rows\n(`TelegramLinkedGroup.admin_chat_id`,\n`DiscordLinkedServer.notify_admin_channel_id`,\n`SlackLinkedWorkspace.admin_channel_id`). This endpoint surfaces all\nof them in one place so operators know which destinations are wired.\n\nPer-platform dispatch on block-verdict is owned by the response\nengine + webhook_dispatch; this aggregator is the configuration\nsurface, not the dispatch layer.","operationId":"get_agent_security_alerts_config_v1_agent_security_alerts_config_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Agent Security Alerts Config V1 Agent Security Alerts Config Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/memory/{memory_id}/quarantine":{"post":{"tags":["agent-security"],"summary":"Quarantine Memory Entry","operationId":"quarantine_memory_entry_v1_agent_security_memory__memory_id__quarantine_post","parameters":[{"name":"memory_id","in":"path","required":true,"schema":{"type":"string","title":"Memory Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Quarantine Memory Entry V1 Agent Security Memory  Memory Id  Quarantine Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/redteam/suites":{"post":{"tags":["agent-security"],"summary":"Upload Redteam Suite","description":"AGENT-05 custom suite uploader. Operators can author a suite of\nredteam scenarios and run it against the agent-security runtime\nvia `POST /redteam/run?suite_name=<name>`. Suites are per-org;\nupserts on (org, name).","operationId":"upload_redteam_suite_v1_agent_security_redteam_suites_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_RedteamSuiteCreateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Upload Redteam Suite V1 Agent Security Redteam Suites Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-security"],"summary":"List Redteam Suites","operationId":"list_redteam_suites_v1_agent_security_redteam_suites_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Redteam Suites V1 Agent Security Redteam Suites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/redteam/suites/{suite_id}":{"delete":{"tags":["agent-security"],"summary":"Revoke Redteam Suite","operationId":"revoke_redteam_suite_v1_agent_security_redteam_suites__suite_id__delete","parameters":[{"name":"suite_id","in":"path","required":true,"schema":{"type":"integer","title":"Suite Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Revoke Redteam Suite V1 Agent Security Redteam Suites  Suite Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/alerts/overrides":{"post":{"tags":["agent-security"],"summary":"Upsert Alert Override","description":"AGENT-06 per-platform override: set `mute_until` and/or\n`severity_threshold` for a specific (platform, resource_id) pair.","operationId":"upsert_alert_override_v1_agent_security_alerts_overrides_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_AlertOverrideBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Upsert Alert Override V1 Agent Security Alerts Overrides Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-security"],"summary":"List Alert Overrides","operationId":"list_alert_overrides_v1_agent_security_alerts_overrides_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Alert Overrides V1 Agent Security Alerts Overrides Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/alerts/overrides/{override_id}":{"delete":{"tags":["agent-security"],"summary":"Delete Alert Override","operationId":"delete_alert_override_v1_agent_security_alerts_overrides__override_id__delete","parameters":[{"name":"override_id","in":"path","required":true,"schema":{"type":"integer","title":"Override Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Delete Alert Override V1 Agent Security Alerts Overrides  Override Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/agents":{"post":{"tags":["agent-security"],"summary":"Register Agent Identity","description":"Register or re-register an AI agent identity (computes its fingerprint).","operationId":"register_agent_identity_v1_agent_security_agents_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRegisterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentIdentityItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-security"],"summary":"List Agent Identities","operationId":"list_agent_identities_v1_agent_security_agents_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentIdentityItem"},"title":"Response List Agent Identities V1 Agent Security Agents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/agents/{agent_id}":{"get":{"tags":["agent-security"],"summary":"Get Agent Identity","operationId":"get_agent_identity_v1_agent_security_agents__agent_id__get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"integer","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentIdentityItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/agents/{agent_id}/observe":{"post":{"tags":["agent-security"],"summary":"Observe Agent Identity","description":"Submit a behavioural observation — scores drift + clone reuse, learns the\nbaseline, and emits an agent-security alert when either signal is high.","operationId":"observe_agent_identity_v1_agent_security_agents__agent_id__observe_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"integer","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentObserveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentObserveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/agents/{agent_id}/rotate":{"post":{"tags":["agent-security"],"summary":"Rotate Agent Identity","description":"Rotate an agent identity after a suspected compromise (admin, reasoned).","operationId":"rotate_agent_identity_v1_agent_security_agents__agent_id__rotate_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"integer","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRotateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentIdentityItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/policy/templates":{"get":{"tags":["agent-security"],"summary":"Get Agent Security Policy Templates","operationId":"get_agent_security_policy_templates_v1_agent_security_policy_templates_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PolicyTemplateItem"},"title":"Response Get Agent Security Policy Templates V1 Agent Security Policy Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/policy/apply-template":{"post":{"tags":["agent-security"],"summary":"Apply Agent Security Policy Template","operationId":"apply_agent_security_policy_template_v1_agent_security_policy_apply_template_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSecurityPolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-security/policy/export":{"get":{"tags":["agent-security"],"summary":"Export Agent Security Policy","description":"Export the org's agent-security policy + active agent fingerprints as an\nintegrity-tagged bundle the SDK can enforce locally.","operationId":"export_agent_security_policy_v1_agent_security_policy_export_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyExportBundle"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/profiles":{"get":{"tags":["identity_core"],"summary":"Get Identity Profiles","operationId":"get_identity_profiles_v1_identity_profiles_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Identity Profiles V1 Identity Profiles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/keys":{"get":{"tags":["identity_core"],"summary":"List Identity Keys","operationId":"list_identity_keys_v1_identity_keys_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentityKeyResponse"},"title":"Response List Identity Keys V1 Identity Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/keys/{key_id}/status":{"post":{"tags":["identity_core"],"summary":"Update Identity Key Status","operationId":"update_identity_key_status_v1_identity_keys__key_id__status_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityKeyStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/signatures":{"get":{"tags":["identity_core"],"summary":"List Identity Signatures","operationId":"list_identity_signatures_v1_identity_signatures_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"artifact_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artifact Type"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentitySignatureResponse"},"title":"Response List Identity Signatures V1 Identity Signatures Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/verify":{"post":{"tags":["identity_core"],"summary":"Verify Identity Signature","operationId":"verify_identity_signature_v1_identity_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/profiles/registry":{"get":{"tags":["identity_core"],"summary":"Get Profiles Registry","description":"PQ-01 closure: surface the crypto-agility profile registry. Lists all\nprofiles known to the platform with their state (`active` /\n`deprecated` / `revoked`) and the compatibility matrix. Today there\nis one active profile (`sl-hybrid-pq-v1`); the registry shape is\nforward-compatible so the next profile (e.g. `sl-hybrid-pq-v2`)\nappears alongside without changing the client contract.\n\nCompatibility matrix declares which artifact-types each profile\nsigns and which it is permitted to verify (older profiles must\nremain verify-capable so historical artefacts don't lose chain-\nof-custody when the active profile rotates).","operationId":"get_profiles_registry_v1_identity_profiles_registry_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Profiles Registry V1 Identity Profiles Registry Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/keys/rotate":{"post":{"tags":["identity_core"],"summary":"Rotate Identity Key","description":"PQ-02 closure: deprecate any other active identity keys for this\norg and re-anchor the canonical key_id from the underlying\n`hybrid_signer.key_metadata()` material. Audits the rotation event\non every key transition. Operator-only.\n\nNote on physical key material: rotating the underlying Ed25519 +\nML-DSA key files is an ops task (regenerate `audit_keys_path/v1`\ndirectory + restart workers). This endpoint controls the LOGICAL\nrotation surface — the chain-of-custody record that proves who\nrequested rotation, when, and why. Physical regeneration is\ncaptured in BP-20 #9.","operationId":"rotate_identity_key_v1_identity_keys_rotate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityKeyRotateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/.well-known/public-keys":{"get":{"tags":["identity_core_public"],"summary":"Public Well Known Keys","description":"PQ-04 closure: public, unauthenticated endpoint exposing active\npublic key material so external partners (Reputation API\nconsumers, SIEM verifiers, regulators auditing an Evidence Pack)\ncan verify SecuriLayer-signed artefacts without a SecuriLayer\naccount.\n\nReturns: profile, key_id, classic public key (b64), pqc public\nkey (b64), pqc_available, public_material_hash. Never returns\nsecret material. Refreshes the platform-scoped IdentityKey row\nso the registry is consistent.","operationId":"public_well_known_keys_v1_identity__well_known_public_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Public Well Known Keys V1 Identity  Well Known Public Keys Get"}}}}}}},"/v1/identity/.well-known/jwks.json":{"get":{"tags":["identity_core_public"],"summary":"Public Jwks","description":"RFC 7517 JSON Web Key Set adapter for the active SecuriLayer signing\nkey. The SecuriLayer-native shape at `/.well-known/public-keys`\nremains the canonical surface; this is the JWKS-compatible mirror\nthat B2B / Reputation API SDK consumers expect by convention.\n\nCaveats:\n  * `kty=OKP` + `crv=Ed25519` per RFC 8037 for the classical key.\n  * The PQC ML-DSA-65 key is exposed as a non-standard `pqc-ml-dsa-65`\n    key entry — JOSE/JWKS does not standardize ML-DSA yet (NIST\n    FIPS 204 finalized but JWA registration pending). A consumer\n    that only understands the classical key is still verification-\n    capable; PQC-aware consumers consume the second entry.\n  * `alg=EdDSA` is the IANA-registered JWS algorithm name for\n    Ed25519. PQC entry uses `ml-dsa-65` as the proposed identifier.\n  * Never returns secret material.","operationId":"public_jwks_v1_identity__well_known_jwks_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Public Jwks V1 Identity  Well Known Jwks Json Get"}}}}}}},"/v1/identity/public-verify":{"post":{"tags":["identity_core_public"],"summary":"Public Verify","description":"PQ-04 closure: public, unauthenticated verification endpoint.\nAnyone holding a SecuriLayer-signed payload + signature envelope\ncan verify it here without a session. The verifier never reveals\norg_id; verification is purely cryptographic.","operationId":"public_verify_v1_identity_public_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/extend-7days":{"post":{"tags":["billing"],"summary":"Extend Subscription 7Days","description":"Extends subscription by 7 days.\nOnly available if subscription has expired.\nLimit: 1 time per month.","operationId":"extend_subscription_7days_v1_billing_extend_7days_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Extend Subscription 7Days V1 Billing Extend 7Days Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/credits":{"get":{"tags":["billing"],"summary":"Get Credits Balance","operationId":"get_credits_balance_v1_billing_credits_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Credits Balance V1 Billing Credits Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/subscription":{"get":{"tags":["billing"],"summary":"Get Subscription Info","operationId":"get_subscription_info_v1_billing_subscription_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Subscription Info V1 Billing Subscription Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/jobs/status":{"get":{"tags":["admin_jobs"],"summary":"Get Jobs Status","description":"Enterprise Observability: Status of background jobs.\nCombines real DB state for ML Retraining with high-fidelity mocks for infrastructure tasks.","operationId":"get_jobs_status_v1_admin_jobs_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Get Jobs Status V1 Admin Jobs Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/approvals":{"post":{"tags":["approvals"],"summary":"Create Approval Request","description":"Создать заявку на опасное действие. Утверждает другой пользователь (admin_a/admin_b).","operationId":"create_approval_request_v1_approvals_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApprovalRequestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["approvals"],"summary":"List Approval Requests","description":"Список заявок организации. Опционально ?status=pending.","operationId":"list_approval_requests_v1_approvals_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalRequestResponse"},"title":"Response List Approval Requests V1 Approvals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/approvals/{request_id}":{"get":{"tags":["approvals"],"summary":"Get Approval Request","description":"Получить заявку по request_id. Только свой org.","operationId":"get_approval_request_v1_approvals__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/approvals/{request_id}/approve":{"post":{"tags":["approvals"],"summary":"Approve Request","description":"Утвердить заявку. Только пользователь с ролью admin_a или admin_b; не может утвердить свою заявку.","operationId":"approve_request_v1_approvals__request_id__approve_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/approvals/{request_id}/reject":{"post":{"tags":["approvals"],"summary":"Reject Request","description":"Отклонить заявку. Только admin_a/admin_b.","operationId":"reject_request_v1_approvals__request_id__reject_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectApprovalRequestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks":{"post":{"tags":["webhooks"],"summary":"Create Webhook","description":"Создать webhook. Secret возвращается только в этом ответе.","operationId":"create_webhook_v1_webhooks_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["webhooks"],"summary":"List Webhooks","description":"Список webhook'ов организации. По умолчанию только активные.","operationId":"list_webhooks_v1_webhooks_get","parameters":[{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active Only"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookConfigResponse"},"title":"Response List Webhooks V1 Webhooks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/deliveries":{"get":{"tags":["webhooks"],"summary":"List Deliveries","operationId":"list_deliveries_v1_webhooks_deliveries_get","parameters":[{"name":"webhook_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Webhook Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryLogResponse"},"title":"Response List Deliveries V1 Webhooks Deliveries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/deliveries/by-webhook":{"get":{"tags":["webhooks"],"summary":"List Deliveries By Webhook","operationId":"list_deliveries_by_webhook_v1_webhooks_deliveries_by_webhook_get","parameters":[{"name":"per_webhook","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Per Webhook"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryLogBucket"},"title":"Response List Deliveries By Webhook V1 Webhooks Deliveries By Webhook Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/{webhook_id}":{"get":{"tags":["webhooks"],"summary":"Get Webhook","description":"Один webhook (без secret).","operationId":"get_webhook_v1_webhooks__webhook_id__get","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["webhooks"],"summary":"Revoke Webhook","description":"Отозвать webhook (is_active=False).","operationId":"revoke_webhook_v1_webhooks__webhook_id__delete","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/{webhook_id}/rotate":{"post":{"tags":["webhooks"],"summary":"Rotate Webhook","description":"Выдать новый secret. Старый перестаёт работать. Новый secret только в ответе.","operationId":"rotate_webhook_v1_webhooks__webhook_id__rotate_post","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateWebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/{webhook_id}/test-delivery":{"post":{"tags":["webhooks"],"summary":"Test Delivery","description":"Отправить тестовый signed webhook в configured URL.\nИспользуется для проверки HMAC и reachability без ожидания real incident pipeline.","operationId":"test_delivery_v1_webhooks__webhook_id__test_delivery_post","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"integer","title":"Webhook Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestWebhookDeliveryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestWebhookDeliveryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/webhooks/deliveries/{request_id}/retry":{"post":{"tags":["webhooks"],"summary":"Retry Delivery","operationId":"retry_delivery_v1_webhooks_deliveries__request_id__retry_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestWebhookDeliveryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/siem":{"get":{"tags":["export"],"summary":"Export Siem","description":"Экспорт событий для SIEM. Tenant-aware: в каждом событии org_id, tenant_id.\nformat=json (тело ответа — JSON).","operationId":"export_siem_v1_export_siem_get","parameters":[{"name":"from_ts","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO datetime from","title":"From Ts"},"description":"ISO datetime from"},{"name":"to_ts","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO datetime to","title":"To Ts"},"description":"ISO datetime to"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"default":1000,"title":"Limit"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"json or jsonl","default":"json","title":"Format"},"description":"json or jsonl"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Export Siem V1 Export Siem Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/siem/history":{"get":{"tags":["export"],"summary":"List Siem History","operationId":"list_siem_history_v1_export_siem_history_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":30,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemExportHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/siem/history/{request_id}/retry":{"post":{"tags":["export"],"summary":"Retry Siem History Export","operationId":"retry_siem_history_export_v1_export_siem_history__request_id__retry_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemExportRetryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/siem/verify":{"post":{"tags":["export"],"summary":"Verify Siem Export Bundle","operationId":"verify_siem_export_bundle_v1_export_siem_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemVerifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/siem/preview":{"post":{"tags":["export"],"summary":"Preview Siem Event","operationId":"preview_siem_event_v1_export_siem_preview_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemPreviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/siem/test-connection":{"post":{"tags":["export"],"summary":"Test Siem Connection","operationId":"test_siem_connection_v1_export_siem_test_connection_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemTestConnectionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiemTestConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/siem/attack-timeline":{"get":{"tags":["siem_events"],"summary":"Get Attack Timeline","operationId":"get_attack_timeline_v1_siem_attack_timeline_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":720,"minimum":1,"description":"Hours to look back","default":168,"title":"Hours"},"description":"Hours to look back"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Attack Timeline V1 Siem Attack Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/siem/forensic-export":{"get":{"tags":["siem_events"],"summary":"Get Forensic Export","operationId":"get_forensic_export_v1_siem_forensic_export_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":720,"minimum":1,"description":"Hours to look back","default":168,"title":"Hours"},"description":"Hours to look back"},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"Export format: json or cef","default":"json","title":"Format"},"description":"Export format: json or cef"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Forensic Export V1 Siem Forensic Export Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/siem/events":{"get":{"tags":["siem_events"],"summary":"List Siem Events Route","operationId":"list_siem_events_route_v1_siem_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Siem Events Route V1 Siem Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/siem/correlation/campaigns":{"get":{"tags":["siem_events"],"summary":"List Campaigns","description":"Event correlation: group events from same IP/wallet into campaigns.","operationId":"list_campaigns_v1_siem_correlation_campaigns_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":7,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Campaigns V1 Siem Correlation Campaigns Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/siem/correlation/timeline/{campaign_id}":{"get":{"tags":["siem_events"],"summary":"Campaign Timeline","description":"Attack timeline: chronology of attack with platform icons.","operationId":"campaign_timeline_v1_siem_correlation_timeline__campaign_id__get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Campaign Timeline V1 Siem Correlation Timeline  Campaign Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/siem/cross-ban/status":{"get":{"tags":["siem_events"],"summary":"Get Cross Ban Status","description":"Returns the polling status for cross-platform bans.","operationId":"get_cross_ban_status_v1_siem_cross_ban_status_get","parameters":[{"name":"threat_actor_id","in":"query","required":true,"schema":{"type":"string","title":"Threat Actor Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Cross Ban Status V1 Siem Cross Ban Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/siem/cross-ban":{"post":{"tags":["siem_events"],"summary":"Cross Ban Everywhere","operationId":"cross_ban_everywhere_v1_siem_cross_ban_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrossBanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrossBanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/payments/history":{"get":{"tags":["payments"],"summary":"Payments History","operationId":"payments_history_v1_payments_history_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PaymentHistoryItem"},"title":"Response Payments History V1 Payments History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/payments/crypto/addon":{"post":{"tags":["payments"],"summary":"Create Crypto Addon Link","description":"Create a NOWPayments invoice for a Product Add-on SKU. Activation\nvia the same `/crypto/webhook` handler — webhook detects add-on\nSKU and creates SubscriptionAddon instead of Subscription.","operationId":"create_crypto_addon_link_v1_payments_crypto_addon_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAddonLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCryptoLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/payments/crypto/link":{"post":{"tags":["payments"],"summary":"Create Crypto Payment Link","description":"Create a NOWPayments invoice. Returns invoice_url for redirect to hosted payment page.","operationId":"create_crypto_payment_link_v1_payments_crypto_link_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCryptoLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCryptoLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/payments/crypto/invoice/{provider_payment_id}":{"get":{"tags":["payments"],"summary":"Get Crypto Invoice Status","description":"Poll current user's crypto invoice status from WebApp.","operationId":"get_crypto_invoice_status_v1_payments_crypto_invoice__provider_payment_id__get","parameters":[{"name":"provider_payment_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Payment Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CryptoInvoiceStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/payments/{invoice_id}/sync":{"post":{"tags":["payments"],"summary":"Sync Payment Status","description":"Manual trigger to sync payment status from NOWPayments if webhook is delayed.","operationId":"sync_payment_status_v1_payments__invoice_id__sync_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Sync Payment Status V1 Payments  Invoice Id  Sync Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/payments/crypto/webhook":{"post":{"tags":["payments"],"summary":"Crypto Webhook","description":"NOWPayments IPN webhook. HMAC-SHA512 verified, idempotent, transactional.\n- Verifies x-nowpayments-sig header against body using IPN secret\n- Idempotency by payment_id in PaymentWebhookEvent\n- Only activates subscription on finished/confirmed status\n- Handles partially_paid, expired, failed gracefully","operationId":"crypto_webhook_v1_payments_crypto_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Crypto Webhook V1 Payments Crypto Webhook Post"}}}}}}},"/v1/payments/reconcile":{"post":{"tags":["payments"],"summary":"Reconcile Payment","operationId":"reconcile_payment_v1_payments_reconcile_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconcilePaymentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReconcilePaymentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/balance":{"get":{"tags":["credits"],"summary":"Get Credits Balance","operationId":"get_credits_balance_v1_credits_balance_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditsBalanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/packages":{"get":{"tags":["credits"],"summary":"Get Credit Packages","operationId":"get_credit_packages_v1_credits_packages_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditsPackagesResponse"}}}}}}},"/v1/credits/topup":{"post":{"tags":["credits"],"summary":"Create Credit Topup","operationId":"create_credit_topup_v1_credits_topup_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditTopupRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditTopupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/topup/webhook":{"post":{"tags":["credits"],"summary":"Credits Topup Webhook","operationId":"credits_topup_webhook_v1_credits_topup_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Credits Topup Webhook V1 Credits Topup Webhook Post"}}}}}}},"/v1/credits/refund":{"post":{"tags":["credits"],"summary":"Request Credits Refund","operationId":"request_credits_refund_v1_credits_refund_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRefundRequestIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRefundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/refund/status":{"get":{"tags":["credits"],"summary":"Latest Refund Status","operationId":"latest_refund_status_v1_credits_refund_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Latest Refund Status V1 Credits Refund Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/usage":{"get":{"tags":["credits"],"summary":"Credits Usage","operationId":"credits_usage_v1_credits_usage_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditsUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/enterprise/inquiry":{"post":{"tags":["enterprise"],"summary":"Submit Inquiry","description":"Submit an enterprise inquiry.\nIdempotent: returns existing inquiry if already submitted for this email in this org.","operationId":"submit_inquiry_v1_enterprise_inquiry_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InquiryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Submit Inquiry V1 Enterprise Inquiry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/enterprise/":{"get":{"tags":["enterprise"],"summary":"Enterprise Root","operationId":"enterprise_root_v1_enterprise__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Enterprise Root V1 Enterprise  Get"}}}}}}},"/v1/sdr/auth/login":{"post":{"tags":["sdr"],"summary":"Sdr Login","operationId":"sdr_login_v1_sdr_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdrAuthLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdrAuthMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/auth/me":{"get":{"tags":["sdr"],"summary":"Sdr Me","operationId":"sdr_me_v1_sdr_auth_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdrAuthMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/auth/logout":{"post":{"tags":["sdr"],"summary":"Sdr Logout","operationId":"sdr_logout_v1_sdr_auth_logout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Sdr Logout V1 Sdr Auth Logout Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/track-click":{"post":{"tags":["sdr"],"summary":"Track Click","operationId":"track_click_v1_sdr_track_click_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackClickRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackClickResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/c/{ref_code}":{"get":{"tags":["sdr"],"summary":"Redirect Referral Click","operationId":"redirect_referral_click_v1_sdr_c__ref_code__get","parameters":[{"name":"ref_code","in":"path","required":true,"schema":{"type":"string","title":"Ref Code"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","maxLength":1024,"default":"/","title":"To"}},{"name":"subid","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Subid"}},{"name":"source","in":"query","required":false,"schema":{"type":"string","maxLength":64,"default":"link","title":"Source"}},{"name":"cid","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/dashboard":{"get":{"tags":["sdr"],"summary":"Sdr Dashboard","operationId":"sdr_dashboard_v1_sdr_dashboard_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/leads":{"get":{"tags":["sdr"],"summary":"List Referrals Leads","operationId":"list_referrals_leads_v1_sdr_leads_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LeadOut"},"title":"Response List Referrals Leads V1 Sdr Leads Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/referrals":{"get":{"tags":["sdr"],"summary":"List Referrals","operationId":"list_referrals_v1_sdr_referrals_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReferralLinkOut"},"title":"Response List Referrals V1 Sdr Referrals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["sdr"],"summary":"Create Referral","operationId":"create_referral_v1_sdr_referrals_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReferralLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralLinkOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/referrals/{ref_id}":{"delete":{"tags":["sdr"],"summary":"Deactivate Referral","operationId":"deactivate_referral_v1_sdr_referrals__ref_id__delete","parameters":[{"name":"ref_id","in":"path","required":true,"schema":{"type":"integer","title":"Ref Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Deactivate Referral V1 Sdr Referrals  Ref Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/conversions":{"get":{"tags":["sdr"],"summary":"List Conversions","operationId":"list_conversions_v1_sdr_conversions_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LeadOut"},"title":"Response List Conversions V1 Sdr Conversions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/payouts":{"get":{"tags":["sdr"],"summary":"List Payouts","operationId":"list_payouts_v1_sdr_payouts_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayoutOut"},"title":"Response List Payouts V1 Sdr Payouts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/request-payout":{"post":{"tags":["sdr"],"summary":"Request Payout","operationId":"request_payout_v1_sdr_request_payout_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RequestPayoutInput"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestPayoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/payout-webhook":{"post":{"tags":["sdr"],"summary":"Payout Webhook","operationId":"payout_webhook_v1_sdr_payout_webhook_post","parameters":[{"name":"payout_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Payout Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Payout Webhook V1 Sdr Payout Webhook Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/postback-url":{"patch":{"tags":["sdr"],"summary":"Set Postback Url","operationId":"set_postback_url_v1_sdr_postback_url_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPostbackUrlRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Set Postback Url V1 Sdr Postback Url Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/creatives":{"get":{"tags":["sdr"],"summary":"Get Creatives","operationId":"get_creatives_v1_sdr_creatives_get","parameters":[{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Region"}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Language"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Channel"}},{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Format"}},{"name":"plan_target","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Plan Target"}},{"name":"funnel_stage","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Funnel Stage"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CreativeOut"},"title":"Response Get Creatives V1 Sdr Creatives Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/creatives/catalog":{"get":{"tags":["sdr"],"summary":"Get Creatives Catalog","operationId":"get_creatives_catalog_v1_sdr_creatives_catalog_get","parameters":[{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Region"}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Language"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Channel"}},{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Format"}},{"name":"plan_target","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Plan Target"}},{"name":"funnel_stage","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Funnel Stage"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Creatives Catalog V1 Sdr Creatives Catalog Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/creatives/{creative_id}/download":{"get":{"tags":["sdr"],"summary":"Download Creative","operationId":"download_creative_v1_sdr_creatives__creative_id__download_get","parameters":[{"name":"creative_id","in":"path","required":true,"schema":{"type":"integer","title":"Creative Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/creatives/{creative_id}/embed-snippet":{"get":{"tags":["sdr"],"summary":"Get Creative Embed Snippet","operationId":"get_creative_embed_snippet_v1_sdr_creatives__creative_id__embed_snippet_get","parameters":[{"name":"creative_id","in":"path","required":true,"schema":{"type":"integer","title":"Creative Id"}},{"name":"ref_code","in":"query","required":true,"schema":{"type":"string","title":"Ref Code"}},{"name":"sub1","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub1"}},{"name":"sub2","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub2"}},{"name":"sub3","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub3"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeSnippetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/links":{"get":{"tags":["sdr"],"summary":"List Referral Links","operationId":"list_referral_links_v1_sdr_links_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReferralLinkOut"},"title":"Response List Referral Links V1 Sdr Links Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["sdr"],"summary":"Create Referral Link","operationId":"create_referral_link_v1_sdr_links_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReferralLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralLinkOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/links/catalog":{"get":{"tags":["sdr"],"summary":"List Referral Links Catalog","operationId":"list_referral_links_catalog_v1_sdr_links_catalog_get","parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Referral Links Catalog V1 Sdr Links Catalog Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/links/{ref_id}":{"delete":{"tags":["sdr"],"summary":"Deactivate Referral Link","operationId":"deactivate_referral_link_v1_sdr_links__ref_id__delete","parameters":[{"name":"ref_id","in":"path","required":true,"schema":{"type":"integer","title":"Ref Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Deactivate Referral Link V1 Sdr Links  Ref Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/links/{ref_id}/label":{"put":{"tags":["sdr"],"summary":"Update Referral Link Label","operationId":"update_referral_link_label_v1_sdr_links__ref_id__label_put","parameters":[{"name":"ref_id","in":"path","required":true,"schema":{"type":"integer","title":"Ref Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateReferralLabelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Update Referral Link Label V1 Sdr Links  Ref Id  Label Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/wallet":{"get":{"tags":["sdr"],"summary":"Get Wallet","operationId":"get_wallet_v1_sdr_wallet_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["sdr"],"summary":"Set Wallet","operationId":"set_wallet_v1_sdr_wallet_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetWalletRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["sdr"],"summary":"Set Wallet","operationId":"set_wallet_v1_sdr_wallet_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetWalletRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/wallet/confirm":{"post":{"tags":["sdr"],"summary":"Confirm Wallet","operationId":"confirm_wallet_v1_sdr_wallet_confirm_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmWalletRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/conversions-timeline":{"get":{"tags":["sdr"],"summary":"Get Conversions Timeline","description":"Return time-series data for conversions chart (clicks, signups, paid).","operationId":"get_conversions_timeline_v1_sdr_conversions_timeline_get","parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"30d","title":"Period"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionTimelineOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/tier":{"get":{"tags":["sdr"],"summary":"Get Sdr Tier","description":"Return current SDR tier, progress to next tier, and benefits.","operationId":"get_sdr_tier_v1_sdr_tier_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SdrTierOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/l2/invite":{"get":{"tags":["sdr"],"summary":"Get L2 Invite","operationId":"get_l2_invite_v1_sdr_l2_invite_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/L2InviteOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sdr/l2-partners":{"get":{"tags":["sdr"],"summary":"List L2 Partners","description":"Return list of L2 partners (SDRs recruited by this user) and passive income.","operationId":"list_l2_partners_v1_sdr_l2_partners_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/L2PartnerOut"},"title":"Response List L2 Partners V1 Sdr L2 Partners Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/summary":{"get":{"tags":["sdr-admin"],"summary":"Admin Sdr Summary","operationId":"admin_sdr_summary_v1_admin_sdr_summary_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSdrSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/referrals":{"get":{"tags":["sdr-admin"],"summary":"Admin List Referrals","operationId":"admin_list_referrals_v1_admin_sdr_referrals_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminReferralOut"},"title":"Response Admin List Referrals V1 Admin Sdr Referrals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["sdr-admin"],"summary":"Admin Create Sdr Referral","operationId":"admin_create_sdr_referral_v1_admin_sdr_referrals_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSdrReferralCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSdrReferralOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/conversions":{"get":{"tags":["sdr-admin"],"summary":"Admin List Conversions","operationId":"admin_list_conversions_v1_admin_sdr_conversions_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminConversionOut"},"title":"Response Admin List Conversions V1 Admin Sdr Conversions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/payouts":{"get":{"tags":["sdr-admin"],"summary":"Admin List Payouts","operationId":"admin_list_payouts_v1_admin_sdr_payouts_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminPayoutOut"},"title":"Response Admin List Payouts V1 Admin Sdr Payouts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/payouts/{payout_id}/action":{"post":{"tags":["sdr-admin"],"summary":"Admin Payout Action","operationId":"admin_payout_action_v1_admin_sdr_payouts__payout_id__action_post","parameters":[{"name":"payout_id","in":"path","required":true,"schema":{"type":"integer","title":"Payout Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPayoutOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/referrals/leads":{"get":{"tags":["sdr-admin"],"summary":"Admin List Sdr Leads","operationId":"admin_list_sdr_leads_v1_admin_sdr_referrals_leads_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdminSdrReferralOut"},"title":"Response Admin List Sdr Leads V1 Admin Sdr Referrals Leads Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/referrals/{referral_id}/action":{"post":{"tags":["sdr-admin"],"summary":"Admin Sdr Referral Action","operationId":"admin_sdr_referral_action_v1_admin_sdr_referrals__referral_id__action_post","parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"integer","title":"Referral Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSdrReferralActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSdrReferralOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/creatives":{"get":{"tags":["sdr-admin"],"summary":"Admin List Creatives","operationId":"admin_list_creatives_v1_admin_sdr_creatives_get","parameters":[{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"}},{"name":"language","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"}},{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Format"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreativeListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["sdr-admin"],"summary":"Admin Create Creative","operationId":"admin_create_creative_v1_admin_sdr_creatives_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreativeUpsertRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreativeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/sdr/creatives/{creative_id}":{"put":{"tags":["sdr-admin"],"summary":"Admin Update Creative","operationId":"admin_update_creative_v1_admin_sdr_creatives__creative_id__put","parameters":[{"name":"creative_id","in":"path","required":true,"schema":{"type":"integer","title":"Creative Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreativeUpsertRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreativeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["sdr-admin"],"summary":"Admin Delete Creative","operationId":"admin_delete_creative_v1_admin_sdr_creatives__creative_id__delete","parameters":[{"name":"creative_id","in":"path","required":true,"schema":{"type":"integer","title":"Creative Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Admin Delete Creative V1 Admin Sdr Creatives  Creative Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/analytics/dashboard":{"get":{"tags":["admin-analytics"],"summary":"Admin Dashboard","operationId":"admin_dashboard_v1_admin_analytics_dashboard_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsDashboard"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/analytics/users":{"get":{"tags":["admin-analytics"],"summary":"Admin Users","description":"Full user list with current plan.","operationId":"admin_users_v1_admin_analytics_users_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserItem"},"title":"Response Admin Users V1 Admin Analytics Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/tenants":{"get":{"tags":["operator-admin"],"summary":"List Tenants","operationId":"list_tenants_v1_operator_tenants_get","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":64,"default":"","title":"Search"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":300,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorTenantItem"},"title":"Response List Tenants V1 Operator Tenants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/tenants/{org_id}/users":{"get":{"tags":["operator-admin"],"summary":"List Tenant Users","operationId":"list_tenant_users_v1_operator_tenants__org_id__users_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorUserItem"},"title":"Response List Tenant Users V1 Operator Tenants  Org Id  Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/impersonation/start":{"post":{"tags":["operator-admin"],"summary":"Start Impersonation","operationId":"start_impersonation_v1_operator_impersonation_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonationStartRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonationStartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/impersonation/resolve":{"post":{"tags":["operator-admin"],"summary":"Resolve Impersonation","operationId":"resolve_impersonation_v1_operator_impersonation_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonationResolveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonationResolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/impersonation/revoke":{"post":{"tags":["operator-admin"],"summary":"Revoke Impersonation","operationId":"revoke_impersonation_v1_operator_impersonation_revoke_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonationResolveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Revoke Impersonation V1 Operator Impersonation Revoke Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/decisions/stream":{"get":{"tags":["operator-admin"],"summary":"Decisions Stream","operationId":"decisions_stream_v1_operator_decisions_stream_get","parameters":[{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Org Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Channel"}},{"name":"verdict","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Verdict"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DecisionStreamItem"},"title":"Response Decisions Stream V1 Operator Decisions Stream Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/decisions/trace/{trace_id}":{"get":{"tags":["operator-admin"],"summary":"Decision Trace Detail","operationId":"decision_trace_detail_v1_operator_decisions_trace__trace_id__get","parameters":[{"name":"trace_id","in":"path","required":true,"schema":{"type":"string","title":"Trace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TraceDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/abuse/overview":{"get":{"tags":["operator-admin"],"summary":"Abuse Overview","operationId":"abuse_overview_v1_operator_abuse_overview_get","parameters":[{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Org Id"}},{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":168,"minimum":1,"default":24,"title":"Hours"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbuseOverviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/exec-dashboard":{"get":{"tags":["operator-admin"],"summary":"Exec Dashboard","description":"Founder executive dashboard — MRR/ARR, churn, ARPU, conversion by channel.\n\nW-03-R16. Superadmin only. Read-only aggregation over the billing tables.","operationId":"exec_dashboard_v1_operator_exec_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecDashboardResponse"}}}}}}},"/v1/operator/agent-identities":{"get":{"tags":["operator-admin"],"summary":"List Operator Agent Identities","description":"Operator cross-org view of registered AI-agent identities (W-03-R19).\n\nLists agent identities with their live clone-defense status (drift and\nclone-risk scores) so operators can spot a compromised or cloned agent\nacross every tenant.","operationId":"list_operator_agent_identities_v1_operator_agent_identities_get","parameters":[{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Org Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OperatorAgentIdentityItem"},"title":"Response List Operator Agent Identities V1 Operator Agent Identities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/deepfake-scans":{"get":{"tags":["operator-admin"],"summary":"List Operator Deepfake Scans","description":"Operator cross-org view of deepfake / synthetic-media risk scans (W-03-R20).\n\nLists media Decision Contracts with their verdict-derived risk band so\noperators can watch synthetic-media abuse across every tenant. The local\nensemble verdict is a risk signal, never a forensic determination.","operationId":"list_operator_deepfake_scans_v1_operator_deepfake_scans_get","parameters":[{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Org Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorDeepfakeScansResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/simulations/campaigns":{"get":{"tags":["operator-admin"],"summary":"List Operator Simulation Campaigns","description":"Operator cross-org view of phishing-simulation campaigns (W-5A).\n\nCloses the operator-view gap the audit-first pass identified on the\nS-02 simulations substack: 1284 lines across ``simulations.py`` +\n``simulations_s02.py``, ``SimulationCampaign`` / ``Target`` /\n``Template`` / ``TtpCatalog`` models, and 3 pre-existing test files\nwere already shipping, but operators had no consolidated cross-org\nview of campaign status, target volume and click / report rates.","operationId":"list_operator_simulation_campaigns_v1_operator_simulations_campaigns_get","parameters":[{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Org Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Status"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Platform"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorSimulationCampaignsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/reputation/snapshots":{"get":{"tags":["operator-admin"],"summary":"List Operator Reputation Snapshots","description":"Operator view of the system-wide aggregate stats snapshots (W-4E).\n\nCloses the operator-view gap on the S-09 reputation / public-stats\nsubstack (1164-line ``reputation.py``, 562 lines of cache / metering\n/ rate-limit services, ``public_stats.py`` + ``public_verifier.py``,\n8 pre-existing test files): operators had no consolidated view of\nthe rolled-up aggregate snapshots feeding the public dashboard.\n``latest_by_window`` is the most recent snapshot per ``window_kind``\n(hour / day / week / month); ``history`` is the time-ordered list.","operationId":"list_operator_reputation_snapshots_v1_operator_reputation_snapshots_get","parameters":[{"name":"window_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Window Kind"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorReputationSnapshotsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/threat-intel/consortium":{"get":{"tags":["operator-admin"],"summary":"List Operator Threat Intel Consortium","description":"Operator cross-org view of the consortium roster + share-tier\ndistribution (W-4D).\n\nCloses the operator-view gap the audit-first pass identified on the\nS-08 threat-intel substack: 636 lines across `taxii_s08.py` +\n`consortium_s08.py`, `IntelShareTier` / `ConsortiumMember` /\n`IntelAttributionLink` models and 5 test files were already\nshipping, but there was no operator-side roster + DPA-acceptance +\nshare-tier histogram (R19 / R20 / R13 / W-4B / W-4C all ship the\nequivalent for their substacks).","operationId":"list_operator_threat_intel_consortium_v1_operator_threat_intel_consortium_get","parameters":[{"name":"tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Tier"}},{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Active Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorThreatIntelConsortiumResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/agent-shield/corpus":{"get":{"tags":["operator-admin"],"summary":"List Operator Agent Shield Corpus","description":"Operator cross-org view of the adversarial corpus (W-4C).\n\nCloses the operator-view gap the audit-first pass on W-4C found —\n`AdversarialAttackCorpus` rows accumulate per-org (honeypot triggers,\nredteam suites, customer eval) and feed the S-05 ML retrain queue,\nbut no operator-side cross-org summary existed (R19 / R20 / R13 /\nW-4B all have an equivalent surface). Shows the by-attack-kind /\nby-source / by-severity breakdown and how many rows are still\nawaiting the next retrain run.","operationId":"list_operator_agent_shield_corpus_v1_operator_agent_shield_corpus_get","parameters":[{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Org Id"}},{"name":"attack_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Attack Kind"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Source"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorAgentShieldCorpusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/honeypots":{"get":{"tags":["operator-admin"],"summary":"List Operator Honeypot Triggers","description":"Operator cross-org view of honeypot triggers (W-4B).\n\nCloses the operator-view gap the audit-first pass on W-4B identified —\nthe existing R19 / R20 / R13 webadmin tabs all have an equivalent\ncross-org summary, but the honeypot trip pipeline only had per-tenant\nendpoints. This surface lists recent ``HoneypotTrigger`` rows with a\nby-threat-type / by-attack-vector summary so operators can spot\ncross-tenant attacker patterns.","operationId":"list_operator_honeypot_triggers_v1_operator_honeypots_get","parameters":[{"name":"org_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Org Id"}},{"name":"threat_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Threat Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorHoneypotsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/taxonomy/pending":{"get":{"tags":["operator-admin"],"summary":"List Pending Taxonomy Variants","description":"Operator view of queued taxonomy variants (W-03-R13).\n\nLists ``PendingScamVariant`` rows in the requested state (default\n``pending``) so an operator can review each variant's proposal basis\nand payload before approving or rejecting it. Approval activates the\nvariant into the running ``TaxonomyStore``; rejection records the\nreason and the variant never reaches runtime.","operationId":"list_pending_taxonomy_variants_v1_operator_taxonomy_pending_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"type":"string","maxLength":16,"default":"pending","title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PendingTaxonomyVariantItem"},"title":"Response List Pending Taxonomy Variants V1 Operator Taxonomy Pending Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/taxonomy/pending/{pending_id}/approve":{"post":{"tags":["operator-admin"],"summary":"Approve Pending Taxonomy Variant","description":"W-03-R13: approve a pending variant, activating it into the running\n``TaxonomyStore`` via ``add_variants(strict=True)``. The strict\nvalidator rejects malformed payloads with a 422.","operationId":"approve_pending_taxonomy_variant_v1_operator_taxonomy_pending__pending_id__approve_post","parameters":[{"name":"pending_id","in":"path","required":true,"schema":{"type":"integer","title":"Pending Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingTaxonomyReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Approve Pending Taxonomy Variant V1 Operator Taxonomy Pending  Pending Id  Approve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/taxonomy/pending/{pending_id}/reject":{"post":{"tags":["operator-admin"],"summary":"Reject Pending Taxonomy Variant","description":"W-03-R13: reject a pending variant — it never reaches the runtime.","operationId":"reject_pending_taxonomy_variant_v1_operator_taxonomy_pending__pending_id__reject_post","parameters":[{"name":"pending_id","in":"path","required":true,"schema":{"type":"integer","title":"Pending Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingTaxonomyReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Reject Pending Taxonomy Variant V1 Operator Taxonomy Pending  Pending Id  Reject Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/channels/diagnostics":{"get":{"tags":["operator-admin"],"summary":"Channels Diagnostics","operationId":"channels_diagnostics_v1_operator_channels_diagnostics_get","parameters":[{"name":"org_id","in":"query","required":true,"schema":{"type":"integer","minimum":1,"title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelDiagnosticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/subscriptions/{org_id}/transition":{"post":{"tags":["operator-admin"],"summary":"Transition Subscription","operationId":"transition_subscription_v1_operator_subscriptions__org_id__transition_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionTransitionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionTransitionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/quotas/{org_id}/reset":{"post":{"tags":["operator-admin"],"summary":"Operator Quota Reset","operationId":"operator_quota_reset_v1_operator_quotas__org_id__reset_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorQuotaResetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Operator Quota Reset V1 Operator Quotas  Org Id  Reset Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/orgs/{org_id}/entitlements":{"get":{"tags":["operator-admin"],"summary":"Get Org Entitlements State","operationId":"get_org_entitlements_state_v1_operator_orgs__org_id__entitlements_get","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgEntitlementsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/orgs/{org_id}/entitlements/api-enterprise":{"patch":{"tags":["operator-admin"],"summary":"Patch Api Enterprise Entitlement","operationId":"patch_api_enterprise_entitlement_v1_operator_orgs__org_id__entitlements_api_enterprise_patch","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntitlementToggleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgEntitlementsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/orgs/{org_id}/pilot/issue":{"post":{"tags":["operator-admin"],"summary":"Issue Org Pilot","operationId":"issue_org_pilot_v1_operator_orgs__org_id__pilot_issue_post","parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"integer","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PilotIssueRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PilotIssueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/logs":{"get":{"tags":["operator-admin"],"summary":"Operator Logs","operationId":"operator_logs_v1_operator_logs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Response Operator Logs V1 Operator Logs Get"}}}}}}},"/v1/operator/reseed-feeds":{"post":{"tags":["operator-admin"],"summary":"Reseed Feeds","operationId":"reseed_feeds_v1_operator_reseed_feeds_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Reseed Feeds V1 Operator Reseed Feeds Post"}}}}}}},"/v1/operator/auth/login":{"post":{"tags":["operator-auth"],"summary":"Operator Login","operationId":"operator_login_v1_operator_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Operator Login V1 Operator Auth Login Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/auth/setup-mfa":{"get":{"tags":["operator-auth"],"summary":"Operator Setup Mfa","operationId":"operator_setup_mfa_v1_operator_auth_setup_mfa_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Operator Setup Mfa V1 Operator Auth Setup Mfa Get"}}}}}}},"/v1/operator/auth/verify-mfa":{"post":{"tags":["operator-auth"],"summary":"Verify Mfa","operationId":"verify_mfa_v1_operator_auth_verify_mfa_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyMFARequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Verify Mfa V1 Operator Auth Verify Mfa Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/auth/me":{"get":{"tags":["operator-auth"],"summary":"Operator Me","operationId":"operator_me_v1_operator_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Operator Me V1 Operator Auth Me Get"}}}}}}},"/v1/operator/audit":{"get":{"tags":["operator-audit"],"summary":"List Audit","operationId":"list_audit_v1_operator_audit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"object"},"type":"array","title":"Response List Audit V1 Operator Audit Get"}}}}}}},"/v1/operator/audit/verify":{"get":{"tags":["operator-audit"],"summary":"Verify Audit","operationId":"verify_audit_v1_operator_audit_verify_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Verify Audit V1 Operator Audit Verify Get"}}}}}}},"/v1/operator/audit/chain-head":{"get":{"tags":["operator-audit"],"summary":"Get Chain Head","description":"Returns the latest hash in the verifiable audit chain (Block 7).","operationId":"get_chain_head_v1_operator_audit_chain_head_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Chain Head V1 Operator Audit Chain Head Get"}}}}}}},"/v1/operator/audit/export":{"get":{"tags":["operator-audit"],"summary":"Export Audit","operationId":"export_audit_v1_operator_audit_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/operator/intelops/triage":{"get":{"tags":["operator-intelops"],"summary":"Get Triage Queue","operationId":"get_triage_queue_v1_operator_intelops_triage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TriageItem"},"type":"array","title":"Response Get Triage Queue V1 Operator Intelops Triage Get"}}}}}}},"/v1/operator/intelops/triage/{id}/approve":{"post":{"tags":["operator-intelops"],"summary":"Approve Triage","operationId":"approve_triage_v1_operator_intelops_triage__id__approve_post","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Approve Triage V1 Operator Intelops Triage  Id  Approve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/intelops/rulepack/publish":{"post":{"tags":["operator-intelops"],"summary":"Publish Rulepack","operationId":"publish_rulepack_v1_operator_intelops_rulepack_publish_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RulePackPublishRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Publish Rulepack V1 Operator Intelops Rulepack Publish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/bot/rulepack":{"get":{"tags":["bot-rulepack"],"summary":"Get Bot Rulepack","operationId":"get_bot_rulepack_bot_rulepack_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Bot Rulepack Bot Rulepack Get"}}}}}}},"/extension/rulepack":{"get":{"tags":["extension-rulepack"],"summary":"Get Extension Rulepack","operationId":"get_extension_rulepack_extension_rulepack_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Extension Rulepack Extension Rulepack Get"}}}}}}},"/v1/operator/kill-switch":{"get":{"tags":["operator-killswitch"],"summary":"Get Kill Switches","operationId":"get_kill_switches_v1_operator_kill_switch_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/KillSwitchItem"},"type":"array","title":"Response Get Kill Switches V1 Operator Kill Switch Get"}}}}}},"post":{"tags":["operator-killswitch"],"summary":"Create Kill Switch","operationId":"create_kill_switch_v1_operator_kill_switch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KillSwitchCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Create Kill Switch V1 Operator Kill Switch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/kill-switch/{id}":{"delete":{"tags":["operator-killswitch"],"summary":"Delete Kill Switch","operationId":"delete_kill_switch_v1_operator_kill_switch__id__delete","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Delete Kill Switch V1 Operator Kill Switch  Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/pricing":{"get":{"tags":["operator-pricing"],"summary":"Get Pricing Plans","operationId":"get_pricing_plans_v1_operator_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PricingPlanItem"},"type":"array","title":"Response Get Pricing Plans V1 Operator Pricing Get"}}}}}}},"/v1/operator/pricing/{id}":{"patch":{"tags":["operator-pricing"],"summary":"Update Pricing Plan","operationId":"update_pricing_plan_v1_operator_pricing__id__patch","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingPlanUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Pricing Plan V1 Operator Pricing  Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plans/public":{"get":{"tags":["public-plans"],"summary":"Get Public Plans","operationId":"get_public_plans_v1_plans_public_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PricingPlanItem"},"type":"array","title":"Response Get Public Plans V1 Plans Public Get"}}}}}}},"/v1/operator/approvals":{"get":{"tags":["operator-approvals"],"summary":"Get Approvals","operationId":"get_approvals_v1_operator_approvals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApprovalItem"},"type":"array","title":"Response Get Approvals V1 Operator Approvals Get"}}}}}}},"/v1/operator/approvals/{id}/approve":{"post":{"tags":["operator-approvals"],"summary":"Approve Request","operationId":"approve_request_v1_operator_approvals__id__approve_post","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Approve Request V1 Operator Approvals  Id  Approve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/approvals/{id}/reject":{"post":{"tags":["operator-approvals"],"summary":"Reject Request","operationId":"reject_request_v1_operator_approvals__id__reject_post","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Reject Request V1 Operator Approvals  Id  Reject Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bot/webhook":{"post":{"tags":["telegram-bot"],"summary":"Bot Webhook","description":"Telegram Bot webhook endpoint. Handles:\n- pre_checkout_query: validates invoice exists and is pending, answers ok/error\n- successful_payment in message: activates subscription, records webhook event\n\nSet webhook with secret_token:\nhttps://api.telegram.org/bot<TOKEN>/setWebhook?url=https://yourdomain.com/v1/bot/webhook&secret_token=<SHA256_OF_TOKEN[:32]>","operationId":"bot_webhook_v1_bot_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Bot Webhook V1 Bot Webhook Post"}}}}}}},"/v1/bot/webhook-custom/{group_id}":{"post":{"tags":["telegram-bot"],"summary":"Custom Bot Webhook","operationId":"custom_bot_webhook_v1_bot_webhook_custom__group_id__post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Custom Bot Webhook V1 Bot Webhook Custom  Group Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/diagnostics":{"get":{"tags":["telegram-bot"],"summary":"Get Telegram Diagnostics","description":"Bot diagnostics","operationId":"get_telegram_diagnostics_diagnostics_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Telegram Diagnostics Diagnostics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/custom":{"post":{"tags":["telegram-bot-management"],"summary":"Link Custom Telegram Bot","description":"Register the customer's own BotFather token for a Telegram group.\n\nSymmetric to ``/v1/slack/bot-management/custom`` and\n``/v1/discord/bot-management/custom`` — the LK exposes \"Use SecuriLayer\nbot\" (SaaS OAuth) vs \"Bring your own bot\" (this endpoint) so the user\nhas the same choice on every chat platform.","operationId":"link_custom_telegram_bot_v1_telegram_bot_management_custom_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTelegramBotRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomTelegramBotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/custom/{group_id}/health":{"get":{"tags":["telegram-bot-management"],"summary":"Get Custom Bot Webhook Health","operationId":"get_custom_bot_webhook_health_v1_telegram_bot_management_custom__group_id__health_get","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomBotWebhookHealthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/custom/{group_id}/normalize-chat-id":{"post":{"tags":["telegram-bot-management"],"summary":"Normalize Custom Bot Chat Id","description":"Resolve legacy @username chat_id rows and merge duplicate linked groups.","operationId":"normalize_custom_bot_chat_id_v1_telegram_bot_management_custom__group_id__normalize_chat_id_post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomBotNormalizeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/groups":{"get":{"tags":["telegram-bot-management"],"summary":"List Telegram Groups","description":"PLAT-01 + PLAT-UX-PACK SEALED contract: surface every Telegram group\nthis org has linked, mirroring the per-platform inventory pattern used\nby WhatsApp `/numbers`, Facebook `/pages`, Instagram `/accounts`,\nReddit `/subreddits`, MAX `/chats`. Powers the LK group inventory panel\nso an operator sees the bot's actual scope rather than discovering it\nfrom incident traffic.\n\nEach item exposes: chat_id, title, chat_mode (active_enforcement /\nsilent_monitor / command_only), is_active, linked_at (created_at),\nunlinked_at, bot_can_delete_messages capability flag, admin_chat_id\nwhen configured. Cross-tenant isolation by `org_id`. No tokens or\nsecrets are returned — Telegram bot tokens are tenant-global, not\nper-group.","operationId":"list_telegram_groups_v1_telegram_bot_management_groups_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Telegram Groups V1 Telegram Bot Management Groups Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/groups/{chat_id}/actions":{"get":{"tags":["telegram-bot-management"],"summary":"List Telegram Group Actions","description":"PLAT-01 + PLAT-UX-PACK Telegram row \"action result feed\". Returns\nrecent decision / moderation audit events for the given Telegram\nchat, isolated by `org_id`. Mirrors the Discord/Slack/MAX feed\npattern. Filter is JSON-text contains on the `details` column for\nportability across SQLite (test) and PostgreSQL (prod).","operationId":"list_telegram_group_actions_v1_telegram_bot_management_groups__chat_id__actions_get","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Telegram Group Actions V1 Telegram Bot Management Groups  Chat Id  Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/groups/{chat_id}/settings":{"get":{"tags":["telegram-bot-management"],"summary":"Get Bot Settings","description":"Get bot settings for a specific group","operationId":"get_bot_settings_v1_telegram_bot_management_groups__chat_id__settings_get","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramBotSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["telegram-bot-management"],"summary":"Update Bot Settings","description":"Update bot settings for a specific group","operationId":"update_bot_settings_v1_telegram_bot_management_groups__chat_id__settings_put","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramBotSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramBotSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/groups/{chat_id}/settings/welcome/test":{"post":{"tags":["telegram-bot-management"],"summary":"Test Welcome Message","description":"Test welcome message (preview)","operationId":"test_welcome_message_v1_telegram_bot_management_groups__chat_id__settings_welcome_test_post","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Test Welcome Message V1 Telegram Bot Management Groups  Chat Id  Settings Welcome Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/bot-management/groups/{chat_id}/settings/captcha/test":{"post":{"tags":["telegram-bot-management"],"summary":"Test Captcha","description":"Test captcha settings (preview)","operationId":"test_captcha_v1_telegram_bot_management_groups__chat_id__settings_captcha_test_post","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Test Captcha V1 Telegram Bot Management Groups  Chat Id  Settings Captcha Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/link-group":{"post":{"tags":["telegram-links"],"summary":"Link Group","description":"Привязать чат к своей org. Проверки в этом чате будут считаться в вашу квоту.","operationId":"link_group_v1_telegram_link_group_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkGroupRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedGroupOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/linked-groups":{"get":{"tags":["telegram-links"],"summary":"List Linked Groups","description":"Список чатов, привязанных к org текущего пользователя.","operationId":"list_linked_groups_v1_telegram_linked_groups_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinkedGroupOut"},"title":"Response List Linked Groups V1 Telegram Linked Groups Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/groups":{"get":{"tags":["telegram-links"],"summary":"List Groups Alias","description":"Alias for P1B WebApp section contract.","operationId":"list_groups_alias_v1_telegram_groups_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinkedGroupOut"},"title":"Response List Groups Alias V1 Telegram Groups Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/groups/{chat_id}/settings":{"patch":{"tags":["telegram-links"],"summary":"Update Group Settings","operationId":"update_group_settings_v1_telegram_groups__chat_id__settings_patch","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSettingsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/linked-groups/{chat_id}/mode":{"patch":{"tags":["telegram-links"],"summary":"Set Group Mode","operationId":"set_group_mode_v1_telegram_linked_groups__chat_id__mode_patch","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatModeUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkedGroupOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/linked-groups/{chat_id}/diagnostics":{"get":{"tags":["telegram-links"],"summary":"Get Group Diagnostics","operationId":"get_group_diagnostics_v1_telegram_linked_groups__chat_id__diagnostics_get","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatDiagnosticsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/linked-groups/{chat_id}/incidents":{"get":{"tags":["telegram-links"],"summary":"List Group Incidents","operationId":"list_group_incidents_v1_telegram_linked_groups__chat_id__incidents_get","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChatIncidentOut"},"title":"Response List Group Incidents V1 Telegram Linked Groups  Chat Id  Incidents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/linked-groups/{chat_id}/simulate":{"post":{"tags":["telegram-links"],"summary":"Simulate Group Scan","operationId":"simulate_group_scan_v1_telegram_linked_groups__chat_id__simulate_post","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateChatScanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateChatScanOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/link-group/{chat_id}":{"delete":{"tags":["telegram-links"],"summary":"Unlink Group","description":"Отвязать чат. Только если чат привязан к вашей org.","operationId":"unlink_group_v1_telegram_link_group__chat_id__delete","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"string","title":"Chat Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Unlink Group V1 Telegram Link Group  Chat Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/chat-limits":{"get":{"tags":["telegram-links"],"summary":"Get Chat Limits","description":"Current org chat protection limits by active plan.","operationId":"get_chat_limits_v1_telegram_chat_limits_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatLimitsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/install":{"post":{"tags":["telegram-links"],"summary":"Install Group","operationId":"install_group_v1_telegram_install_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramInstallRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramInstallResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/unlink/{group_id}":{"delete":{"tags":["telegram-links"],"summary":"Unlink Group By Id","operationId":"unlink_group_by_id_v1_telegram_unlink__group_id__delete","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramLifecycleActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/relink/{group_id}":{"post":{"tags":["telegram-links"],"summary":"Relink Group By Id","operationId":"relink_group_by_id_v1_telegram_relink__group_id__post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramLifecycleActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/telegram/diagnostics/{group_id}":{"get":{"tags":["telegram-links"],"summary":"Diagnostics Group By Id","operationId":"diagnostics_group_by_id_v1_telegram_diagnostics__group_id__get","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelegramLifecycleDiagnosticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/slack/bot-management/custom":{"post":{"tags":["slack-bot-management"],"summary":"Link Custom Slack App","description":"Link a custom Slack app to a specific team ID.","operationId":"link_custom_slack_app_v1_slack_bot_management_custom_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackCustomBotRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Link Custom Slack App V1 Slack Bot Management Custom Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/slack/bot-management/workspaces":{"get":{"tags":["slack-bot-management"],"summary":"List Slack Workspaces","operationId":"list_slack_workspaces_v1_slack_bot_management_workspaces_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Slack Workspaces V1 Slack Bot Management Workspaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/slack/bot-management/workspaces/{team_id}/actions":{"get":{"tags":["slack-bot-management"],"summary":"List Slack Workspace Actions","description":"PLAT-UX-PACK Slack row \"workflow action result\". Returns recent\ndecision / moderation audit events for the given workspace,\nisolated by `org_id`. Filter is JSON-text contains on the\n`details` column for portability across SQLite (test) and\nPostgreSQL (prod).","operationId":"list_slack_workspace_actions_v1_slack_bot_management_workspaces__team_id__actions_get","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Slack Workspace Actions V1 Slack Bot Management Workspaces  Team Id  Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/slack/bot-management/workspaces/{team_id}/settings":{"get":{"tags":["slack-bot-management"],"summary":"Get Bot Settings","description":"Get bot settings for a Slack workspace","operationId":"get_bot_settings_v1_slack_bot_management_workspaces__team_id__settings_get","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackBotSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["slack-bot-management"],"summary":"Update Bot Settings","description":"Update bot settings for a Slack workspace","operationId":"update_bot_settings_v1_slack_bot_management_workspaces__team_id__settings_put","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackBotSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackBotSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/webhook":{"post":{"tags":["discord-bot"],"summary":"Discord Webhook","description":"Discord Interactions endpoint.\nHandles PING (type=1) for URL verification and MESSAGE_CREATE events.\nURL verification (PING) requires only public_key; token needed only for bot actions.","operationId":"discord_webhook_v1_discord_webhook_post","parameters":[{"name":"X-Signature-Ed25519","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Signature-Ed25519"}},{"name":"X-Signature-Timestamp","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Signature-Timestamp"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Discord Webhook V1 Discord Webhook Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/servers":{"post":{"tags":["discord-bot"],"summary":"Register Server","description":"Register a Discord server (guild) with a SecuriLayer org.","operationId":"register_server_v1_discord_servers_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerRegistration"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerRegistrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["discord-bot"],"summary":"List Servers","description":"List Discord servers linked to current organization.","operationId":"list_servers_v1_discord_servers_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinkedServerResponse"},"title":"Response List Servers V1 Discord Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/servers/{guild_id}/status":{"get":{"tags":["discord-bot"],"summary":"Server Status","description":"Get protection status for a Discord server.","operationId":"server_status_v1_discord_servers__guild_id__status_get","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Server Status V1 Discord Servers  Guild Id  Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/events/message":{"post":{"tags":["discord-bot"],"summary":"Discord Message Event","description":"Discord MESSAGE_CREATE event endpoint.\n\nThis endpoint is called either by:\n1. Discord Interactions Events Webhook (for future Gateway v2 support), OR\n2. An internal bot process that forwards Gateway events here via HTTP.\n\nAuto-scans URLs in messages → applies moderation (delete/warn/quarantine)\nbased on guild's policy_profile.","operationId":"discord_message_event_v1_discord_events_message_post","parameters":[{"name":"X-Signature-Ed25519","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Signature-Ed25519"}},{"name":"X-Signature-Timestamp","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Signature-Timestamp"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Discord Message Event V1 Discord Events Message Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/servers/{guild_id}/unlink":{"post":{"tags":["discord-bot"],"summary":"Unlink Server","description":"Unlink a Discord server from the organization.","operationId":"unlink_server_v1_discord_servers__guild_id__unlink_post","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Unlink Server V1 Discord Servers  Guild Id  Unlink Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/install":{"post":{"tags":["discord-bot"],"summary":"Install Discord Server","operationId":"install_discord_server_v1_discord_install_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordInstallRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordLifecycleActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/unlink/{guild_id}":{"delete":{"tags":["discord-bot"],"summary":"Unlink Discord Server","operationId":"unlink_discord_server_v1_discord_unlink__guild_id__delete","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordLifecycleActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/servers/{guild_id}/settings":{"patch":{"tags":["discord-bot"],"summary":"Update Discord Server Settings","operationId":"update_discord_server_settings_v1_discord_servers__guild_id__settings_patch","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordServerSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordServerSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/diagnostics/{guild_id}":{"get":{"tags":["discord-bot"],"summary":"Discord Diagnostics","operationId":"discord_diagnostics_v1_discord_diagnostics__guild_id__get","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordDiagnosticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/diagnostics":{"get":{"tags":["discord-bot"],"summary":"Get Discord Diagnostics","description":"Bot diagnostics","operationId":"get_discord_diagnostics_v1_discord_diagnostics_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Discord Diagnostics V1 Discord Diagnostics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/bot-management/custom":{"post":{"tags":["discord-bot-management"],"summary":"Link Custom Discord Bot","description":"Link a custom Discord bot to a specific guild ID.","operationId":"link_custom_discord_bot_v1_discord_bot_management_custom_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordCustomBotRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Link Custom Discord Bot V1 Discord Bot Management Custom Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/bot-management/servers":{"get":{"tags":["discord-bot-management"],"summary":"List Discord Servers","description":"PLAT-02 + PLAT-UX-PACK: surface every Discord guild this org has linked.\nMirrors the per-platform inventory pattern of WhatsApp `/numbers`,\nFacebook `/pages`, Instagram `/accounts`, Reddit `/subreddits`,\nMAX `/chats`, Telegram `/groups`. The LK guild inventory panel reads\nthis; without it operators discovered scope only from incident traffic.\n\nEach item: guild_id, guild_name, policy_profile, is_active, linked_at,\nlast_activity_at, unlinked_at, verification_enabled, quarantine_role\npresence flag, notify_admin_channel presence flag. Cross-tenant\nisolation by `org_id`. No bot token / OAuth secret returned (Discord\nbot tokens are tenant-global, not per-guild).","operationId":"list_discord_servers_v1_discord_bot_management_servers_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Discord Servers V1 Discord Bot Management Servers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/bot-management/servers/{guild_id}/actions":{"get":{"tags":["discord-bot-management"],"summary":"List Discord Server Actions","description":"PLAT-UX-PACK Discord row \"runtime action result feed\". Returns recent\nmoderation / decision audit events for the given Discord guild,\nisolated by `org_id`. Mirrors the MAX `/chats/{id}/actions` pattern\nused in Sprint 5: the underlying signal here is `AuditEvent` rows\nwhere `details->guild_id` matches, since Discord's pipeline writes\ndecisions and bot-action results through the audit chain (see\n`_register_discord_decision` in `discord_bot.py`).\n\nFilter is JSON-text contains on the `details` column, which works\nacross SQLite (test runtime) and PostgreSQL (prod). Bounded by\n`limit` and the existing `(org_id, created_at)` order.","operationId":"list_discord_server_actions_v1_discord_bot_management_servers__guild_id__actions_get","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Discord Server Actions V1 Discord Bot Management Servers  Guild Id  Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/bot-management/servers/{guild_id}/settings":{"get":{"tags":["discord-bot-management"],"summary":"Get Bot Settings","description":"Get bot settings for a Discord server","operationId":"get_bot_settings_v1_discord_bot_management_servers__guild_id__settings_get","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordBotSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["discord-bot-management"],"summary":"Update Bot Settings","description":"Update bot settings for a Discord server","operationId":"update_bot_settings_v1_discord_bot_management_servers__guild_id__settings_put","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordBotSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscordBotSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discord/bot-management/servers/{guild_id}/roles":{"get":{"tags":["discord-bot-management"],"summary":"List Discord Roles","description":"PLAT-UX-PACK: native role picker support for Discord.\nFetches roles directly from Discord using the linked bot token.","operationId":"list_discord_roles_v1_discord_bot_management_servers__guild_id__roles_get","parameters":[{"name":"guild_id","in":"path","required":true,"schema":{"type":"string","title":"Guild Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Discord Roles V1 Discord Bot Management Servers  Guild Id  Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/llm/explain":{"post":{"tags":["llm"],"summary":"Llm Explain","description":"Analyze text for potential threats and return human-readable explanation.\nUses configured LLM (Llama/OpenAI) or falls back to rule-based analysis.\nPer-plan monthly cap. API credits can unlock an individual LLM explanation when\nthe included plan envelope is unavailable or exhausted.","operationId":"llm_explain_v1_llm_explain_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplainRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplainResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check/url":{"post":{"tags":["check"],"summary":"Check Url Compat Endpoint","operationId":"check_url_compat_endpoint_v1_check_url_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlCheckCompatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Check Url Compat Endpoint V1 Check Url Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check/phone":{"post":{"tags":["check"],"summary":"Check Phone Endpoint","description":"Check phone number against reputation source (Phone/SMS scams).\nCreates a Decision Contract with object_type=phone.","operationId":"check_phone_endpoint_v1_check_phone_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check/file":{"post":{"tags":["check"],"summary":"Check File Endpoint","operationId":"check_file_endpoint_v1_check_file_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"allOf":[{"$ref":"#/components/schemas/Body_check_file_endpoint_v1_check_file_post"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check/file/upload":{"post":{"tags":["check"],"summary":"Check File Upload Endpoint","description":"Advanced Static Analysis \"Sandbox\" (Zero-Cost).\nAnalyzes the file in-memory to detect malware without dynamic detonation.\nFeatures: Entropy, Magic, SSDeep, YARA, OCR/QR Code Extraction (Quishing).","operationId":"check_file_upload_endpoint_v1_check_file_upload_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_check_file_upload_endpoint_v1_check_file_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check/media":{"post":{"tags":["check"],"summary":"Check Media Endpoint","description":"Analyze media (video/audio) for synthetic/deepfake indicators.\nCreates a Decision Contract with object_type=media.\n\nAccepts either:\n  * application/json with `MediaCheckRequest` shape (URL-based provider analysis), or\n  * multipart/form-data with `file` field (local QR/image inspection).\n\nThe dual content-type handling is required because FastAPI cannot bind a\nPydantic body parameter when an `UploadFile = File(None)` parameter is also\ndeclared on the same endpoint — multipart parsing is forced for the whole\nroute. We dispatch on `Content-Type` and read JSON manually for that path.","operationId":"check_media_endpoint_v1_check_media_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"allOf":[{"$ref":"#/components/schemas/Body_check_media_endpoint_v1_check_media_post"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/decision/url":{"post":{"tags":["decision-check"],"summary":"Check Url Endpoint","description":"Check URL → Decision Contract (CANON 4.3).\nOptional: llm_as_signal=True uses Ollama as доп. ML — allow→warn only, never block.","operationId":"check_url_endpoint_v1_decision_url_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/URLCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/decision/text":{"post":{"tags":["decision-check"],"summary":"Check Text Endpoint","description":"Check text for phishing/social engineering → Decision Contract.\nOptional: llm_as_signal=True uses Ollama as доп. ML — allow→warn only.","operationId":"check_text_endpoint_v1_decision_text_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecisionCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/decision/cache/lookup":{"get":{"tags":["decision-check"],"summary":"Cache Lookup","description":"Fast lookup by url_hash for extension/bot caching (CANON P0.9 2.5).","operationId":"cache_lookup_v1_decision_cache_lookup_get","parameters":[{"name":"url_hash","in":"query","required":true,"schema":{"type":"string","minLength":32,"maxLength":128,"title":"Url Hash"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CacheLookupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/check/wallet":{"post":{"tags":["check"],"summary":"Check Wallet Endpoint","description":"Look up wallet reputation against the ScamShield wallet IOC database.","operationId":"check_wallet_endpoint_v1_check_wallet_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/wallet/pre-sign":{"post":{"tags":["wallet_pre_sign"],"summary":"Wallet Pre Sign Endpoint","description":"Evaluate transaction-time wallet/domain risk before a wallet signs.","operationId":"wallet_pre_sign_endpoint_v1_wallet_pre_sign_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreSignRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreSignResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/demo/request":{"post":{"tags":["demo"],"summary":"Handle Demo Request","description":"Public lead-capture endpoint — persists DemoRequest from the landing page form.\nNo auth required; rate-limited by IP to prevent abuse.","operationId":"handle_demo_request_v1_demo_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoRequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/demo/activate":{"post":{"tags":["demo"],"summary":"Handle Demo Activate","description":"Grants 14 days of PRO access (one-time per org).\nOnly for FREE plan users with expired subscriptions.\nRate limited by IP to prevent abuse.","operationId":"handle_demo_activate_v1_demo_activate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoActivateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/plans":{"get":{"tags":["plans"],"summary":"Get Plans","description":"Return all plans with USD source-of-truth + RUB display conversion. Public.","operationId":"get_plans_v1_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}}}}},"/v1/policies":{"get":{"tags":["policies"],"summary":"List Policies","operationId":"list_policies_v1_policies_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Policies V1 Policies Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["policies"],"summary":"Create Policy","operationId":"create_policy_v1_policies_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policies/presets":{"get":{"tags":["policies"],"summary":"List Policy Presets","operationId":"list_policy_presets_v1_policies_presets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyPresetsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policies/presets/{preset_id}/apply":{"post":{"tags":["policies"],"summary":"Apply Policy Preset","operationId":"apply_policy_preset_v1_policies_presets__preset_id__apply_post","parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","title":"Preset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Apply Policy Preset V1 Policies Presets  Preset Id  Apply Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policies/{policy_id}":{"patch":{"tags":["policies"],"summary":"Update Policy","operationId":"update_policy_v1_policies__policy_id__patch","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["policies"],"summary":"Delete Policy","operationId":"delete_policy_v1_policies__policy_id__delete","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Delete Policy V1 Policies  Policy Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policies/overrides":{"post":{"tags":["policies"],"summary":"Create Policy Override","operationId":"create_policy_override_v1_policies_overrides_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverrideCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Create Policy Override V1 Policies Overrides Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["policies"],"summary":"List Policy Overrides","operationId":"list_policy_overrides_v1_policies_overrides_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Policy Overrides V1 Policies Overrides Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policies/resolve":{"post":{"tags":["policies"],"summary":"Resolve Policy Endpoint","operationId":"resolve_policy_endpoint_v1_policies_resolve_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Resolve Policy Endpoint V1 Policies Resolve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policies/dry-run":{"post":{"tags":["policies"],"summary":"Dry Run Policy Endpoint","operationId":"dry_run_policy_endpoint_v1_policies_dry_run_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Dry Run Policy Endpoint V1 Policies Dry Run Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policies/overrides/{override_id}/revoke":{"post":{"tags":["policies"],"summary":"Revoke Policy Override","operationId":"revoke_policy_override_v1_policies_overrides__override_id__revoke_post","parameters":[{"name":"override_id","in":"path","required":true,"schema":{"type":"integer","title":"Override Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Revoke Policy Override V1 Policies Overrides  Override Id  Revoke Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stats/public":{"get":{"tags":["public-stats"],"summary":"Get Public Stats","operationId":"get_public_stats_v1_stats_public_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicStatsResponse"}}}}}}},"/v1/stats/aggregate/{window_kind}":{"get":{"tags":["public-stats"],"summary":"Get Aggregate Snapshot","description":"S-09 public aggregate snapshot — read latest snapshot for window_kind.\n\n`window_kind` ∈ {hour, day, week, month}. Returns null when no snapshot\nhas been computed yet (worker not running, fresh deploy). Unauthenticated.","operationId":"get_aggregate_snapshot_v1_stats_aggregate__window_kind__get","parameters":[{"name":"window_kind","in":"path","required":true,"schema":{"type":"string","title":"Window Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AggregateSnapshotResponse"},{"type":"null"}],"title":"Response Get Aggregate Snapshot V1 Stats Aggregate  Window Kind  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settings/language":{"patch":{"tags":["settings"],"summary":"Update Org Language","operationId":"update_org_language_v1_settings_language_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settings/notifications":{"get":{"tags":["settings"],"summary":"Get Notifications Settings","operationId":"get_notifications_settings_v1_settings_notifications_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["settings"],"summary":"Update Notifications Settings","operationId":"update_notifications_settings_v1_settings_notifications_patch","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingsUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/settings":{"get":{"tags":["settings"],"summary":"Get All Settings","operationId":"get_all_settings_v1_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feedback":{"post":{"tags":["feedback"],"summary":"Submit Feedback","description":"Submit feedback on a detection decision (FP/FN loop).\n\nW-03-R11: rate-limited and deduplicated. A re-submit on the same decision\nupdates the existing feedback in place and re-enters the review queue.","operationId":"submit_feedback_v1_feedback_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__feedback__FeedbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Submit Feedback V1 Feedback Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feedback/":{"get":{"tags":["feedback"],"summary":"List Feedback","description":"W-03-R11: real org-scoped feedback list — the operator review surface.\n\nPreviously this was a fixed health-only stub that returned no real data.\nOptional `status` filter (pending / reviewed / applied / rejected).","operationId":"list_feedback_v1_feedback__get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Feedback V1 Feedback  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feedback/{feedback_id}":{"patch":{"tags":["feedback"],"summary":"Review Feedback","description":"W-03-R11: an operator approves or rejects feedback.\n\nApprove → `status=\"reviewed\"` (now eligible to train the model).\nReject  → `status=\"rejected\"` (never trains the model).","operationId":"review_feedback_v1_feedback__feedback_id__patch","parameters":[{"name":"feedback_id","in":"path","required":true,"schema":{"type":"integer","title":"Feedback Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Review Feedback V1 Feedback  Feedback Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fingerprints":{"get":{"tags":["fingerprints"],"summary":"List Fingerprints","operationId":"list_fingerprints_v1_fingerprints_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"threat_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threat Type"}},{"name":"is_global","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Global"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__fingerprints__FingerprintListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["fingerprints"],"summary":"Create Fingerprint","operationId":"create_fingerprint_v1_fingerprints_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FingerprintCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FingerprintCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fingerprints/stats":{"get":{"tags":["fingerprints"],"summary":"Get Fingerprint Stats","operationId":"get_fingerprint_stats_v1_fingerprints_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FingerprintStatsOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fingerprints/{fingerprint_id}":{"get":{"tags":["fingerprints"],"summary":"Get Fingerprint","operationId":"get_fingerprint_v1_fingerprints__fingerprint_id__get","parameters":[{"name":"fingerprint_id","in":"path","required":true,"schema":{"type":"integer","title":"Fingerprint Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FingerprintDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fingerprints/{fingerprint_id}/promote":{"post":{"tags":["fingerprints"],"summary":"Promote Fingerprint","operationId":"promote_fingerprint_v1_fingerprints__fingerprint_id__promote_post","parameters":[{"name":"fingerprint_id","in":"path","required":true,"schema":{"type":"integer","title":"Fingerprint Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FingerprintPromoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fingerprints/{fingerprint_id}/matches":{"get":{"tags":["fingerprints"],"summary":"List Fingerprint Matches","operationId":"list_fingerprint_matches_v1_fingerprints__fingerprint_id__matches_get","parameters":[{"name":"fingerprint_id","in":"path","required":true,"schema":{"type":"integer","title":"Fingerprint Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FingerprintMatchesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/heatmap/public":{"get":{"tags":["heatmap"],"summary":"Get Public Feed","operationId":"get_public_feed_v1_heatmap_public_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeatmapPublicResponse"}}}}}}},"/v1/heatmap/org":{"get":{"tags":["heatmap"],"summary":"Get Org Feed","operationId":"get_org_feed_v1_heatmap_org_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeatmapOrgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/heatmap/stream":{"get":{"tags":["heatmap"],"summary":"Stream Public Feed","operationId":"stream_public_feed_v1_heatmap_stream_get","parameters":[{"name":"once","in":"query","required":false,"schema":{"type":"boolean","description":"Emit one snapshot and close stream","default":false,"title":"Once"},"description":"Emit one snapshot and close stream"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots":{"post":{"tags":["honeypots"],"summary":"Create Honeypot","operationId":"create_honeypot_v1_honeypots_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneypotCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneypotOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["honeypots"],"summary":"List Honeypots","operationId":"list_honeypots_v1_honeypots_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"trap_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trap Type"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneypotListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots/stats":{"get":{"tags":["honeypots"],"summary":"Get Honeypot Stats","operationId":"get_honeypot_stats_v1_honeypots_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneypotStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots/{trap_id}":{"get":{"tags":["honeypots"],"summary":"Get Honeypot","operationId":"get_honeypot_v1_honeypots__trap_id__get","parameters":[{"name":"trap_id","in":"path","required":true,"schema":{"type":"integer","title":"Trap Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneypotDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["honeypots"],"summary":"Deactivate Honeypot","operationId":"deactivate_honeypot_v1_honeypots__trap_id__delete","parameters":[{"name":"trap_id","in":"path","required":true,"schema":{"type":"integer","title":"Trap Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Deactivate Honeypot V1 Honeypots  Trap Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots/{trap_id}/triggers":{"get":{"tags":["honeypots"],"summary":"List Honeypot Triggers","operationId":"list_honeypot_triggers_v1_honeypots__trap_id__triggers_get","parameters":[{"name":"trap_id","in":"path","required":true,"schema":{"type":"integer","title":"Trap Id"}},{"name":"attack_vector","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attack Vector"}},{"name":"threat_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threat Type"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneypotTriggerListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots/triggers/{trigger_id}/ban":{"post":{"tags":["honeypots"],"summary":"Ban Honeypot Attacker","operationId":"ban_honeypot_attacker_v1_honeypots_triggers__trigger_id__ban_post","parameters":[{"name":"trigger_id","in":"path","required":true,"schema":{"type":"integer","title":"Trigger Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoneypotBanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/live/snapshot":{"get":{"tags":["live-events"],"summary":"Get Live Snapshot","operationId":"get_live_snapshot_v1_live_snapshot_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Live Snapshot V1 Live Snapshot Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/live/events":{"get":{"tags":["live-events"],"summary":"Stream Live Events","description":"Server-Sent Events stream with realtime updates.\n\nInitial events:\n  * `snapshot` — last `limit` decisions + partner events for the caller's\n    org (for the LK to render an immediate non-empty UI on connect).\n  * `hello`    — from `realtime_hub.subscribe`, confirms the live channel.\n\nPer-channel events thereafter (fan-out from the realtime hub):\n  * `decision.created`   — new DecisionContract row landed for this org.\n  * `incident.resolved`  — incident was resolved.\n  * `incident.updated`   — incident status / assignee / priority changed.\n  * `approval.approved`  — four-eyes approval granted.\n  * `approval.rejected`  — four-eyes approval denied.\n  * `bulletin`           — consortium / threat-intel bulletin.\n  * `quota.*`            — quota threshold / exhaustion (future).\n\nHeartbeat sent every `heartbeat_seconds` so a stalled NAT does not\nsilently kill the connection.","operationId":"stream_live_events_v1_live_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}},{"name":"heartbeat_seconds","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":5,"default":25,"title":"Heartbeat Seconds"}},{"name":"channels","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list of channels to subscribe to. Omit for all channels. Examples: 'decision', 'decision,incident,approval', 'bulletin'.","title":"Channels"},"description":"Comma-separated list of channels to subscribe to. Omit for all channels. Examples: 'decision', 'decision,incident,approval', 'bulletin'."},{"name":"access_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/detection-rules/rules":{"get":{"tags":["detection-rules"],"summary":"List Detection Rules","operationId":"list_detection_rules_v1_detection_rules_rules_get","parameters":[{"name":"include_builtins","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Builtins"}},{"name":"scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRulesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["detection-rules"],"summary":"Create Detection Rule","operationId":"create_detection_rule_v1_detection_rules_rules_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/detection-rules/rules/{rule_id}":{"put":{"tags":["detection-rules"],"summary":"Update Detection Rule","operationId":"update_detection_rule_v1_detection_rules_rules__rule_id__put","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["detection-rules"],"summary":"Delete Detection Rule","operationId":"delete_detection_rule_v1_detection_rules_rules__rule_id__delete","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleDeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/detection-rules/rules/{rule_id}/test":{"post":{"tags":["detection-rules"],"summary":"Test Detection Rule","operationId":"test_detection_rule_v1_detection_rules_rules__rule_id__test_post","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleTestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleTestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/detection-rules/rules/{rule_id}/audit":{"get":{"tags":["detection-rules"],"summary":"List Detection Rule Audit","operationId":"list_detection_rule_audit_v1_detection_rules_rules__rule_id__audit_get","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionRuleAuditListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/models":{"get":{"tags":["ml-models"],"summary":"List Models","operationId":"list_models_v1_ml_models_models_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MLModelsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/models/{model_id}/metrics":{"get":{"tags":["ml-models"],"summary":"Get Model Metrics","operationId":"get_model_metrics_v1_ml_models_models__model_id__metrics_get","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"integer","title":"Model Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MLModelItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/engine-health":{"get":{"tags":["ml-models","ml-models"],"summary":"Get Engine Health","description":"Audit system resources and AI engine status (Task 5.3).","operationId":"get_engine_health_v1_ml_models_engine_health_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Engine Health V1 Ml Models Engine Health Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/quality":{"get":{"tags":["ml-models"],"summary":"Get Ml Quality","operationId":"get_ml_quality_v1_ml_models_quality_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MLQualityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/jobs/{job_id}":{"get":{"tags":["ml-models"],"summary":"Get Retrain Job","operationId":"get_retrain_job_v1_ml_models_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MLRetrainJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/models/history":{"get":{"tags":["ml-models"],"summary":"Model History","description":"Model history table with version, accuracy, trained_at.","operationId":"model_history_v1_ml_models_models_history_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Model History V1 Ml Models Models History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/models/retrain":{"post":{"tags":["ml-models"],"summary":"Trigger Retrain","operationId":"trigger_retrain_v1_ml_models_models_retrain_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MLRetrainTriggerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/models/{model_id}/feedback":{"post":{"tags":["ml-models"],"summary":"Submit Model Feedback","operationId":"submit_model_feedback_v1_ml_models_models__model_id__feedback_post","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"integer","title":"Model Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelFeedbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelFeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/ab-test":{"get":{"tags":["ml-models"],"summary":"Get Ab Test Status","description":"A/B Testing status (Enterprise)","operationId":"get_ab_test_status_v1_ml_models_ab_test_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Ab Test Status V1 Ml Models Ab Test Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/confusion-matrix":{"get":{"tags":["ml-models"],"summary":"Get Confusion Matrix","description":"Confusion Matrix for the active model","operationId":"get_confusion_matrix_v1_ml_models_confusion_matrix_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Confusion Matrix V1 Ml Models Confusion Matrix Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/feature-importance":{"get":{"tags":["ml-models"],"summary":"Get Feature Importance","description":"Global feature importance from the ML model","operationId":"get_feature_importance_v1_ml_models_feature_importance_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Get Feature Importance V1 Ml Models Feature Importance Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/jobs":{"get":{"tags":["ml-models"],"summary":"List Ml Jobs","description":"List recent ML jobs","operationId":"list_ml_jobs_v1_ml_models_jobs_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Ml Jobs V1 Ml Models Jobs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/promote-challenger":{"post":{"tags":["ml-models"],"summary":"Promote Challenger","description":"Promote challenger model to active","operationId":"promote_challenger_v1_ml_models_promote_challenger_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Promote Challenger V1 Ml Models Promote Challenger Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/drift":{"get":{"tags":["ml-models"],"summary":"Get Classifier Drift","description":"BP-01 closure: classifier-output drift signal over the recent\ndecision window. Compares the recent confidence distribution\nagainst the baseline mean+stddev stored on the active\nMLModelRegistry row's `report` field.","operationId":"get_classifier_drift_v1_ml_models_drift_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","default":24,"title":"Window Hours"}},{"name":"max_drift_sigma","in":"query","required":false,"schema":{"type":"number","default":2.5,"title":"Max Drift Sigma"}},{"name":"min_sample_size","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Min Sample Size"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Classifier Drift V1 Ml Models Drift Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/access-policy":{"get":{"tags":["ml-models"],"summary":"Get Model Access Policy","description":"BP-01 closure: plan-aware model-access policy. Returns which model\ntier the org has visibility into (lightweight / standard / advanced),\nchallenger access flag, and visible-models cap.","operationId":"get_model_access_policy_v1_ml_models_access_policy_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Model Access Policy V1 Ml Models Access Policy Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml-models/behavioral-fingerprint/{actor_key}":{"get":{"tags":["ml-models"],"summary":"Get Behavioral Fingerprint","description":"BP-05 closure: behavioral fingerprint for an actor. Returns timing\nprofile (interval distribution, burst count, night-hour ratio) +\nsocial correlation (co-occurring actors, target overlap).","operationId":"get_behavioral_fingerprint_v1_ml_models_behavioral_fingerprint__actor_key__get","parameters":[{"name":"actor_key","in":"path","required":true,"schema":{"type":"string","title":"Actor Key"}},{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","default":90,"title":"Window Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Behavioral Fingerprint V1 Ml Models Behavioral Fingerprint  Actor Key  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/feedback":{"post":{"tags":["ml-retrain-s05"],"summary":"Submit Feedback","description":"End-user false-positive / false-negative report signal on a Decision.\n\nCustomer feedback may trigger retrain scheduling and is audited under\n`ml_customer_feedback`, but it is not a trusted training sample until\nreviewed through the `ThreatFeedback` operator workflow.","operationId":"submit_feedback_v1_ml_feedback_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__ml_retrain_s05__FeedbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/triggers":{"get":{"tags":["ml-retrain-s05"],"summary":"List Triggers","description":"Admin: list MLRetrainTrigger rows for the current org or global rows.","operationId":"list_triggers_v1_ml_triggers_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(queued|claimed|done|failed)$"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/triggers/manual":{"post":{"tags":["ml-retrain-s05"],"summary":"Trigger Manual Retrain","description":"Admin: enqueue a manual retrain trigger.","operationId":"trigger_manual_retrain_v1_ml_triggers_manual_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualTriggerRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualTriggerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/drift":{"get":{"tags":["ml-retrain-s05"],"summary":"List Drift","description":"Admin: list MLDriftMetric readings.","operationId":"list_drift_v1_ml_drift_get","parameters":[{"name":"model_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Name"}},{"name":"triggered_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Triggered Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DriftListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/ab/assign":{"post":{"tags":["ml-retrain-s05"],"summary":"Ab Assign","description":"Admin: assign current org to a variant for an experiment.\n\nIdempotent on (org_id, experiment_key) — re-assignment overwrites the\nvariant + candidate_version + assigned_at.","operationId":"ab_assign_v1_ml_ab_assign_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbAssignRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbAssignResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/ab/current":{"get":{"tags":["ml-retrain-s05"],"summary":"Ab Current","description":"Return the current org's assignment for `experiment_key`, or None.","operationId":"ab_current_v1_ml_ab_current_get","parameters":[{"name":"experiment_key","in":"query","required":true,"schema":{"type":"string","title":"Experiment Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AbAssignResponse"},{"type":"null"}],"title":"Response Ab Current V1 Ml Ab Current Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/ab/decide":{"get":{"tags":["ml-retrain-s05"],"summary":"Ab Decide","description":"Resolve `routing_key` to `active` or `candidate` for this inference.\n\nWired from production inference paths whenever a fresh candidate model\nexists. Returns None when no active model is registered (caller falls\nback to the rule-only path).","operationId":"ab_decide_v1_ml_ab_decide_get","parameters":[{"name":"routing_key","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"title":"Routing Key"}},{"name":"model_name","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":120,"default":"default-classifier","title":"Model Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AbSplitDecisionResponse"},{"type":"null"}],"title":"Response Ab Decide V1 Ml Ab Decide Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/ab/candidate-traffic":{"put":{"tags":["ml-retrain-s05"],"summary":"Update Candidate Traffic","description":"Ramp the candidate's traffic percent. Admin-only.","operationId":"update_candidate_traffic_v1_ml_ab_candidate_traffic_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CandidateTrafficUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbSplitDecisionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/ab/promote":{"post":{"tags":["ml-retrain-s05"],"summary":"Promote Candidate Endpoint","description":"Promote the newest candidate model to `active`. Admin-only.","operationId":"promote_candidate_endpoint_v1_ml_ab_promote_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ml/ab/rollback":{"post":{"tags":["ml-retrain-s05"],"summary":"Rollback Active Endpoint","description":"W-4A: roll the active model back to the most recently retired\nversion. Admin-only. The current active is demoted to ``retired`` and\nthe previous active is promoted back to ``active`` in one atomic flush\nso production never sees a window without an active model.","operationId":"rollback_active_endpoint_v1_ml_ab_rollback_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RollbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/entities/resolve":{"get":{"tags":["entities"],"summary":"Resolve Entity Endpoint","description":"Resolve one actor/wallet/hash entity inside the caller's tenant.","operationId":"resolve_entity_endpoint_v1_entities_resolve_get","parameters":[{"name":"kind","in":"query","required":true,"schema":{"type":"string","description":"One of: email_hash, ip_hash, message_signature, target_user_id, username, wallet","title":"Kind"},"description":"One of: email_hash, ip_hash, message_signature, target_user_id, username, wallet"},{"name":"value","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"title":"Value"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Platform"}},{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityResolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/entities/clusters":{"get":{"tags":["entities"],"summary":"Entity Clusters Endpoint","description":"Return stitched cross-platform actor clusters for the caller's tenant.","operationId":"entity_clusters_endpoint_v1_entities_clusters_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}},{"name":"min_cluster_size","in":"query","required":false,"schema":{"type":"integer","maximum":12,"minimum":1,"default":2,"title":"Min Cluster Size"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityClustersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/entities/correlations":{"get":{"tags":["entities"],"summary":"Entity Correlations Endpoint","description":"List tenant-private honeypot/entity fingerprint correlations.","operationId":"entity_correlations_endpoint_v1_entities_correlations_get","parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Kind"}},{"name":"value","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Value"}},{"name":"multi_platform_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Multi Platform Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityCorrelationsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-actors/graph":{"get":{"tags":["threat_actors"],"summary":"Get Graph","operationId":"get_graph_v1_threat_actors_graph_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":1,"default":168,"title":"Hours"}},{"name":"node_limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":50,"default":320,"title":"Node Limit"}},{"name":"edge_limit","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":100,"default":680,"title":"Edge Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreatActorGraphResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-actors/actors":{"get":{"tags":["threat_actors"],"summary":"List Actors","operationId":"list_actors_v1_threat_actors_actors_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":1,"default":168,"title":"Hours"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Search"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Actors V1 Threat Actors Actors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-actors/lookup/{actor_id}":{"get":{"tags":["threat_actors"],"summary":"Lookup Actor","operationId":"lookup_actor_v1_threat_actors_lookup__actor_id__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}},{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":1,"default":168,"title":"Hours"}},{"name":"relation_limit","in":"query","required":false,"schema":{"type":"integer","maximum":400,"minimum":1,"default":80,"title":"Relation Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreatActorLookupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-actors/clusters":{"get":{"tags":["threat_actors"],"summary":"Get Clusters","description":"S1.2 Get threat actor clusters using connected components algorithm.","operationId":"get_clusters_v1_threat_actors_clusters_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Clusters V1 Threat Actors Clusters Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-actors/stitched":{"get":{"tags":["threat_actors"],"summary":"Get Stitched Actors","description":"S-07 carry-2: cross-platform stitched actors.\n\nReturns one entry per stitched actor with the platforms touched, action\ncounts, and a confidence score. Default `min_cluster_size=2` means only\nactors visible on ≥ 2 platforms are returned — the differentiating signal.","operationId":"get_stitched_actors_v1_threat_actors_stitched_get","parameters":[{"name":"since_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Since Days"}},{"name":"min_cluster_size","in":"query","required":false,"schema":{"type":"integer","maximum":12,"minimum":1,"default":2,"title":"Min Cluster Size"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Stitched Actors V1 Threat Actors Stitched Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-actors/export":{"get":{"tags":["threat_actors"],"summary":"Export Graph","operationId":"export_graph_v1_threat_actors_export_get","parameters":[{"name":"format","in":"query","required":false,"schema":{"enum":["json","ndjson"],"type":"string","default":"json","title":"Format"}},{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":1440,"minimum":1,"default":168,"title":"Hours"}},{"name":"node_limit","in":"query","required":false,"schema":{"type":"integer","maximum":4000,"minimum":50,"default":500,"title":"Node Limit"}},{"name":"edge_limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":100,"default":1500,"title":"Edge Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/ttps":{"get":{"tags":["simulations-s02"],"summary":"Get Ttps","description":"Return MITRE TTP catalog; auto-seeds canonical entries on first call.","operationId":"get_ttps_v1_simulations_ttps_get","parameters":[{"name":"enabled_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Enabled Only"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TtpListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/learning/result":{"post":{"tags":["simulations-s02"],"summary":"Post Learning Result","description":"Record a simulation outcome for an employee. Admin-only.","operationId":"post_learning_result_v1_simulations_learning_result_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningResultRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningPathResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/learning/{employee_key}":{"get":{"tags":["simulations-s02"],"summary":"Get Learning Path","description":"Return the learning-path for one employee, scoped to org.","operationId":"get_learning_path_v1_simulations_learning__employee_key__get","parameters":[{"name":"employee_key","in":"path","required":true,"schema":{"type":"string","title":"Employee Key"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LearningPathResponse"},{"type":"null"}],"title":"Response Get Learning Path V1 Simulations Learning  Employee Key  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/learning":{"get":{"tags":["simulations-s02"],"summary":"List Learning Paths","description":"List learning paths for the org. Filterable by tier + department.","operationId":"list_learning_paths_v1_simulations_learning_get","parameters":[{"name":"risk_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(low|standard|high|critical)$"},{"type":"null"}],"title":"Risk Tier"}},{"name":"department","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Department"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LearningPathListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/hr-link":{"post":{"tags":["simulations-s02"],"summary":"Create Hr Link","description":"Create or update the org's link to an HR system. Admin-only.\n\nIdempotent on (org_id, provider) — re-create overwrites the config and\nflips is_active.","operationId":"create_hr_link_v1_simulations_hr_link_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HrLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HrLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/hr-links":{"get":{"tags":["simulations-s02"],"summary":"List Hr Links","description":"List HR links for the org.","operationId":"list_hr_links_v1_simulations_hr_links_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HrLinkListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/corpus":{"get":{"tags":["agent-shield-s01"],"summary":"List Corpus","description":"Admin: list adversarial samples in the org's view (org-scoped + global).","operationId":"list_corpus_v1_agent_shield_corpus_get","parameters":[{"name":"attack_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attack Kind"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(honeypot|redteam|customer_eval|manual)$"},{"type":"null"}],"title":"Source"}},{"name":"consumed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Consumed"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorpusListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agent-shield-s01"],"summary":"Ingest Corpus Sample","description":"Admin: manually ingest an attack sample.","operationId":"ingest_corpus_sample_v1_agent_shield_corpus_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorpusIngestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CorpusItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/bulletins":{"post":{"tags":["agent-shield-s01"],"summary":"Post Bulletin","description":"Admin: publish a threat bulletin (visible to all subscribing orgs if is_global).","operationId":"post_bulletin_v1_agent_shield_bulletins_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulletinPublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulletinItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-shield-s01"],"summary":"Get Bulletins","description":"List bulletins visible to the caller's org.","operationId":"get_bulletins_v1_agent_shield_bulletins_get","parameters":[{"name":"attack_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attack Kind"}},{"name":"since_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Since Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulletinListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/bulletins/{bulletin_id}":{"get":{"tags":["agent-shield-s01"],"summary":"Get Bulletin By Id","description":"Fetch one bulletin by its public bulletin_id.","operationId":"get_bulletin_by_id_v1_agent_shield_bulletins__bulletin_id__get","parameters":[{"name":"bulletin_id","in":"path","required":true,"schema":{"type":"string","title":"Bulletin Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BulletinItem"},{"type":"null"}],"title":"Response Get Bulletin By Id V1 Agent Shield Bulletins  Bulletin Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/providers/stats":{"get":{"tags":["agent-shield-s01"],"summary":"Get Provider Stats","description":"Per-LLM-provider attack-vector summary for the LK Agent Shield page.\n\nReturns one row per provider with total samples, dominant attack\nkind, and a per-severity breakdown. Aggregates over the org's\nprivate corpus rows PLUS the global rows so customers see both\ntheir tenant signal and the network-effect signal at once.","operationId":"get_provider_stats_v1_agent_shield_providers_stats_get","parameters":[{"name":"lookback_days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":30,"title":"Lookback Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Provider Stats V1 Agent Shield Providers Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/memory-poison/scan":{"post":{"tags":["agent-shield-s01"],"summary":"Scan Memory Poison","description":"Scan a conversation history for memory-poisoning patterns.\n\nDetection is deterministic + fast — runs as part of the per-turn\nAgent Shield evaluation loop. On a positive verdict the caller can\nsurface a UX warning, halt the agent, OR feed the offending history\ninto the adversarial corpus via the existing `/corpus` endpoint.","operationId":"scan_memory_poison_v1_agent_shield_memory_poison_scan_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryPoisonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Scan Memory Poison V1 Agent Shield Memory Poison Scan Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/tool-args/scan":{"post":{"tags":["agent-shield-s01"],"summary":"Scan Tool Args","description":"Inspect a tool-call arg payload before the agent runtime invokes the tool.\n\nReturns `verdict ∈ {allow, redact, block}` with findings detail. Callers\nmust enforce `block` themselves; this endpoint is policy-input only.","operationId":"scan_tool_args_v1_agent_shield_tool_args_scan_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolArgRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolArgResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/mcp/handshake/evaluate":{"post":{"tags":["agent-shield-s01"],"summary":"Evaluate Mcp Handshake","description":"Evaluate an MCP server handshake. Block on TLS/prompt-injection issues.","operationId":"evaluate_mcp_handshake_v1_agent_shield_mcp_handshake_evaluate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpHandshakeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpHandshakeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/mcp/tools/evaluate":{"post":{"tags":["agent-shield-s01"],"summary":"Evaluate Mcp Tools","description":"Evaluate a tools/list response from an MCP server.","operationId":"evaluate_mcp_tools_v1_agent_shield_mcp_tools_evaluate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpToolListRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpHandshakeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/corpus/stream":{"get":{"tags":["agent-shield-s01"],"summary":"Stream Corpus","description":"SSE stream of fresh corpus ingestions for the agent shield LK live view.\n\nThe stream emits one `data: {...}\\n\\n` event per new corpus row visible\nto the principal. A heartbeat `: ping\\n\\n` is sent every 25 s so reverse\nproxies don't close idle connections. The stream stops after 5 min so an\nabandoned tab doesn't keep a worker thread pinned.","operationId":"stream_corpus_v1_agent_shield_corpus_stream_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent-shield/webhooks/subscribe":{"post":{"tags":["agent-shield-s01"],"summary":"Subscribe Async Webhook","description":"Register a customer webhook to receive bulletin pushes.\n\nNOT YET WIRED (2026-05): async webhook delivery for Agent-Shield bulletins\nhas no backing table or delivery path. Nothing in ``webhook_dispatch``\nfans out ``agent_shield.bulletin.published``, and the ``WebhookEndpoint``\nmodel this once referenced never existed. Rather than silently persist a\nwebhook that would never fire (fake success), return 503 and point callers\nat the live SSE bulletin feed until real fan-out delivery is implemented.","operationId":"subscribe_async_webhook_v1_agent_shield_webhooks_subscribe_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncWebhookRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Subscribe Async Webhook V1 Agent Shield Webhooks Subscribe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots-s03/canary":{"post":{"tags":["honeypots-s03"],"summary":"Post Canary","description":"Admin: issue a canary token. Returns the token_id (sensitive — store securely).","operationId":"post_canary_v1_honeypots_s03_canary_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanaryIssueRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanaryItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["honeypots-s03"],"summary":"Get Canaries","description":"List canaries for the caller's org.","operationId":"get_canaries_v1_honeypots_s03_canary_get","parameters":[{"name":"canary_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(file|api_key|url|wallet|document)$"},{"type":"null"}],"title":"Canary Kind"}},{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanaryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots-s03/canary/{token_id}/trip":{"post":{"tags":["honeypots-s03"],"summary":"Post Canary Trip","description":"Record a trip on a canary token. Open endpoint — the trip IS the signal.\n\nReturns None when the token is unknown or inactive (do not leak which\ntoken-ids exist). Audit event emitted under the org_id of the token.","operationId":"post_canary_trip_v1_honeypots_s03_canary__token_id__trip_post","parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","title":"Token Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CanaryTripRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CanaryTripResponse"},{"type":"null"}],"title":"Response Post Canary Trip V1 Honeypots S03 Canary  Token Id  Trip Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots-s03/platforms/specs":{"get":{"tags":["honeypots-s03"],"summary":"Get Platform Specs","description":"S-03 carry: list per-platform native honeypot deploy specs (11 platforms).","operationId":"get_platform_specs_v1_honeypots_s03_platforms_specs_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response Get Platform Specs V1 Honeypots S03 Platforms Specs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots-s03/platforms/{platform}/deploy":{"post":{"tags":["honeypots-s03"],"summary":"Deploy Platform Canary","description":"S-03 carry: admin-issue a canary preconfigured for the platform's native bait.","operationId":"deploy_platform_canary_v1_honeypots_s03_platforms__platform__deploy_post","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","title":"Platform"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CanaryItem"},{"type":"null"}],"title":"Response Deploy Platform Canary V1 Honeypots S03 Platforms  Platform  Deploy Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots-s03/attackers":{"get":{"tags":["honeypots-s03"],"summary":"Get Attackers","description":"List attacker fingerprint correlations for the caller's org.\n\nSet `multi_platform_only=true` to surface only fingerprints that have\nbeen seen on ≥ 2 platforms — the actual cross-platform actor signal.","operationId":"get_attackers_v1_honeypots_s03_attackers_get","parameters":[{"name":"fingerprint_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(wallet|username|ip_hash|email_hash|message_signature)$"},{"type":"null"}],"title":"Fingerprint Kind"}},{"name":"multi_platform_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Multi Platform Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__honeypots_s03__FingerprintListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/honeypots-s03/trips/stream":{"get":{"tags":["honeypots-s03"],"summary":"Stream Canary Trips","description":"SSE stream of fresh canary trips for the org.\n\nEmits one `event: trip\\n` per new triggered `CanaryToken` row. Useful for\nthe LK live-feed widget — opens, reads in real time without polling.\nThe stream caps at 5 min so abandoned tabs don't pin a worker.","operationId":"stream_canary_trips_v1_honeypots_s03_trips_stream_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/platforms-s07/":{"get":{"tags":["platforms-s07"],"summary":"Get Platforms","description":"List all 12 known platforms with merged partner + native_depth view.","operationId":"get_platforms_v1_platforms_s07__get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/platforms-s07/actions":{"post":{"tags":["platforms-s07"],"summary":"Post Action","description":"Admin: record a uniform moderation action result.\n\nPlatforms' runtimes (telegram_bot, discord_bot, slack_bot, partner_*)\ncan call this endpoint to feed the unified SIEM / audit / Threat-Actor\nconsumers, instead of writing to per-platform tables.","operationId":"post_action_v1_platforms_s07_actions_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionRecordRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResultItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["platforms-s07"],"summary":"Get Actions","description":"List uniform action results scoped to caller's org.","operationId":"get_actions_v1_platforms_s07_actions_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"action_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Kind"}},{"name":"target_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target User Id"}},{"name":"success_only","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Success Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/platforms-s07/{platform}/pack":{"get":{"tags":["platforms-s07"],"summary":"Download Platform Pack","description":"S-07 carry-1: download the PLAT-UX-PACK bundle for `platform`.\n\nReturns a ZIP containing policy.json + playbook.yaml + quickstart.md +\nmanifest.json, wired to the platform's native-depth registry.\nCustomers import the pack to bootstrap protection on a new platform\nwithout hand-tuning every control.","operationId":"download_platform_pack_v1_platforms_s07__platform__pack_get","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","title":"Platform"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/platforms-s07/{platform}":{"get":{"tags":["platforms-s07"],"summary":"Get Platform","description":"Return the merged capability for one platform; None if unknown.","operationId":"get_platform_v1_platforms_s07__platform__get","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","title":"Platform"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PlatformCapabilityItem"},{"type":"null"}],"title":"Response Get Platform V1 Platforms S07  Platform  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/chain":{"get":{"tags":["audit-viewer-s13"],"summary":"Get Chain","description":"List recent AuditChainEntry rows. Admin / read-only audit view.","operationId":"get_chain_v1_audit_viewer_chain_get","parameters":[{"name":"since_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Since Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChainListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/anchors/publish":{"post":{"tags":["audit-viewer-s13"],"summary":"Post Publish Anchor","description":"Admin: publish an anchor over all unanchored AuditChainEntry rows.\n\nReturns null when there are no new entries since the last anchor.","operationId":"post_publish_anchor_v1_audit_viewer_anchors_publish_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchorPublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AnchorItem"},{"type":"null"}],"title":"Response Post Publish Anchor V1 Audit Viewer Anchors Publish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/anchors":{"get":{"tags":["audit-viewer-s13"],"summary":"Get Anchors","description":"List anchors most-recent-first.","operationId":"get_anchors_v1_audit_viewer_anchors_get","parameters":[{"name":"since_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Since Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchorListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/anchors/{anchor_id}/verify":{"get":{"tags":["audit-viewer-s13"],"summary":"Get Verify Anchor","description":"Verify an anchor by replaying the chain over its range.","operationId":"get_verify_anchor_v1_audit_viewer_anchors__anchor_id__verify_get","parameters":[{"name":"anchor_id","in":"path","required":true,"schema":{"type":"string","title":"Anchor Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__audit_viewer_s13__AnchorVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/integrity-report":{"get":{"tags":["audit-viewer-s13"],"summary":"Get Integrity Report Json","description":"JSON shape of the last calendar month's anchor verification verdicts.\n\nUseful both for SOC dashboards and as the data behind the PDF below.","operationId":"get_integrity_report_json_v1_audit_viewer_integrity_report_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Integrity Report Json V1 Audit Viewer Integrity Report Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/integrity-report.pdf":{"get":{"tags":["audit-viewer-s13"],"summary":"Get Integrity Report Pdf","description":"Monthly customer-facing audit-chain integrity PDF (S-13 carry).\n\nReturns 503 when ``reportlab`` is not installed on the running host\nso the client can present a clean message rather than crashing.","operationId":"get_integrity_report_pdf_v1_audit_viewer_integrity_report_pdf_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/key-transparency":{"get":{"tags":["audit-viewer-s13"],"summary":"Get Key Transparency","description":"Public PQC public-key transparency log.\n\nVerifiers fetching this endpoint can confirm the chain of key\nrotations: each entry's `rotation_manifest_sig_b64` is a signature\nby the NEW key over the rotation manifest binding it to the previous\nfingerprint. The `grace_hours` field tells the verifier how long\na retired key remains valid for confirming late-arriving signatures.","operationId":"get_key_transparency_v1_audit_viewer_key_transparency_get","parameters":[{"name":"include_retired","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Retired"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__audit_viewer_s13__TransparencyListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit-viewer/key-transparency/publish":{"post":{"tags":["audit-viewer-s13"],"summary":"Publish Current Key Endpoint","description":"Admin: publish (or re-confirm) the current PQC public key in the log.\n\nIdempotent: re-calling with the same key fingerprint returns the\nexisting row. Use after rotating the SPHINCS+ key material to bind\nthe new key into the transparency chain.","operationId":"publish_current_key_endpoint_v1_audit_viewer_key_transparency_publish_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify/anchors/{anchor_id}":{"get":{"tags":["public-verifier"],"summary":"Verify Anchor Public","description":"Replay the audit chain over the given anchor's range.\n\nReturns ok=True when every (prev_hash, curr_hash) link reproduces.","operationId":"verify_anchor_public_v1_verify_anchors__anchor_id__get","parameters":[{"name":"anchor_id","in":"path","required":true,"schema":{"type":"string","title":"Anchor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__public_verifier__AnchorVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify/key-transparency":{"get":{"tags":["public-verifier"],"summary":"List Transparency Keys","description":"Public view of every PQC public key that ever signed a SecuriLayer artifact.\n\nA verifier walks this list to find the key whose active window covered\nthe timestamp of the artifact being verified.","operationId":"list_transparency_keys_v1_verify_key_transparency_get","parameters":[{"name":"include_retired","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Retired"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__app__routers__public_verifier__TransparencyListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify/signature":{"post":{"tags":["public-verifier"],"summary":"Verify Signature","description":"Verify a PQC signature against the transparency-log public keys.\n\nInputs:\n  * ``digest_hex`` — SHA-256 hex digest of the artifact (PDF, JSON, etc.).\n  * ``signature_b64`` — the signature attached to the artifact.\n  * ``key_fingerprint`` — optional hint: restrict search to one key.\n\nThe verifier walks the transparency log and tries each non-retired key\nuntil one verifies. Returns ``valid=True`` along with the matched version\n+ algorithm so the caller can render a green check + key version label.","operationId":"verify_signature_v1_verify_signature_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignatureVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignatureVerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify/digest":{"post":{"tags":["public-verifier"],"summary":"Derive Digest","description":"SHA-256 a base64-encoded payload — used when the caller wants to derive\nthe digest without trusting the JS in their browser. Pure compute, no DB.","operationId":"derive_digest_v1_verify_digest_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auditor-portal/invites":{"post":{"tags":["auditor-portal"],"summary":"Post Invite","description":"Issue an auditor magic-link token. Returns the **plaintext** token once.\n\nCaller is responsible for emailing the resulting `portal_url` to the\nauditor. The token only carries read-only scope on compliance + audit-chain\nendpoints (see AUDITOR_ALLOWED_PREFIXES) and expires after 7 days by\ndefault.","operationId":"post_invite_v1_auditor_portal_invites_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["auditor-portal"],"summary":"List Invites","description":"List issued auditor invites for the caller's org.","operationId":"list_invites_v1_auditor_portal_invites_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auditor-portal/invites/{invite_id}":{"delete":{"tags":["auditor-portal"],"summary":"Revoke Invite","description":"Revoke a previously-issued auditor invite.","operationId":"revoke_invite_v1_auditor_portal_invites__invite_id__delete","parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"integer","title":"Invite Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Revoke Invite V1 Auditor Portal Invites  Invite Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bug-bounty/submit":{"post":{"tags":["bug-bounty"],"summary":"Submit Bug Bounty","description":"Submit a vulnerability report. Returns a tracking id within 60 s.","operationId":"submit_bug_bounty_v1_bug_bounty_submit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BugBountyReport"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BugBountyAck"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bug-bounty/policy":{"get":{"tags":["bug-bounty"],"summary":"Get Policy","description":"Public bug-bounty policy (scope + reward bands + safe harbour).","operationId":"get_policy_v1_bug_bounty_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Policy V1 Bug Bounty Policy Get"}}}}}}},"/v1/consortium/tier":{"get":{"tags":["consortium-s08"],"summary":"Get Tier","description":"Return caller org's current share tier (auto-creates default NONE).","operationId":"get_tier_v1_consortium_tier_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["consortium-s08"],"summary":"Post Tier","description":"Admin: set caller org's share tier. Non-NONE requires DPA acceptance.","operationId":"post_tier_v1_consortium_tier_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierSetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/consortium/members":{"get":{"tags":["consortium-s08"],"summary":"Get Members","operationId":"get_members_v1_consortium_members_get","parameters":[{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active Only"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["consortium-s08"],"summary":"Post Members","description":"Admin: register caller org as a consortium member (or update tier).","operationId":"post_members_v1_consortium_members_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberJoinRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/consortium/attribution":{"get":{"tags":["consortium-s08"],"summary":"Get Attribution","description":"List cross-customer actor attribution links.","operationId":"get_attribution_v1_consortium_attribution_get","parameters":[{"name":"fingerprint_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fingerprint Kind"}},{"name":"min_confidence","in":"query","required":false,"schema":{"type":"number","maximum":1.0,"minimum":0.0,"default":0.0,"title":"Min Confidence"}},{"name":"multi_org_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Multi Org Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttributionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/consortium/attribution/confirm":{"post":{"tags":["consortium-s08"],"summary":"Post Attribution Confirm","description":"Admin: confirm an attribution fingerprint from caller's org. Boosts confidence.","operationId":"post_attribution_confirm_v1_consortium_attribution_confirm_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttributionConfirmRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttributionItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/consortium/stix/bundle":{"get":{"tags":["consortium-s08"],"summary":"Get Stix Bundle","description":"S-08 carry: STIX 2.1 producer — return the org's intel bundle.\n\nPrivacy tier (set via POST /tier) controls what's included:\n  NONE → identity SDO only\n  AGGREGATE → counts in a report SDO, no per-record values\n  HASHED → SHA-256 hashed Indicator patterns\n  FULL → raw Indicator patterns (only for tier accepters)","operationId":"get_stix_bundle_v1_consortium_stix_bundle_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":1,"default":1000,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Stix Bundle V1 Consortium Stix Bundle Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/consortium/share/preview":{"post":{"tags":["consortium-s08"],"summary":"Post Share Preview","description":"Preview what an indicator looks like when exported at caller's current tier.","operationId":"post_share_preview_v1_consortium_share_preview_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePreviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/consortium/stix/bulk":{"get":{"tags":["consortium-s08"],"summary":"Get Stix Bulk Export","description":"S-09 carry-2: bulk STIX 2.1 export streamed as NDJSON.\n\nReturns one STIX SDO/SCO per line so downstream pipelines (Splunk,\nElastic, OpenCTI) can ingest without buffering the entire bundle.\nEnterprise-tier callers get FULL granularity; lower tiers get the\nfiltered view via the same per-tier indicator scrubbing.","operationId":"get_stix_bulk_export_v1_consortium_stix_bulk_get","parameters":[{"name":"since_iso","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO timestamp; only newer indicators","title":"Since Iso"},"description":"ISO timestamp; only newer indicators"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200000,"minimum":1,"default":50000,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/consortium/bulletins/stream":{"get":{"tags":["consortium-s08"],"summary":"Stream Consortium Bulletins","description":"S-08 carry-2: SSE push for new consortium bulletins.\n\nEmits a `bulletin` event per fresh `AgentBulletin` row visible to the\ncaller's tier. The LK dashboard subscribes once and renders incoming\nbulletins live without polling.","operationId":"stream_consortium_bulletins_v1_consortium_bulletins_stream_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/templates":{"get":{"tags":["simulations"],"summary":"List Templates","operationId":"list_templates_v1_simulations_templates_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Templates V1 Simulations Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["simulations"],"summary":"Create Template","operationId":"create_template_v1_simulations_templates_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationTemplateCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Create Template V1 Simulations Templates Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/resources":{"get":{"tags":["simulations"],"summary":"List Resources","operationId":"list_resources_v1_simulations_resources_get","parameters":[{"name":"platform","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":32,"title":"Platform"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Resources V1 Simulations Resources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/limits":{"get":{"tags":["simulations"],"summary":"Simulation Limits","operationId":"simulation_limits_v1_simulations_limits_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Simulation Limits V1 Simulations Limits Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations":{"post":{"tags":["simulations"],"summary":"Create Campaign","operationId":"create_campaign_v1_simulations_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationCampaignCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Create Campaign V1 Simulations Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["simulations"],"summary":"List Campaigns","operationId":"list_campaigns_v1_simulations_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Campaigns V1 Simulations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/{campaign_id}/launch":{"post":{"tags":["simulations"],"summary":"Launch Campaign","operationId":"launch_campaign_v1_simulations__campaign_id__launch_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"integer","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulationLaunchBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Launch Campaign V1 Simulations  Campaign Id  Launch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/{campaign_id}":{"get":{"tags":["simulations"],"summary":"Campaign Detail","operationId":"campaign_detail_v1_simulations__campaign_id__get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"integer","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Campaign Detail V1 Simulations  Campaign Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/{campaign_id}/targets":{"get":{"tags":["simulations"],"summary":"Campaign Targets","operationId":"campaign_targets_v1_simulations__campaign_id__targets_get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"integer","title":"Campaign Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":2000,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Campaign Targets V1 Simulations  Campaign Id  Targets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/{campaign_id}/cancel":{"post":{"tags":["simulations"],"summary":"Cancel Campaign","operationId":"cancel_campaign_v1_simulations__campaign_id__cancel_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"integer","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Cancel Campaign V1 Simulations  Campaign Id  Cancel Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/simulations/{campaign_id}/report":{"get":{"tags":["simulations"],"summary":"Campaign Report","operationId":"campaign_report_v1_simulations__campaign_id__report_get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"integer","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Campaign Report V1 Simulations  Campaign Id  Report Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/health":{"get":{"tags":["integrations"],"summary":"Integrations Health","operationId":"integrations_health_v1_integrations_health_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationsHealthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/config-validator":{"get":{"tags":["integrations"],"summary":"Integrations Validate Config","operationId":"integrations_validate_config_v1_integrations_config_validator_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfigValidatorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/health/validate-config":{"get":{"tags":["integrations"],"summary":"Integrations Validate Config","operationId":"integrations_validate_config_v1_integrations_health_validate_config_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConfigValidatorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/seo":{"get":{"tags":["admin_seo"],"summary":"Get Seo","description":"Get current robots.txt and sitemap.xml","operationId":"get_seo_v1_admin_seo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeoParams"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin_seo"],"summary":"Update Seo","description":"Update robots.txt and sitemap.xml","operationId":"update_seo_v1_admin_seo_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeoParams"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeoParams"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sitemap.xml":{"get":{"tags":["SEO & Public Landing"],"summary":"Get Sitemap Xml","description":"Dynamically generated sitemap.xml for all public routing.","operationId":"get_sitemap_xml_sitemap_xml_get","responses":{"200":{"description":"Successful Response"}}}},"/robots.txt":{"get":{"tags":["SEO & Public Landing"],"summary":"Get Robots Txt","description":"Dynamically generated robots.txt.","operationId":"get_robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response"}}}},"/v1/public-stats":{"get":{"tags":["SEO & Public Landing"],"summary":"Get Public Stats","description":"Returns aggregated global statistics for the threat-library and landing pages.","operationId":"get_public_stats_v1_public_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Public Stats V1 Public Stats Get"}}}}}}},"/v1/integrations":{"get":{"tags":["SEO & Public Landing"],"summary":"Get Integration Metadata","description":"Returns integration capabilities for rendering the integrations landing page.","operationId":"get_integration_metadata_v1_integrations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"object"},"type":"array","title":"Response Get Integration Metadata V1 Integrations Get"}}}}}}},"/v1/scan-result/{domain}":{"get":{"tags":["SEO & Public Landing"],"summary":"Scan Result Landing","description":"Per-domain SEO landing payload.","operationId":"scan_result_landing_v1_scan_result__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Scan Result Landing V1 Scan Result  Domain  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/wallet/{chain}/{address}":{"get":{"tags":["SEO & Public Landing"],"summary":"Wallet Landing","description":"Per-wallet SEO landing payload.","operationId":"wallet_landing_v1_wallet__chain___address__get","parameters":[{"name":"chain","in":"path","required":true,"schema":{"type":"string","title":"Chain"}},{"name":"address","in":"path","required":true,"schema":{"type":"string","title":"Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Wallet Landing V1 Wallet  Chain   Address  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/campaign/{campaign_id}":{"get":{"tags":["SEO & Public Landing"],"summary":"Campaign Landing","description":"Per-campaign SEO landing payload.","operationId":"campaign_landing_v1_campaign__campaign_id__get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Campaign Landing V1 Campaign  Campaign Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/status":{"get":{"tags":["Status Page & Observability"],"summary":"Get Public Status","description":"Public status page — no auth required. Returns per-surface\navailability, latency percentiles, active + recent incidents.","operationId":"get_public_status_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Public Status V1 Status Get"}}}}}}},"/v1/status/surfaces":{"get":{"tags":["Status Page & Observability"],"summary":"List Slo Definitions","description":"List all SLO definitions (admin view).","operationId":"list_slo_definitions_v1_status_surfaces_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Slo Definitions V1 Status Surfaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/status/slo/seed":{"post":{"tags":["Status Page & Observability"],"summary":"Seed Slos","description":"Seed default SLO surface definitions. Idempotent.","operationId":"seed_slos_v1_status_slo_seed_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Seed Slos V1 Status Slo Seed Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/status/incidents":{"post":{"tags":["Status Page & Observability"],"summary":"Create Incident","description":"Create a status page incident (operator-only in production).","operationId":"create_incident_v1_status_incidents_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Create Incident V1 Status Incidents Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/status/incidents/{incident_id}":{"patch":{"tags":["Status Page & Observability"],"summary":"Update Incident","description":"Update or resolve a status page incident.","operationId":"update_incident_v1_status_incidents__incident_id__patch","parameters":[{"name":"incident_id","in":"path","required":true,"schema":{"type":"integer","title":"Incident Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Incident V1 Status Incidents  Incident Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extension/wallet/pre-sign":{"get":{"tags":["Browser Extension"],"summary":"Wallet Pre Sign Check","description":"Pre-transaction wallet reputation check.\n\nCalled by the extension when it intercepts ``window.ethereum.request``\nwith method ``eth_sendTransaction`` or ``eth_signTypedData_v4``. Returns\na risk assessment for the target wallet/contract before the user signs.","operationId":"wallet_pre_sign_check_v1_extension_wallet_pre_sign_get","parameters":[{"name":"wallet_address","in":"query","required":true,"schema":{"type":"string","minLength":10,"maxLength":256,"title":"Wallet Address"}},{"name":"chain","in":"query","required":false,"schema":{"type":"string","maxLength":32,"default":"ethereum","title":"Chain"}},{"name":"contract_address","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Contract Address"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Wallet Pre Sign Check V1 Extension Wallet Pre Sign Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extension/ping":{"post":{"tags":["Browser Extension"],"summary":"Extension Activity Ping","description":"Record extension activity for LK usage charts without consuming check quota.\n\nCalled by the browser extension after local bloom/EdgeML checks so the\ncabinet reflects real browsing protection activity, not only cloud\n``/v1/decision/url`` calls.","operationId":"extension_activity_ping_v1_extension_ping_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtensionPingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Extension Activity Ping V1 Extension Ping Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extension/feedback":{"post":{"tags":["Browser Extension"],"summary":"Submit Extension Feedback","description":"User feedback from the extension popup (agree/disagree with verdict).\n\nFeeds into the ML retrain pipeline (S-05 synergy).","operationId":"submit_extension_feedback_v1_extension_feedback_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtensionFeedback"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Submit Extension Feedback V1 Extension Feedback Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extension/model/manifest":{"get":{"tags":["Browser Extension"],"summary":"Get Model Manifest","description":"Returns the current edge ML model artifact manifest.\n\nThe extension checks this endpoint on startup to auto-update the\nlocal ONNX model when a new version is available.","operationId":"get_model_manifest_v1_extension_model_manifest_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Model Manifest V1 Extension Model Manifest Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extension/domain-history":{"get":{"tags":["Browser Extension"],"summary":"Get Domain History","description":"Per-domain decision history for the extension's domain reputation cache.\n\nReturns the most recent verdicts for a given domain so the extension\ncan populate its per-domain history UI toggle.","operationId":"get_domain_history_v1_extension_domain_history_get","parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":256,"title":"Domain"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Domain History V1 Extension Domain History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extension/snap/check":{"post":{"tags":["Browser Extension"],"summary":"Snap Rpc Bridge","description":"MetaMask Snap RPC bridge.\n\nAllows any MetaMask Snap to call SecuriLayer's threat intelligence\nvia the standard Snap JSON-RPC interface. Supported methods:\n\n- ``sl_checkUrl``: URL reputation check\n- ``sl_checkWallet``: Wallet address reputation check\n- ``sl_getModelVersion``: Current edge ML model version","operationId":"snap_rpc_bridge_v1_extension_snap_check_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Snap Rpc Bridge V1 Extension Snap Check Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/members":{"get":{"tags":["team"],"summary":"List Members","operationId":"list_members_v1_team_members_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/invites":{"post":{"tags":["team"],"summary":"Create Invite","operationId":"create_invite_v1_team_invites_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_invite_v1_team_invites_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["team"],"summary":"List Invites","operationId":"list_invites_v1_team_invites_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/invites/{raw_token}":{"get":{"tags":["team"],"summary":"Get Invite","description":"Public invite lookup by token (no auth — used by the invite landing page).","operationId":"get_invite_v1_team_invites__raw_token__get","parameters":[{"name":"raw_token","in":"path","required":true,"schema":{"type":"string","title":"Raw Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/invites/{invite_id}":{"delete":{"tags":["team"],"summary":"Revoke Invite","operationId":"revoke_invite_v1_team_invites__invite_id__delete","parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","title":"Invite Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/invites/accept":{"post":{"tags":["team"],"summary":"Accept Invite","description":"Invitee-side action — uses the user's own session, not org capabilities.","operationId":"accept_invite_v1_team_invites_accept_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Request Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/members/{member_id}/role":{"patch":{"tags":["team"],"summary":"Change Member Role","operationId":"change_member_role_v1_team_members__member_id__role_patch","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Request Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/members/{member_id}":{"delete":{"tags":["team"],"summary":"Remove Member","operationId":"remove_member_v1_team_members__member_id__delete","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}},{"name":"approval_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/capabilities/registry":{"get":{"tags":["team"],"summary":"Get Capability Registry","description":"Return the full operator capability registry grouped by category.\n\nThe LK UI uses this to render the grant picker. Plan-tier capabilities\n(the existing ``CAPABILITY_REGISTRY`` in ``constants/plans.py``) are NOT\nexposed here — that registry is plan-side and read via the billing\nendpoints. This one is user-side.","operationId":"get_capability_registry_v1_team_capabilities_registry_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/capabilities/role-matrix":{"get":{"tags":["team"],"summary":"Get Capability Role Matrix","description":"Read-only matrix of every role's default operator capabilities (W-1B-4).\n\nThe LK Team Capabilities console renders this so an operator can see, at a\nglance, what each role already grants by default — before deciding whether\na member needs an explicit grant on top. Pure registry projection: no\ntenant data, no mutation.","operationId":"get_capability_role_matrix_v1_team_capabilities_role_matrix_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/members/{member_id}/capabilities":{"get":{"tags":["team"],"summary":"List Member Capabilities","operationId":"list_member_capabilities_v1_team_members__member_id__capabilities_get","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}},{"name":"include_revoked","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Revoked"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/members/{member_id}/capabilities/grant":{"post":{"tags":["team"],"summary":"Grant Member Capability","operationId":"grant_member_capability_v1_team_members__member_id__capabilities_grant_post","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Request Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/team/members/{member_id}/capabilities/revoke":{"post":{"tags":["team"],"summary":"Revoke Member Capability","operationId":"revoke_member_capability_v1_team_members__member_id__capabilities_revoke_post","parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","title":"Member Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Request Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/waitlist":{"get":{"tags":["waitlist"],"summary":"List Waitlist","description":"List all waitlist entries (admin only).","operationId":"list_waitlist_v1_waitlist_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["waitlist"],"summary":"Create Waitlist","description":"Add email to waitlist for early access.","operationId":"create_waitlist_v1_waitlist_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitlistRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents":{"get":{"tags":["incidents"],"summary":"List Incidents","description":"Backward-compatible endpoint: returns incident list (default unresolved queue).","operationId":"list_incidents_v1_incidents_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"open","title":"Status"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IncidentItem"},"title":"Response List Incidents V1 Incidents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents/queue":{"get":{"tags":["incidents"],"summary":"List Incidents Queue","operationId":"list_incidents_queue_v1_incidents_queue_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"open","title":"Status"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentQueueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents/{decision_id}":{"get":{"tags":["incidents"],"summary":"Get Incident Detail","operationId":"get_incident_detail_v1_incidents__decision_id__get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["incidents"],"summary":"Update Incident","operationId":"update_incident_v1_incidents__decision_id__patch","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents/{decision_id}/notes":{"post":{"tags":["incidents"],"summary":"Add Incident Note","operationId":"add_incident_note_v1_incidents__decision_id__notes_post","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentNoteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IncidentNoteItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents/{decision_id}/timeline":{"get":{"tags":["incidents"],"summary":"Get Incident Timeline","operationId":"get_incident_timeline_v1_incidents__decision_id__timeline_get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IncidentNoteItem"},"title":"Response Get Incident Timeline V1 Incidents  Decision Id  Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents/{decision_id}/resolve":{"patch":{"tags":["incidents"],"summary":"Resolve Incident","operationId":"resolve_incident_v1_incidents__decision_id__resolve_patch","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveIncidentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveIncidentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents/{decision_id}/source":{"get":{"tags":["incidents"],"summary":"Get Incident Source","description":"RESP-01 closure: surface the full source-of-truth context for an\nincident — platform, bot/resource binding, actor identifiers,\nexternal event id, source surface, evidence refs. Pulls from\nDecisionContract.raw_data which platform handlers populate at\nwrite time.\n\nShape:\n  platform, object_type, object_ref, source_surface,\n  bot_id, resource_id (chat_id / guild_id / team_id / page_id /\n  subreddit / phone_number_id depending on platform), actor:{id,\n  username, display_name}, external_event_id (trace_id is the\n  authoritative id), evidence_refs, ai_metadata.","operationId":"get_incident_source_v1_incidents__decision_id__source_get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Incident Source V1 Incidents  Decision Id  Source Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incidents/{decision_id}/forensic-timeline":{"get":{"tags":["incidents"],"summary":"Get Unified Forensic Timeline","description":"RESP-06 closure: return ONE chronologically merged timeline that\ncombines:\n  * the originating DecisionContract (verdict / confidence /\n    reasons) as the t0 anchor,\n  * autonomous response plan + each AutonomousResponseAction\n    with its current execution status,\n  * IncidentCaseNote rows (operator notes, status transitions,\n    approvals, resolution),\n  * AuditEvent rows scoped to this decision_id (signed delivery\n    events, SIEM push acknowledgements, suppression hits).\n\nEach entry has `kind`, `at`, `summary`, `payload`. Sorted oldest\n-> newest so the UI can render top-down without re-sorting.","operationId":"get_unified_forensic_timeline_v1_incidents__decision_id__forensic_timeline_get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Unified Forensic Timeline V1 Incidents  Decision Id  Forensic Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incident-suppressions":{"post":{"tags":["incident-suppressions"],"summary":"Create Suppression","description":"RESP-05: create a per-org suppression rule. TTL bounded at 30 days\nso a forgotten rule cannot silently hide threats forever. Audit\nchain row written for every create.","operationId":"create_suppression_v1_incident_suppressions_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["incident-suppressions"],"summary":"List Suppressions","operationId":"list_suppressions_v1_incident_suppressions_get","parameters":[{"name":"include_revoked","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Revoked"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SuppressionItem"},"title":"Response List Suppressions V1 Incident Suppressions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/incident-suppressions/{suppression_id}":{"delete":{"tags":["incident-suppressions"],"summary":"Revoke Suppression","operationId":"revoke_suppression_v1_incident_suppressions__suppression_id__delete","parameters":[{"name":"suppression_id","in":"path","required":true,"schema":{"type":"integer","title":"Suppression Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuppressionItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/action-deliveries":{"get":{"tags":["action-deliveries"],"summary":"List Action Deliveries","operationId":"list_action_deliveries_v1_action_deliveries_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Status"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Provider"}},{"name":"source_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Source Type"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Search"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/action-deliveries/workers/status":{"get":{"tags":["action-deliveries"],"summary":"Get Action Delivery Worker Status","operationId":"get_action_delivery_worker_status_v1_action_deliveries_workers_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryWorkerStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/action-deliveries/{delivery_id}":{"get":{"tags":["action-deliveries"],"summary":"Get Action Delivery Detail","operationId":"get_action_delivery_detail_v1_action_deliveries__delivery_id__get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/action-deliveries/{delivery_id}/retry":{"post":{"tags":["action-deliveries"],"summary":"Retry Action Delivery","operationId":"retry_action_delivery_v1_action_deliveries__delivery_id__retry_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryRetryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryMutationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/action-deliveries/{delivery_id}/cancel":{"post":{"tags":["action-deliveries"],"summary":"Cancel Action Delivery","operationId":"cancel_action_delivery_v1_action_deliveries__delivery_id__cancel_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryCancelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryMutationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/taxonomy/versions":{"post":{"tags":["taxonomy"],"summary":"Propose Taxonomy Version","description":"Submit a candidate taxonomy version. Always lands in `proposed`\nstate. Audit-bound. Operator-only.","operationId":"propose_taxonomy_version_v1_taxonomy_versions_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxonomyProposeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Propose Taxonomy Version V1 Taxonomy Versions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["taxonomy"],"summary":"List Taxonomy Versions","operationId":"list_taxonomy_versions_v1_taxonomy_versions_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Taxonomy Versions V1 Taxonomy Versions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/taxonomy/versions/{version_id}":{"get":{"tags":["taxonomy"],"summary":"Get Taxonomy Version","operationId":"get_taxonomy_version_v1_taxonomy_versions__version_id__get","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"integer","title":"Version Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Taxonomy Version V1 Taxonomy Versions  Version Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/taxonomy/active":{"get":{"tags":["taxonomy"],"summary":"Get Active Taxonomy","description":"Return the currently active taxonomy version (if any).","operationId":"get_active_taxonomy_v1_taxonomy_active_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Active Taxonomy V1 Taxonomy Active Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/taxonomy/versions/{version_id}/approve":{"post":{"tags":["taxonomy"],"summary":"Approve Taxonomy Version","description":"Approve + activate a proposed version. Mutually exclusive: any\nother `active` row is demoted to `approved` (kept as history).\nAudit-bound.","operationId":"approve_taxonomy_version_v1_taxonomy_versions__version_id__approve_post","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"integer","title":"Version Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ReasonBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Approve Taxonomy Version V1 Taxonomy Versions  Version Id  Approve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/taxonomy/versions/{version_id}/reject":{"post":{"tags":["taxonomy"],"summary":"Reject Taxonomy Version","operationId":"reject_taxonomy_version_v1_taxonomy_versions__version_id__reject_post","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"integer","title":"Version Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ReasonBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Reject Taxonomy Version V1 Taxonomy Versions  Version Id  Reject Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/taxonomy/versions/{version_id}/rollback":{"post":{"tags":["taxonomy"],"summary":"Rollback Taxonomy Version","description":"Rollback to a previously-approved version: marks current active\nas `rolled_back` and re-activates the named version. Target must\nbe an `approved` version (from history) or `active` (no-op-style).","operationId":"rollback_taxonomy_version_v1_taxonomy_versions__version_id__rollback_post","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"integer","title":"Version Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ReasonBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Rollback Taxonomy Version V1 Taxonomy Versions  Version Id  Rollback Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-protected-resource/{resource_path}":{"get":{"tags":["mcp-oauth"],"summary":"Oauth Protected Resource Metadata","operationId":"oauth_protected_resource_metadata__well_known_oauth_protected_resource__resource_path__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Oauth Protected Resource Metadata  Well Known Oauth Protected Resource  Resource Path  Get"}}}}}}},"/.well-known/oauth-protected-resource":{"get":{"tags":["mcp-oauth"],"summary":"Oauth Protected Resource Metadata","operationId":"oauth_protected_resource_metadata__well_known_oauth_protected_resource_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Oauth Protected Resource Metadata  Well Known Oauth Protected Resource Get"}}}}}}},"/.well-known/openid-configuration":{"get":{"tags":["mcp-oauth"],"summary":"Oauth Authorization Server Metadata","operationId":"oauth_authorization_server_metadata__well_known_openid_configuration_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Oauth Authorization Server Metadata  Well Known Openid Configuration Get"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"tags":["mcp-oauth"],"summary":"Oauth Authorization Server Metadata","operationId":"oauth_authorization_server_metadata__well_known_oauth_authorization_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Oauth Authorization Server Metadata  Well Known Oauth Authorization Server Get"}}}}}}},"/.well-known/openai-apps-challenge":{"get":{"tags":["mcp-oauth"],"summary":"Openai Apps Challenge","operationId":"openai_apps_challenge__well_known_openai_apps_challenge_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Verification token not configured"}}}},"/v1/mcp/oauth/register":{"post":{"tags":["mcp-oauth"],"summary":"Register Mcp Oauth Client","operationId":"register_mcp_oauth_client_v1_mcp_oauth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpOAuthClientRegistration"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/oauth/authorize":{"get":{"tags":["mcp-oauth"],"summary":"Authorize Mcp Oauth Client","operationId":"authorize_mcp_oauth_client_v1_mcp_oauth_authorize_get","parameters":[{"name":"response_type","in":"query","required":true,"schema":{"type":"string","title":"Response Type"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","title":"Redirect Uri"}},{"name":"code_challenge","in":"query","required":true,"schema":{"type":"string","title":"Code Challenge"}},{"name":"code_challenge_method","in":"query","required":true,"schema":{"type":"string","title":"Code Challenge Method"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string","default":"mcp:tools","title":"Scope"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"resource","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["mcp-oauth"],"summary":"Decide Mcp Oauth Authorization","operationId":"decide_mcp_oauth_authorization_v1_mcp_oauth_authorize_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/oauth/token":{"post":{"tags":["mcp-oauth"],"summary":"Exchange Mcp Oauth Token","operationId":"exchange_mcp_oauth_token_v1_mcp_oauth_token_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/mcp/integrations/state":{"get":{"tags":["mcp-oauth"],"summary":"Get Mcp Integrations State","operationId":"get_mcp_integrations_state_v1_mcp_integrations_state_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpIntegrationStateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/integrations/{client_id}/revoke":{"post":{"tags":["mcp-oauth"],"summary":"Revoke Mcp Integration Client","operationId":"revoke_mcp_integration_client_v1_mcp_integrations__client_id__revoke_post","parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpIntegrationRevokeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/integrations/{client_id}/restore":{"post":{"tags":["mcp-oauth"],"summary":"Restore Mcp Integration Client","operationId":"restore_mcp_integration_client_v1_mcp_integrations__client_id__restore_post","parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpIntegrationRevokeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/sse":{"get":{"tags":["mcp-server"],"summary":"Mcp Sse","description":"MCP SSE transport endpoint.\n\nThe client opens this SSE connection and receives an ``endpoint`` event\ncontaining the URL to POST JSON-RPC messages to. Then it receives\nperiodic heartbeats. Tool results are returned synchronously via the\nJSON-RPC POST endpoint, not pushed through SSE.","operationId":"mcp_sse_v1_mcp_sse_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["mcp-server"],"summary":"Mcp Sse Jsonrpc","description":"Streamable-HTTP compatibility for clients that POST JSON-RPC to the MCP URL.\n\nChatGPT Developer Mode posts JSON-RPC messages to the exact configured MCP\nserver URL. Keep this as a thin alias over ``/v1/mcp/message`` so identity,\norg, quota, audit, and tool execution stay single-sourced.","operationId":"mcp_sse_jsonrpc_v1_mcp_sse_post","parameters":[{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpJsonRpcRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mcp Sse Jsonrpc V1 Mcp Sse Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp/message":{"post":{"tags":["mcp-server"],"summary":"Mcp Message","description":"Handle MCP JSON-RPC messages: initialize, tools/list, tools/call.","operationId":"mcp_message_v1_mcp_message_post","parameters":[{"name":"session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpJsonRpcRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Mcp Message V1 Mcp Message Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/postman.json":{"get":{"tags":["developer-tools"],"summary":"Export Postman Collection","description":"Export the live API as a Postman Collection 2.1 document.\n\nPublic endpoint — no authentication required.","operationId":"export_postman_collection_v1_public_postman_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/evidence/ingest":{"post":{"tags":["evidence"],"summary":"Ingest Evidence","operationId":"ingest_evidence_v1_evidence_ingest_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestRequestBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Ingest Evidence V1 Evidence Ingest Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evidence/dossiers":{"get":{"tags":["evidence"],"summary":"List Dossiers","operationId":"list_dossiers_v1_evidence_dossiers_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Platform"}},{"name":"include_public","in":"query","required":false,"schema":{"type":"boolean","description":"Include community-pool dossiers seeded from public intel feeds (CryptoScamDB et al).","default":true,"title":"Include Public"},"description":"Include community-pool dossiers seeded from public intel feeds (CryptoScamDB et al)."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Dossiers V1 Evidence Dossiers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evidence/by-decision/{decision_id}":{"get":{"tags":["evidence"],"summary":"Get Dossier By Decision","description":"Tenant-private bridge from an incident/decision to its evidence casefile.","operationId":"get_dossier_by_decision_v1_evidence_by_decision__decision_id__get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Dossier By Decision V1 Evidence By Decision  Decision Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evidence/dossiers/{dossier_id}":{"get":{"tags":["evidence"],"summary":"Get Dossier","operationId":"get_dossier_v1_evidence_dossiers__dossier_id__get","parameters":[{"name":"dossier_id","in":"path","required":true,"schema":{"type":"integer","title":"Dossier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Dossier V1 Evidence Dossiers  Dossier Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["evidence"],"summary":"Patch Dossier","operationId":"patch_dossier_v1_evidence_dossiers__dossier_id__patch","parameters":[{"name":"dossier_id","in":"path","required":true,"schema":{"type":"integer","title":"Dossier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DossierPatchBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Patch Dossier V1 Evidence Dossiers  Dossier Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evidence/dossiers/{dossier_id}/link":{"post":{"tags":["evidence"],"summary":"Link Dossier","operationId":"link_dossier_v1_evidence_dossiers__dossier_id__link_post","parameters":[{"name":"dossier_id","in":"path","required":true,"schema":{"type":"integer","title":"Dossier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkRequestBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Link Dossier V1 Evidence Dossiers  Dossier Id  Link Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evidence/dossiers/{dossier_id}/graph":{"get":{"tags":["evidence"],"summary":"Get Dossier Graph","operationId":"get_dossier_graph_v1_evidence_dossiers__dossier_id__graph_get","parameters":[{"name":"dossier_id","in":"path","required":true,"schema":{"type":"integer","title":"Dossier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Dossier Graph V1 Evidence Dossiers  Dossier Id  Graph Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evidence/dossiers/{dossier_id}/export":{"post":{"tags":["evidence"],"summary":"Export Dossier","description":"EVID-05: Generate a Law Enforcement Evidence Pack. Admin-only.\nCaller must provide a non-empty `legal_basis_attestation` — this\nis the operator's stated legal basis for the export and is stored\non the EvidenceExport row alongside the PQC signature.","operationId":"export_dossier_v1_evidence_dossiers__dossier_id__export_post","parameters":[{"name":"dossier_id","in":"path","required":true,"schema":{"type":"integer","title":"Dossier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequestBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Export Dossier V1 Evidence Dossiers  Dossier Id  Export Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/evidence/dossiers/{dossier_id}/exports":{"get":{"tags":["evidence"],"summary":"List Exports","operationId":"list_exports_v1_evidence_dossiers__dossier_id__exports_get","parameters":[{"name":"dossier_id","in":"path","required":true,"schema":{"type":"integer","title":"Dossier Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Exports V1 Evidence Dossiers  Dossier Id  Exports Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-intel/feeds":{"get":{"tags":["threat-intel"],"summary":"List Feeds","operationId":"list_feeds_v1_threat_intel_feeds_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-intel/feeds/{feed_id}/indicators":{"get":{"tags":["threat-intel"],"summary":"List Feed Indicators","operationId":"list_feed_indicators_v1_threat_intel_feeds__feed_id__indicators_get","parameters":[{"name":"feed_id","in":"path","required":true,"schema":{"type":"string","title":"Feed Id"}},{"name":"entry_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entry Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-intel/custom-iocs":{"get":{"tags":["threat-intel"],"summary":"List Custom Iocs","operationId":"list_custom_iocs_v1_threat_intel_custom_iocs_get","parameters":[{"name":"entry_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entry Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["threat-intel"],"summary":"Create Custom Ioc","operationId":"create_custom_ioc_v1_threat_intel_custom_iocs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomIocCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntelIndicatorOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-intel/custom-iocs/{ioc_id}":{"delete":{"tags":["threat-intel"],"summary":"Delete Custom Ioc","operationId":"delete_custom_ioc_v1_threat_intel_custom_iocs__ioc_id__delete","parameters":[{"name":"ioc_id","in":"path","required":true,"schema":{"type":"integer","title":"Ioc Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomIocDeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-intel/iocs/search":{"get":{"tags":["threat-intel"],"summary":"Search Iocs","operationId":"search_iocs_v1_threat_intel_iocs_search_get","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":255,"title":"Query"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndicatorsPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/threat-intel/extension/bloom-filter":{"get":{"tags":["threat-intel"],"summary":"Get Extension Bloom Filter","description":"Serve compressed Bloom filter for extension-side offline prefilter.\nAuth: extension API key or web session (same as other extension endpoints).","operationId":"get_extension_bloom_filter_v1_threat_intel_extension_bloom_filter_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtensionBloomFilterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/domains/{domain}/score":{"get":{"tags":["reputation"],"summary":"Domain Score","operationId":"domain_score_v1_reputation_domains__domain__score_get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainScoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/batch":{"post":{"tags":["reputation"],"summary":"Batch Score","operationId":"batch_score_v1_reputation_batch_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchReputationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchReputationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/users/{user_ref}/score":{"get":{"tags":["reputation"],"summary":"User Score","operationId":"user_score_v1_reputation_users__user_ref__score_get","parameters":[{"name":"user_ref","in":"path","required":true,"schema":{"type":"string","title":"User Ref"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserScoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/whitelist/domains":{"get":{"tags":["reputation"],"summary":"List Whitelist Domains","operationId":"list_whitelist_domains_v1_reputation_whitelist_domains_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["reputation"],"summary":"Add Whitelist Domain","operationId":"add_whitelist_domain_v1_reputation_whitelist_domains_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListAddRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListMutationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/whitelist/domains/{entry_id}":{"delete":{"tags":["reputation"],"summary":"Delete Whitelist Domain","operationId":"delete_whitelist_domain_v1_reputation_whitelist_domains__entry_id__delete","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"integer","title":"Entry Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListMutationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/blacklist/domains":{"get":{"tags":["reputation"],"summary":"List Blacklist Domains","operationId":"list_blacklist_domains_v1_reputation_blacklist_domains_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListPage"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["reputation"],"summary":"Add Blacklist Domain","operationId":"add_blacklist_domain_v1_reputation_blacklist_domains_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListAddRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListMutationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/blacklist/domains/{entry_id}":{"delete":{"tags":["reputation"],"summary":"Delete Blacklist Domain","operationId":"delete_blacklist_domain_v1_reputation_blacklist_domains__entry_id__delete","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"integer","title":"Entry Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainListMutationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/health":{"get":{"tags":["reputation","reputation_public"],"summary":"Reputation Health","description":"Public liveness probe for synthetic monitoring.\n\nThis endpoint intentionally does not expose tenant data and does not\nrequire auth; it only proves the reputation router is mounted.","operationId":"reputation_health_v1_reputation_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Reputation Health V1 Reputation Health Get"}}}}}}},"/v1/reputation/":{"get":{"tags":["reputation","reputation_enterprise"],"summary":"Get Reputation Summary","description":"Get reputation summary","operationId":"get_reputation_summary_v1_reputation__get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Reputation Summary V1 Reputation  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/{kind}/domains":{"get":{"tags":["reputation","reputation_enterprise"],"summary":"Get Domain List By Kind","description":"List blocked domains by kind","operationId":"get_domain_list_by_kind_v1_reputation__kind__domains_get","parameters":[{"name":"kind","in":"path","required":true,"schema":{"type":"string","title":"Kind"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Domain List By Kind V1 Reputation  Kind  Domains Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["reputation","reputation_enterprise"],"summary":"Add Domain To List","description":"Add domain to list","operationId":"add_domain_to_list_v1_reputation__kind__domains_post","parameters":[{"name":"kind","in":"path","required":true,"schema":{"type":"string","title":"Kind"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReputationEntryCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/reputation/{kind}/domains/{entry_id}":{"delete":{"tags":["reputation","reputation_enterprise"],"summary":"Delete Reputation Domain","description":"Remove domain from list","operationId":"delete_reputation_domain_v1_reputation__kind__domains__entry_id__delete","parameters":[{"name":"kind","in":"path","required":true,"schema":{"type":"string","title":"Kind"}},{"name":"entry_id","in":"path","required":true,"schema":{"type":"integer","title":"Entry Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Delete Reputation Domain V1 Reputation  Kind  Domains  Entry Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/reputation/domain/{domain}":{"get":{"tags":["reputation_public"],"summary":"Public Domain Reputation","description":"NET-03 / Strategic Product Surface #5: public, no-auth Reputation\nAPI. Returns a minimal verdict envelope keyed only on\ncryptographic / canonical sources — no per-org policy data leaks\nvia this endpoint (org-scoped allow/deny lists are intentionally\nexcluded). The response is PQC-signed via the hybrid identity\ncore so external partners (exchanges, wallets, Discord bots, JS\nSDK consumers) can verify the response cryptographically through\nthe public `/v1/identity/public-verify` endpoint without holding\na SecuriLayer account.\n\nVerdict tiers:\n  `block`    — present in any global ThreatIndicator with\n               severity high/critical\n  `warn`     — present in suspicious indicator OR matched by\n               open intel signal\n  `allow`    — no negative signal observed (NOT a positive\n               reputation claim — absence of evidence)","operationId":"public_domain_reputation_v1_public_reputation_domain__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Public Domain Reputation V1 Public Reputation Domain  Domain  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/reputation/wallet/{wallet}":{"get":{"tags":["reputation_public"],"summary":"Public Wallet Reputation","description":"NET-03 (a) post-Foundation gap closure: wallet-address reputation\nlookup over the public PQC-signed surface. Same envelope shape as\n/domain/{domain}; same legal/cryptographic contract.\n\nEVM addresses are normalized to lowercase (case-insensitive on the\nwire, EIP-55 checksum is informational only). Other chains keep\ntheir canonical form.","operationId":"public_wallet_reputation_v1_public_reputation_wallet__wallet__get","parameters":[{"name":"wallet","in":"path","required":true,"schema":{"type":"string","title":"Wallet"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Public Wallet Reputation V1 Public Reputation Wallet  Wallet  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/reputation/actor/{platform}/{handle}":{"get":{"tags":["reputation_public"],"summary":"Public Actor Reputation","description":"NET-03 (a) post-Foundation gap closure: actor-handle reputation\nlookup over the public PQC-signed surface. Returns the same\nenvelope shape as /domain/{domain}.\n\nPath: `/v1/public/reputation/actor/{platform}/{handle}`. Examples:\n  `/actor/telegram/fake_admin_999`\n  `/actor/discord/scammer42`\n\nThe lookup is canonicalized as `<platform>:<handle>` (lowercased,\n@-prefix stripped). No per-tenant data is exposed.","operationId":"public_actor_reputation_v1_public_reputation_actor__platform___handle__get","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","title":"Platform"}},{"name":"handle","in":"path","required":true,"schema":{"type":"string","title":"Handle"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Public Actor Reputation V1 Public Reputation Actor  Platform   Handle  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/reputation/stix2/domain/{domain}":{"get":{"tags":["reputation_public"],"summary":"Public Domain Reputation Stix2","description":"NET-03 (c) post-Foundation gap closure: STIX2 export adapter for the\nconsortium tier. Wraps the same canonical reputation envelope in a\nSTIX 2.1 Bundle so SIEM / TIP consumers that speak STIX can ingest\nSecuriLayer reputation directly.\n\nAlways returns a Bundle with one Indicator object + one Identity\nobject (the SecuriLayer signer). The native SecuriLayer envelope\nis preserved under `x_securilayer_envelope` extension property so\nthe downstream consumer can verify the PQC signature against\n`/v1/identity/public-verify` if they care.","operationId":"public_domain_reputation_stix2_v1_public_reputation_stix2_domain__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Public Domain Reputation Stix2 V1 Public Reputation Stix2 Domain  Domain  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/response-engine/plans":{"get":{"tags":["response_engine"],"summary":"List Response Plans","operationId":"list_response_plans_v1_response_engine_plans_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResponsePlanItem"},"title":"Response List Response Plans V1 Response Engine Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/response-engine/plans/{plan_id}":{"get":{"tags":["response_engine"],"summary":"Get Response Plan","operationId":"get_response_plan_v1_response_engine_plans__plan_id__get","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","title":"Plan Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponsePlanItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/response-engine/evaluate":{"post":{"tags":["response_engine"],"summary":"Evaluate Response Plan","operationId":"evaluate_response_plan_v1_response_engine_evaluate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponseEvaluateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResponsePlanItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/response-engine/forensics/{decision_id}":{"get":{"tags":["response_engine"],"summary":"Get Forensic Timeline","operationId":"get_forensic_timeline_v1_response_engine_forensics__decision_id__get","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ForensicTimelineItem"},"title":"Response Get Forensic Timeline V1 Response Engine Forensics  Decision Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sandbox/simulate":{"get":{"tags":["developer-sandbox"],"summary":"Simulate Decision","operationId":"simulate_decision_api_v1_sandbox_simulate_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","minLength":8,"maxLength":2048,"description":"Target URL to simulate.","title":"Url"},"description":"Target URL to simulate."},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SandboxSimulateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bans":{"post":{"tags":["bans"],"summary":"Create Ban","operationId":"create_ban_v1_bans_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_ban_v1_bans_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["bans"],"summary":"List Bans","description":"List all bans for the organization with optional filters.","operationId":"list_bans_v1_bans_get","parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bans/export":{"get":{"tags":["bans"],"summary":"Export Bans","description":"Export bans in specified format (csv or json).","operationId":"export_bans_v1_bans_export_get","parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"csv","title":"Format"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bans/{ban_id}":{"delete":{"tags":["bans"],"summary":"Delete Ban","operationId":"delete_ban_v1_bans__ban_id__delete","parameters":[{"name":"ban_id","in":"path","required":true,"schema":{"type":"string","title":"Ban Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Delete Ban V1 Bans  Ban Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bans/import":{"post":{"tags":["bans"],"summary":"Import Bans","operationId":"import_bans_v1_bans_import_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_bans_v1_bans_import_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/x/webhook":{"get":{"tags":["x_twitter"],"summary":"X Crc Challenge","description":"Twitter Account Activity API CRC challenge endpoint.\nReturns SHA-256 HMAC of crc_token using TWITTER_CONSUMER_SECRET.","operationId":"x_crc_challenge_v1_integrations_x_webhook_get","parameters":[{"name":"crc_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crc Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response X Crc Challenge V1 Integrations X Webhook Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["x_twitter"],"summary":"X Webhook Events","description":"Receives events from Twitter Account Activity API (Mentions, DMs).","operationId":"x_webhook_events_v1_integrations_x_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/integrations/x/login":{"get":{"tags":["x_twitter"],"summary":"Login X Account","description":"Browser-friendly entrypoint used by landing/webapp buttons.\nRedirects directly to X OAuth authorize URL.","operationId":"login_x_account_v1_integrations_x_login_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/x/link":{"post":{"tags":["x_twitter"],"summary":"Link X Account","description":"Start linking process. Generates OAuth2 PKCE URL.","operationId":"link_x_account_v1_integrations_x_link_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LinkXRequest"},{"type":"null"}],"title":"Req"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Link X Account V1 Integrations X Link Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["x_twitter"],"summary":"Unlink X Account","description":"Unlink the X account for the current organization.","operationId":"unlink_x_account_v1_integrations_x_link_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Unlink X Account V1 Integrations X Link Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/x/auth/callback":{"get":{"tags":["x_twitter"],"summary":"X Auth Callback","description":"Real OAuth callback. Exchanges the code for an access token via X API.","operationId":"x_auth_callback_v1_integrations_x_auth_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/x/config":{"get":{"tags":["x_twitter"],"summary":"Get X Config","description":"Retrieve X integration settings and status for the current org.","operationId":"get_x_config_v1_integrations_x_config_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get X Config V1 Integrations X Config Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/x/status":{"get":{"tags":["x_twitter"],"summary":"Get X Status","operationId":"get_x_status_v1_integrations_x_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get X Status V1 Integrations X Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/x/analyze":{"post":{"tags":["x_twitter"],"summary":"Analyze Tweet","operationId":"analyze_tweet_v1_integrations_x_analyze_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XAnalyzeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Analyze Tweet V1 Integrations X Analyze Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/login":{"get":{"tags":["slack_bot"],"summary":"Login Slack","operationId":"login_slack_v1_integrations_slack_login_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/callback":{"get":{"tags":["slack_bot"],"summary":"Callback Slack","operationId":"callback_slack_v1_integrations_slack_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/command":{"post":{"tags":["slack_bot"],"summary":"Slack Commands","operationId":"slack_commands_v1_integrations_slack_command_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Slack Commands V1 Integrations Slack Command Post"}}}}}}},"/v1/integrations/slack/commands":{"post":{"tags":["slack_bot"],"summary":"Slack Commands","operationId":"slack_commands_v1_integrations_slack_commands_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Slack Commands V1 Integrations Slack Commands Post"}}}}}}},"/v1/integrations/slack/events":{"post":{"tags":["slack_bot"],"summary":"Slack Events","operationId":"slack_events_v1_integrations_slack_events_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/integrations/slack/workspaces":{"get":{"tags":["slack_bot"],"summary":"List Slack Workspaces","operationId":"list_slack_workspaces_v1_integrations_slack_workspaces_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object"}},"title":"Response List Slack Workspaces V1 Integrations Slack Workspaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/workspaces/{team_id}":{"delete":{"tags":["slack_bot"],"summary":"Unlink Workspace","operationId":"unlink_workspace_v1_integrations_slack_workspaces__team_id__delete","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Unlink Workspace V1 Integrations Slack Workspaces  Team Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/workspaces/{team_id}/unlink":{"post":{"tags":["slack_bot"],"summary":"Unlink Workspace Post","operationId":"unlink_workspace_post_v1_integrations_slack_workspaces__team_id__unlink_post","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Unlink Workspace Post V1 Integrations Slack Workspaces  Team Id  Unlink Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/workspaces/{team_id}/settings":{"patch":{"tags":["slack_bot"],"summary":"Update Workspace Settings","operationId":"update_workspace_settings_v1_integrations_slack_workspaces__team_id__settings_patch","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackWorkspaceSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackWorkspaceSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["slack_bot"],"summary":"Update Workspace Settings Post","operationId":"update_workspace_settings_post_v1_integrations_slack_workspaces__team_id__settings_post","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackWorkspaceSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackWorkspaceSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/diagnostics/{team_id}":{"get":{"tags":["slack_bot"],"summary":"Workspace Diagnostics","operationId":"workspace_diagnostics_v1_integrations_slack_diagnostics__team_id__get","parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Workspace Diagnostics V1 Integrations Slack Diagnostics  Team Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/integrations/slack/diagnostics":{"get":{"tags":["slack_bot"],"summary":"Get Slack Diagnostics","description":"Bot diagnostics","operationId":"get_slack_diagnostics_v1_integrations_slack_diagnostics_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Slack Diagnostics V1 Integrations Slack Diagnostics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/security/":{"get":{"tags":["security_info"],"summary":"Get Security Info","operationId":"get_security_info_v1_security__get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Security Info V1 Security  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/health":{"get":{"tags":["twitter_monitor"],"summary":"Twitter Health","description":"Health check — API v2 readiness.","operationId":"twitter_health_v1_twitter_health_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Twitter Health V1 Twitter Health Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/scan-now":{"post":{"tags":["twitter_monitor"],"summary":"Scan Now","description":"On-demand keyword scan via Twitter API v2.\n\nSteps:\n1. tweepy.search_recent_tweets for each keyword\n2. Each tweet → pass through ML engine (URL scanner)\n3. ml_score > 0.7 → create PartnerPlatformEvent + TwitterMention\n4. Return {scanned_keywords, new_threats, actions_taken}","operationId":"scan_now_v1_twitter_scan_now_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Scan Now V1 Twitter Scan Now Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/impersonation":{"get":{"tags":["twitter_monitor"],"summary":"Get Impersonation","description":"Список потенциальных аккаунтов-двойников бренда.\n\nReturns: [{username, display_name, similarity_score, followers, verified, profile_url}]","operationId":"get_impersonation_v1_twitter_impersonation_get","parameters":[{"name":"brand_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Impersonation V1 Twitter Impersonation Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/block-user":{"post":{"tags":["twitter_monitor"],"summary":"Block Twitter User","description":"Блокирует через OAuth токены org. Пишет в PartnerPlatformEvent.","operationId":"block_twitter_user_v1_twitter_block_user_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockUserRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Block Twitter User V1 Twitter Block User Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/reply-threats":{"get":{"tags":["twitter_monitor"],"summary":"Get Reply Threats","description":"Скам в реплаях под постами org.\n\nReturns: [{tweet_id, author_username, text, ml_score, links, detected_at}]","operationId":"get_reply_threats_v1_twitter_reply_threats_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Reply Threats V1 Twitter Reply Threats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/keywords":{"get":{"tags":["twitter_monitor"],"summary":"List Keywords","description":"List active monitoring keywords for org.","operationId":"list_keywords_v1_twitter_keywords_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Keywords V1 Twitter Keywords Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["twitter_monitor"],"summary":"Add Keyword","description":"Add a keyword to monitor.","operationId":"add_keyword_v1_twitter_keywords_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Add Keyword V1 Twitter Keywords Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/keywords/{keyword_id}":{"delete":{"tags":["twitter_monitor"],"summary":"Delete Keyword","description":"Deactivate a keyword.","operationId":"delete_keyword_v1_twitter_keywords__keyword_id__delete","parameters":[{"name":"keyword_id","in":"path","required":true,"schema":{"type":"integer","title":"Keyword Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Delete Keyword V1 Twitter Keywords  Keyword Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/mentions":{"get":{"tags":["twitter_monitor"],"summary":"List Mentions","description":"Recent tweet mentions found by the monitor.","operationId":"list_mentions_v1_twitter_mentions_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"verdict","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verdict"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Mentions V1 Twitter Mentions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/twitter/quota":{"get":{"tags":["twitter_monitor"],"summary":"Get Twitter Quota","description":"Twitter API Quota","operationId":"get_twitter_quota_v1_twitter_quota_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Twitter Quota V1 Twitter Quota Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner-platforms/capabilities":{"get":{"tags":["partner_platforms"],"summary":"Partner Platform Capabilities","operationId":"partner_platform_capabilities_v1_partner_platforms_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Partner Platform Capabilities V1 Partner Platforms Capabilities Get"}}}}}}},"/v1/partner-platforms":{"get":{"tags":["partner_platforms"],"summary":"List Partner Bots","description":"Список всех ботов организации. Возвращает credentials БЕЗ секретных полей.","operationId":"list_partner_bots_v1_partner_platforms_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"},"title":"Response List Partner Bots V1 Partner Platforms Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["partner_platforms"],"summary":"Register Partner Bot","description":"Регистрировать бота.\nТело: {platform, bot_display_name, credentials: {...}}","operationId":"register_partner_bot_v1_partner_platforms_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Register Partner Bot V1 Partner Platforms Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner-platforms/validate-name":{"post":{"tags":["partner_platforms"],"summary":"Check Bot Name","description":"Тело: {display_name: str}\nЭтот endpoint НЕ требует аутентификации (вызывается до регистрации).\nГлобальный per-IP RateLimitMiddleware защищает публичный helper от burst abuse.","operationId":"check_bot_name_v1_partner_platforms_validate_name_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateBotNameRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Check Bot Name V1 Partner Platforms Validate Name Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner-platforms/{bot_id}/settings":{"patch":{"tags":["partner_platforms"],"summary":"Update Bot Settings","description":"Изменить настройки бота (порог чувствительности, авто-действие).","operationId":"update_bot_settings_v1_partner_platforms__bot_id__settings_patch","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"integer","title":"Bot Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Bot Settings V1 Partner Platforms  Bot Id  Settings Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner-platforms/{bot_id}/test":{"post":{"tags":["partner_platforms"],"summary":"Test Bot Credentials","description":"Тест credentials. Запускает проверку связи с платформой.","operationId":"test_bot_credentials_v1_partner_platforms__bot_id__test_post","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"integer","title":"Bot Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Test Bot Credentials V1 Partner Platforms  Bot Id  Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner-platforms/{bot_id}":{"delete":{"tags":["partner_platforms"],"summary":"Delete Partner Bot","description":"Деактивировать и удалить бота.","operationId":"delete_partner_bot_v1_partner_platforms__bot_id__delete","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"integer","title":"Bot Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Delete Partner Bot V1 Partner Platforms  Bot Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner-platforms/{bot_id}/events":{"get":{"tags":["partner_platforms"],"summary":"Get Bot Events","description":"Последние события бота.","operationId":"get_bot_events_v1_partner_platforms__bot_id__events_get","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"integer","title":"Bot Id"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"}},{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Bot Events V1 Partner Platforms  Bot Id  Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/whatsapp/webhook":{"get":{"tags":["partner_whatsapp"],"summary":"Whatsapp Webhook Verify","description":"Meta webhook verification — GET with hub.challenge.\n\nMeta sends: ?hub.mode=subscribe&hub.verify_token=XXX&hub.challenge=YYY\nWe must return hub.challenge as plain text if verify_token matches.","operationId":"whatsapp_webhook_verify_v1_partner_whatsapp_webhook_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["partner_whatsapp"],"summary":"Whatsapp Webhook Incoming","description":"Process incoming WhatsApp messages from Meta Cloud API.\n\nSteps:\n1. Verify X-Hub-Signature-256 if app_secret is configured\n2. Parse message from webhook payload\n3. Scan text + URLs through ML engine\n4. If threat detected → send warning + create PartnerPlatformEvent\n5. Write to DecisionContract with platform='whatsapp'","operationId":"whatsapp_webhook_incoming_v1_partner_whatsapp_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/partner/whatsapp/stats":{"get":{"tags":["partner_whatsapp"],"summary":"Whatsapp Stats","description":"WhatsApp scanning statistics.","operationId":"whatsapp_stats_v1_partner_whatsapp_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Whatsapp Stats V1 Partner Whatsapp Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/whatsapp/verify":{"post":{"tags":["partner_whatsapp"],"summary":"Verify Whatsapp Credentials","description":"Re-verify WhatsApp credentials via Meta API.","operationId":"verify_whatsapp_credentials_v1_partner_whatsapp_verify_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Verify Whatsapp Credentials V1 Partner Whatsapp Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/whatsapp/settings":{"post":{"tags":["partner_whatsapp"],"summary":"Update Whatsapp Settings","description":"Update WhatsApp bot credentials and moderation settings.","operationId":"update_whatsapp_settings_v1_partner_whatsapp_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhatsAppSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Whatsapp Settings V1 Partner Whatsapp Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_whatsapp"],"summary":"Get Whatsapp Settings","description":"Get current WhatsApp bot settings.","operationId":"get_whatsapp_settings_v1_partner_whatsapp_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Whatsapp Settings V1 Partner Whatsapp Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/whatsapp/threats":{"get":{"tags":["partner_whatsapp"],"summary":"List Whatsapp Threats","description":"Recent WhatsApp threats (PartnerPlatformEvents).","operationId":"list_whatsapp_threats_v1_partner_whatsapp_threats_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Whatsapp Threats V1 Partner Whatsapp Threats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/whatsapp/webhook-url":{"get":{"tags":["partner_whatsapp"],"summary":"Get Webhook Url","description":"Return the webhook URL for Meta Business Manager configuration.","operationId":"get_webhook_url_v1_partner_whatsapp_webhook_url_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Get Webhook Url V1 Partner Whatsapp Webhook Url Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/whatsapp/numbers":{"get":{"tags":["partner_whatsapp"],"summary":"List Whatsapp Numbers","description":"PLAT-05 SEALED contract: surface every active WhatsApp business phone\nnumber this organization has connected, so the LK can render a multi-number\nrouting UI rather than pretending each org has exactly one number.\n\nEach item exposes the phone_number_id (Meta routing key), display name,\nlast activity, today's event count, and lifetime scam-detected count. The\nraw access_token is never returned — credentials stay encrypted at rest.","operationId":"list_whatsapp_numbers_v1_partner_whatsapp_numbers_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Whatsapp Numbers V1 Partner Whatsapp Numbers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/viber/webhook":{"post":{"tags":["partner_viber"],"summary":"Viber Webhook","description":"Прием обновлений от Viber API.","operationId":"viber_webhook_v1_partner_viber_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/partner/viber/stats":{"get":{"tags":["partner_viber"],"summary":"Get Viber Stats","operationId":"get_viber_stats_v1_partner_viber_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Viber Stats V1 Partner Viber Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/viber/setup":{"post":{"tags":["partner_viber"],"summary":"Setup Viber Webhook","operationId":"setup_viber_webhook_v1_partner_viber_setup_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Setup Viber Webhook V1 Partner Viber Setup Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/viber/settings":{"post":{"tags":["partner_viber"],"summary":"Update Viber Settings","description":"Update Viber bot credentials and moderation settings.","operationId":"update_viber_settings_v1_partner_viber_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ViberSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Viber Settings V1 Partner Viber Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_viber"],"summary":"Get Viber Settings","operationId":"get_viber_settings_v1_partner_viber_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Viber Settings V1 Partner Viber Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/line/webhook":{"post":{"tags":["partner_line"],"summary":"Line Webhook","description":"Прием обновлений от Line API.","operationId":"line_webhook_v1_partner_line_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/partner/line/stats":{"get":{"tags":["partner_line"],"summary":"Get Line Stats","operationId":"get_line_stats_v1_partner_line_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Line Stats V1 Partner Line Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/line/settings":{"post":{"tags":["partner_line"],"summary":"Update Line Settings","description":"Update Line bot credentials and moderation settings.","operationId":"update_line_settings_v1_partner_line_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LineSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Line Settings V1 Partner Line Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_line"],"summary":"Get Line Settings","operationId":"get_line_settings_v1_partner_line_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Line Settings V1 Partner Line Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/meta/webhook":{"get":{"tags":["partner_meta"],"summary":"Meta Webhook Verify","description":"Верификация вебхука Meta (hub.challenge).","operationId":"meta_webhook_verify_v1_partner_meta_webhook_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["partner_meta"],"summary":"Meta Webhook","description":"Legacy unified Meta webhook.\n\nPLAT-06 / PLAT-07 SEALED contract: dispatch by canonical Meta `object`\ndiscriminator to the platform-native processor. Existing customers who\npointed Meta Business Suite at `/v1/partner/meta/webhook` continue to\nwork; new customers should configure Facebook → `/v1/partner/facebook/webhook`\nand Instagram → `/v1/partner/instagram/webhook` directly.\n\nThe body is read once for signature verification, then re-fed into the\nper-platform processor — the processors re-read `request.body()`, which\nStarlette caches on the Request object.","operationId":"meta_webhook_v1_partner_meta_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/partner/meta/settings":{"post":{"tags":["partner_meta"],"summary":"Update Meta Settings","description":"Update Meta bot credentials and moderation settings.","operationId":"update_meta_settings_v1_partner_meta_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Meta Settings V1 Partner Meta Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_meta"],"summary":"Get Meta Settings","operationId":"get_meta_settings_v1_partner_meta_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Meta Settings V1 Partner Meta Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/meta/stats":{"get":{"tags":["partner_meta"],"summary":"Get Meta Stats","operationId":"get_meta_stats_v1_partner_meta_stats_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"type":"string","default":"facebook","title":"Platform"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Meta Stats V1 Partner Meta Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/facebook/webhook":{"get":{"tags":["partner_facebook"],"summary":"Facebook Webhook Verify","description":"Meta webhook verification (hub.challenge echo).","operationId":"facebook_webhook_verify_v1_partner_facebook_webhook_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["partner_facebook"],"summary":"Facebook Webhook","description":"Facebook Page webhook receiver — feed comments + mentions + posts.","operationId":"facebook_webhook_v1_partner_facebook_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/partner/facebook/pages":{"get":{"tags":["partner_facebook"],"summary":"List Pages","description":"PLAT-06 SEALED contract: surface every Facebook Page this org's bot\naccess token can manage. Powers the LK page-scope picker so an operator\ncan confirm coverage rather than discover it from incident traffic.\n\nPage access tokens are NEVER returned to the client. The raw response\nfrom `GET /me/accounts` carries `access_token` per page; we strip it.","operationId":"list_pages_v1_partner_facebook_pages_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Pages V1 Partner Facebook Pages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/facebook/settings":{"post":{"tags":["partner_facebook"],"summary":"Update Facebook Settings","description":"Update Facebook bot credentials and moderation settings.","operationId":"update_facebook_settings_v1_partner_facebook_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FacebookSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Facebook Settings V1 Partner Facebook Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_facebook"],"summary":"Get Facebook Settings","operationId":"get_facebook_settings_v1_partner_facebook_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Facebook Settings V1 Partner Facebook Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/facebook/stats":{"get":{"tags":["partner_facebook"],"summary":"Get Facebook Stats","operationId":"get_facebook_stats_v1_partner_facebook_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Facebook Stats V1 Partner Facebook Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/instagram/webhook":{"get":{"tags":["partner_instagram"],"summary":"Instagram Webhook Verify","description":"Meta webhook verification (hub.challenge echo).","operationId":"instagram_webhook_verify_v1_partner_instagram_webhook_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["partner_instagram"],"summary":"Instagram Webhook","operationId":"instagram_webhook_v1_partner_instagram_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/partner/instagram/accounts":{"get":{"tags":["partner_instagram"],"summary":"List Instagram Accounts","description":"PLAT-07 SEALED contract: surface every IG Business Account this org's bot\naccess token can manage, with the parent Page id used for routing.","operationId":"list_instagram_accounts_v1_partner_instagram_accounts_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Instagram Accounts V1 Partner Instagram Accounts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/instagram/settings":{"post":{"tags":["partner_instagram"],"summary":"Update Instagram Settings","operationId":"update_instagram_settings_v1_partner_instagram_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstagramSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Instagram Settings V1 Partner Instagram Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_instagram"],"summary":"Get Instagram Settings","operationId":"get_instagram_settings_v1_partner_instagram_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Instagram Settings V1 Partner Instagram Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/instagram/stats":{"get":{"tags":["partner_instagram"],"summary":"Get Instagram Stats","operationId":"get_instagram_stats_v1_partner_instagram_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Instagram Stats V1 Partner Instagram Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/reddit/settings":{"post":{"tags":["partner_reddit"],"summary":"Update Reddit Settings","description":"Update Reddit bot credentials and moderation settings.","operationId":"update_reddit_settings_v1_partner_reddit_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedditSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Reddit Settings V1 Partner Reddit Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_reddit"],"summary":"Get Reddit Settings","operationId":"get_reddit_settings_v1_partner_reddit_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Reddit Settings V1 Partner Reddit Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/reddit/stats":{"get":{"tags":["partner_reddit"],"summary":"Get Reddit Stats","operationId":"get_reddit_stats_v1_partner_reddit_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Reddit Stats V1 Partner Reddit Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/reddit/subreddits":{"get":{"tags":["partner_reddit"],"summary":"List Reddit Subreddits","description":"Return configured and OAuth-bound subreddit scopes for the org.","operationId":"list_reddit_subreddits_v1_partner_reddit_subreddits_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Reddit Subreddits V1 Partner Reddit Subreddits Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/reddit/refresh":{"post":{"tags":["partner_reddit"],"summary":"Refresh Reddit Monitor","description":"Перезапуск воркера для этой организации.","operationId":"refresh_reddit_monitor_v1_partner_reddit_refresh_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Refresh Reddit Monitor V1 Partner Reddit Refresh Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/reddit/modqueue":{"get":{"tags":["partner_reddit"],"summary":"Get Reddit Modqueue","description":"PLAT-11 SEALED contract: surface the moderator queue across every\nOAuth-bound or settings-configured subreddit this org monitors.\nPowers the LK modqueue panel so an operator can act on items the bot\nhas not auto-handled. PRAW returns one stream per subreddit; we\nflatten and stamp each item with `subreddit` so the UI can group.\n\nPer-subreddit fetch is wrapped in try/except — a single subreddit\nmisconfiguration (deleted / private / mod-permission revoked) must\nnot blank the entire queue.\n\nSensitive credential surface (client_secret / password) is never\nechoed back; only public Reddit metadata is returned.","operationId":"get_reddit_modqueue_v1_partner_reddit_modqueue_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":25,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Reddit Modqueue V1 Partner Reddit Modqueue Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/reddit/rate-limit":{"get":{"tags":["partner_reddit"],"summary":"Get Reddit Rate Limit","description":"PLAT-11 SEALED contract: surface the live PRAW rate-limit state so the\nLK can render a \"X/Y requests remaining, resets in N seconds\" indicator.\nReads `reddit.auth.limits` which PRAW updates after every API call.\n\nReturned shape:\n  * remaining   — float | None, requests left in the current window\n  * used        — float | None, requests consumed in the window\n  * reset_at    — float | None, unix ts when the window resets\n  * seconds_to_reset — int | None\n  * status      — \"healthy\" | \"warning\" | \"critical\" | \"unknown\"\n\nThresholds: warning when remaining < 60, critical when < 10. Operators\npause heavy moderation actions on critical to avoid a hard 429 lockout.","operationId":"get_reddit_rate_limit_v1_partner_reddit_rate_limit_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Reddit Rate Limit V1 Partner Reddit Rate Limit Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/twitter/{bot_id}/webhook":{"post":{"tags":["partner_twitter"],"summary":"Twitter Webhook","description":"Unified Twitter/X Webhook Handler (Account Activity API).\nStandardized for Partner Ecosystem.","operationId":"twitter_webhook_v1_partner_twitter__bot_id__webhook_post","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"integer","title":"Bot Id"}},{"name":"x-twitter-signature-256","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Twitter-Signature-256"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Twitter Webhook V1 Partner Twitter  Bot Id  Webhook Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/twitter/{bot_id}/stats":{"get":{"tags":["partner_twitter"],"summary":"Get Twitter Bot Stats","description":"Get real-time statistics for the Twitter bot","operationId":"get_twitter_bot_stats_v1_partner_twitter__bot_id__stats_get","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"integer","title":"Bot Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Twitter Bot Stats V1 Partner Twitter  Bot Id  Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/twitter/{bot_id}/rate-limit":{"get":{"tags":["partner_twitter"],"summary":"Get Twitter Rate Limit","description":"PLAT-04 SEALED contract: surface live Twitter / X rate-limit state for\nthe LK panel. Calls Twitter `application/rate_limit_status.json` with\na focused `resources=` filter and reduces the response to a per-family\nsummary (statuses / search / direct_messages / users / application)\nso the operator sees one bar per family, not 200.\n\nPer-family `status` is `healthy` (>=20% of the limit remaining on the\nworst-affected endpoint), `warning` (5%-20%), `critical` (<5%), or\n`unknown` (Twitter returned no useful state). Operators pause heavy\nactions on `critical` to avoid 429 lockouts that disable the bot for\nthe rest of the 15-minute window.\n\nThe full Twitter response is included as `raw` for advanced operators\nand CSV export, but credential fields (`bearer_token`, `access_secret`)\nare never returned.","operationId":"get_twitter_rate_limit_v1_partner_twitter__bot_id__rate_limit_get","parameters":[{"name":"bot_id","in":"path","required":true,"schema":{"type":"integer","title":"Bot Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Twitter Rate Limit V1 Partner Twitter  Bot Id  Rate Limit Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/max/webhook":{"post":{"tags":["partner_max"],"summary":"Max Webhook","description":"Принимает обновления от MAX Bot API.\n\nS-AUDIT-2 Stage C finding #1 (2026-05-19): HMAC signature verification\nvia `SECURILAYER_MAX_WEBHOOK_SECRET` is now ENFORCED. Without the env\nsetting, the endpoint refuses webhook POSTs entirely (security-fail-\nclosed). MAX delivers a hex SHA-256 HMAC in the `X-Max-Signature`\nheader over the raw request body, same scheme as the other partner\nplatforms.","operationId":"max_webhook_v1_partner_max_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/partner/max/stats":{"get":{"tags":["partner_max"],"summary":"Get Max Stats","operationId":"get_max_stats_v1_partner_max_stats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Max Stats V1 Partner Max Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/max/settings":{"post":{"tags":["partner_max"],"summary":"Update Max Settings","description":"Update MAX bot credentials and moderation settings.","operationId":"update_max_settings_v1_partner_max_settings_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MaxSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Max Settings V1 Partner Max Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["partner_max"],"summary":"Get Max Settings","operationId":"get_max_settings_v1_partner_max_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Max Settings V1 Partner Max Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/max/chats/{chat_id}/actions":{"get":{"tags":["partner_max"],"summary":"Get Max Chat Actions","description":"PLAT-10 SEALED contract (PLAT-UX-PACK kick/delete/warn action result feed):\nreturn the recent moderation events for a specific MAX chat. Backs the\nLK panel that shows \"what did the bot do in this chat lately\" so the\noperator can audit kick/delete/warn outcomes per chat without scrolling\nthe global incident feed.\n\nFiltering uses the chat_id encoded into `target_url` by the webhook\n(`max://chat/{id}/...` when no URL was detected, or `...?context_chat={id}`\nwhen one was). LIKE patterns cover both shapes; the SQL index on\n(bot_id, platform) keeps the scan bounded.\n\nEach item exposes id, event_type, severity, action_taken (the existing\nkick/delete/warn comma-joined result string), actor_id, actor_username,\nml_score, decision_id (when an Incident is attached), created_at.\nCross-tenant isolation: bot is resolved from `user.org_id` first; events\nare filtered by that bot only.","operationId":"get_max_chat_actions_v1_partner_max_chats__chat_id__actions_get","parameters":[{"name":"chat_id","in":"path","required":true,"schema":{"type":"integer","title":"Chat Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Max Chat Actions V1 Partner Max Chats  Chat Id  Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/partner/max/chats":{"get":{"tags":["partner_max"],"summary":"Get Max Chats","operationId":"get_max_chats_v1_partner_max_chats_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Max Chats V1 Partner Max Chats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assistant/context":{"get":{"tags":["assistant"],"summary":"Get Context Get","description":"Collect and return the full security context snapshot for Vigil (GET).","operationId":"get_context_get_v1_assistant_context_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Context Get V1 Assistant Context Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["assistant"],"summary":"Get Context","description":"Collect and return the full security context snapshot for Vigil (POST).","operationId":"get_context_v1_assistant_context_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Context V1 Assistant Context Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assistant/chat":{"post":{"tags":["assistant"],"summary":"Chat","description":"Chat with Vigil — handles commands and natural language.","operationId":"chat_v1_assistant_chat_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assistant/":{"post":{"tags":["assistant"],"summary":"Chat","description":"Chat with Vigil — handles commands and natural language.","operationId":"chat_v1_assistant__post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assistant/health":{"get":{"tags":["assistant"],"summary":"Assistant Health","description":"W-02-E-deep / Stage W §W-05.16.2: lightweight LLM health probe.\n\nRuns a single tiny ``vigil_chat_with_reason`` call against the\nconfigured provider and returns the structured outcome so the chat\npanel can render an honest status indicator the moment the operator\nopens it — \"ONLINE (llama:llama3.2:3b)\" vs \"OFFLINE — connection_refused\"\nrather than waiting for the first message to fail silently.\n\nShape::\n\n    {\n      \"ok\": bool,\n      \"reason_code\": str,        # \"ok\" on success, one of the named\n                                 # failure codes from vigil_chat_with_reason\n      \"provider\": \"llama\" | \"openai\" | \"disabled\",\n      \"model\": str,\n      \"api_url_host\": str | None,\n      \"latency_ms\": int | None,\n      \"http_status\": int | None,\n      \"checked_at\": iso8601 str,\n    }\n\nThe endpoint is intentionally cheap: ``max_tokens=4`` and a small\ntimeout so a single probe never costs more than a few hundred ms of\nLLM time. Tenant binding is purely for audit attribution — the probe\npayload carries no org data.","operationId":"assistant_health_v1_assistant_health_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Assistant Health V1 Assistant Health Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assistant/alerts":{"get":{"tags":["assistant"],"summary":"Get Alerts","description":"Proactive security alerts based on current org state.","operationId":"get_alerts_v1_assistant_alerts_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get Alerts V1 Assistant Alerts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assistant/history":{"get":{"tags":["assistant"],"summary":"Get History","description":"Get org-scoped chat history (persisted server-side for multi-turn).","operationId":"get_history_v1_assistant_history_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get History V1 Assistant History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["assistant"],"summary":"Clear History","description":"Clear org-scoped chat history.","operationId":"clear_history_v1_assistant_history_delete","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Clear History V1 Assistant History Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthz":{"get":{"summary":"Health","operationId":"health_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Healthz Get"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/v1/health":{"get":{"summary":"Api Health","operationId":"api_health_v1_health_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Api Health V1 Health Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/health/deep":{"get":{"summary":"Api Health Deep","description":"OPS-03 deep health surface — operator-grade status snapshot used\nby the LK ops panel and by external monitoring probes that need\nmore than \"is the API up\". Aggregates: active taxonomy row id +\nvariant count, identity active key id + profile, suppression rule\ncount, sprint-6..10 endpoint registry presence, taxonomy detector\nsingleton variant count, plus an integrity flag indicating whether\nthe runtime detector reflects the active TaxonomyVersion row.\nNever returns secrets.","operationId":"api_health_deep_v1_health_deep_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Api Health Deep V1 Health Deep Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/help/":{"get":{"summary":"Help Redirect","description":"Единая точка входа для API-документации.","operationId":"help_redirect_help__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/help":{"get":{"summary":"Help Redirect","description":"Единая точка входа для API-документации.","operationId":"help_redirect_help_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/login/":{"get":{"summary":"Login Page","operationId":"login_page_login__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Login Page","operationId":"login_page_login__head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/login":{"get":{"summary":"Login Page","operationId":"login_page_login_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Login Page","operationId":"login_page_login_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/onboarding/":{"get":{"summary":"Onboarding Page","operationId":"onboarding_page_onboarding__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Onboarding Page","operationId":"onboarding_page_onboarding__head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/onboarding":{"get":{"summary":"Onboarding Page","operationId":"onboarding_page_onboarding_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Onboarding Page","operationId":"onboarding_page_onboarding_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ready":{"get":{"summary":"Ready","operationId":"ready_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tg-app/":{"get":{"summary":"Tg Webapp Index","description":"Serve Telegram-optimized WebApp surface (TG v2).","operationId":"tg_webapp_index_tg_app__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Tg Webapp Index","description":"Serve Telegram-optimized WebApp surface (TG v2).","operationId":"tg_webapp_index_tg_app__head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tg-app":{"get":{"summary":"Tg Webapp Index","description":"Serve Telegram-optimized WebApp surface (TG v2).","operationId":"tg_webapp_index_tg_app_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Tg Webapp Index","description":"Serve Telegram-optimized WebApp surface (TG v2).","operationId":"tg_webapp_index_tg_app_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/heatmap/":{"get":{"summary":"Public Heatmap Page","operationId":"public_heatmap_page_heatmap__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Public Heatmap Page","operationId":"public_heatmap_page_heatmap__head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/heatmap":{"get":{"summary":"Public Heatmap Page","operationId":"public_heatmap_page_heatmap_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Public Heatmap Page","operationId":"public_heatmap_page_heatmap_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/app/":{"get":{"summary":"Webapp Index","description":"Serve WebApp surface for browser and Telegram WebApp clients.","operationId":"webapp_index_app__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Webapp Index","description":"Serve WebApp surface for browser and Telegram WebApp clients.","operationId":"webapp_index_app__head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/app":{"get":{"summary":"Webapp Index","description":"Serve WebApp surface for browser and Telegram WebApp clients.","operationId":"webapp_index_app_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Webapp Index","description":"Serve WebApp surface for browser and Telegram WebApp clients.","operationId":"webapp_index_app_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/app/{path}":{"head":{"summary":"Webapp Index Deep","description":"Serve WebApp SPA for deep links under /app/*.","operationId":"webapp_index_deep_app__path__head","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Webapp Index Deep","description":"Serve WebApp SPA for deep links under /app/*.","operationId":"webapp_index_deep_app__path__get","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/index.html":{"get":{"summary":"Landing Index","operationId":"landing_index_index_html_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Landing Index","operationId":"landing_index_index_html_head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Landing Index","operationId":"landing_index__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"summary":"Landing Index","operationId":"landing_index__head","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/company":{"get":{"summary":"Landing Subpages","operationId":"landing_subpages_company_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/about":{"get":{"summary":"Landing Subpages","operationId":"landing_subpages_about_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pricing":{"get":{"summary":"Landing Subpages","operationId":"landing_subpages_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/platform":{"get":{"summary":"Landing Subpages","operationId":"landing_subpages_platform_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/demo/":{"get":{"summary":"Landing Demo","operationId":"landing_demo_demo__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/demo":{"get":{"summary":"Landing Demo","operationId":"landing_demo_demo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/downloads/":{"get":{"summary":"Landing Downloads","operationId":"landing_downloads_downloads__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/downloads":{"get":{"summary":"Landing Downloads","operationId":"landing_downloads_downloads_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/privacy/":{"get":{"summary":"Landing Privacy Redirect","operationId":"landing_privacy_redirect_privacy__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/privacy":{"get":{"summary":"Landing Privacy Redirect","operationId":"landing_privacy_redirect_privacy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/terms/":{"get":{"summary":"Landing Terms Redirect","operationId":"landing_terms_redirect_terms__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/terms":{"get":{"summary":"Landing Terms Redirect","operationId":"landing_terms_redirect_terms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tos/":{"get":{"summary":"Landing Terms Redirect","operationId":"landing_terms_redirect_tos__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tos":{"get":{"summary":"Landing Terms Redirect","operationId":"landing_terms_redirect_tos_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AbAssignRequest":{"properties":{"experiment_key":{"type":"string","maxLength":64,"minLength":1,"title":"Experiment Key"},"variant":{"type":"string","pattern":"^(control|candidate)$","title":"Variant"},"candidate_version":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Candidate Version"}},"type":"object","required":["experiment_key","variant"],"title":"AbAssignRequest"},"AbAssignResponse":{"properties":{"id":{"type":"integer","title":"Id"},"experiment_key":{"type":"string","title":"Experiment Key"},"variant":{"type":"string","title":"Variant"},"candidate_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Candidate Version"},"assigned_at":{"type":"string","format":"date-time","title":"Assigned At"}},"type":"object","required":["id","experiment_key","variant","candidate_version","assigned_at"],"title":"AbAssignResponse"},"AbSplitDecisionResponse":{"properties":{"model_name":{"type":"string","title":"Model Name"},"model_version":{"type":"string","title":"Model Version"},"side":{"type":"string","title":"Side"},"bucket":{"type":"number","title":"Bucket"},"candidate_traffic_pct":{"type":"number","title":"Candidate Traffic Pct"},"candidate_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Candidate Version"}},"type":"object","required":["model_name","model_version","side","bucket","candidate_traffic_pct","candidate_version"],"title":"AbSplitDecisionResponse","description":"Live A/B selection for a single inference."},"AbuseOverviewResponse":{"properties":{"org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Org Id"},"hours":{"type":"integer","title":"Hours"},"rate_limit_hits":{"type":"integer","title":"Rate Limit Hits"},"top_api_keys":{"items":{"type":"object"},"type":"array","title":"Top Api Keys"},"top_ips":{"items":{"type":"object"},"type":"array","title":"Top Ips"}},"type":"object","required":["hours","rate_limit_hits","top_api_keys","top_ips"],"title":"AbuseOverviewResponse"},"ActionListResponse":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/ActionResultItem"},"type":"array","title":"Actions"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["actions","total"],"title":"ActionListResponse"},"ActionRecordRequest":{"properties":{"platform":{"type":"string","maxLength":32,"minLength":1,"title":"Platform"},"action_kind":{"type":"string","pattern":"^(ban|kick|delete|warn|mute|report|restrict|unban|remove|reply)$","title":"Action Kind"},"target_user_id":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Target User Id"},"target_username":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Target Username"},"target_resource_id":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Target Resource Id"},"actor_kind":{"type":"string","pattern":"^(bot|operator|policy|sdr)$","title":"Actor Kind","default":"bot"},"decision_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Decision Id"},"success":{"type":"boolean","title":"Success","default":true},"error_kind":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Error Kind"},"error_message":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Error Message"},"native_details":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Native Details"}},"type":"object","required":["platform","action_kind"],"title":"ActionRecordRequest"},"ActionResultItem":{"properties":{"id":{"type":"integer","title":"Id"},"platform":{"type":"string","title":"Platform"},"action_kind":{"type":"string","title":"Action Kind"},"target_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target User Id"},"target_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Username"},"target_resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Resource Id"},"actor_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actor User Id"},"actor_kind":{"type":"string","title":"Actor Kind"},"decision_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Decision Id"},"success":{"type":"boolean","title":"Success"},"error_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Kind"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"native_details":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Native Details"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","platform","action_kind","target_user_id","target_username","target_resource_id","actor_user_id","actor_kind","decision_id","success","error_kind","error_message","native_details","created_at"],"title":"ActionResultItem"},"AddonPrice":{"properties":{"sku":{"type":"string","title":"Sku"},"name":{"type":"string","title":"Name"},"usd_per_month":{"type":"number","title":"Usd Per Month"},"extra_agent_evals_per_month":{"type":"integer","title":"Extra Agent Evals Per Month"},"description":{"type":"string","title":"Description"}},"type":"object","required":["sku","name","usd_per_month","extra_agent_evals_per_month","description"],"title":"AddonPrice"},"AdminConversionOut":{"properties":{"id":{"type":"integer","title":"Id"},"referral_id":{"type":"integer","title":"Referral Id"},"ref_code":{"type":"string","title":"Ref Code"},"referred_org_id":{"type":"integer","title":"Referred Org Id"},"plan_id":{"type":"string","title":"Plan Id"},"amount":{"type":"number","title":"Amount"},"commission":{"type":"number","title":"Commission"},"currency":{"type":"string","title":"Currency"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","title":"Created At"},"approved_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved At"}},"type":"object","required":["id","referral_id","ref_code","referred_org_id","plan_id","amount","commission","currency","status","created_at"],"title":"AdminConversionOut"},"AdminCreativeListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminCreativeOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"AdminCreativeListResponse"},"AdminCreativeOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"region":{"type":"string","title":"Region"},"language":{"type":"string","title":"Language"},"channel":{"type":"string","title":"Channel"},"format":{"type":"string","title":"Format"},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size"},"asset_url":{"type":"string","title":"Asset Url"},"mime_type":{"type":"string","title":"Mime Type"},"is_active":{"type":"boolean","title":"Is Active"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"sort_order":{"type":"integer","title":"Sort Order"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","name","region","language","channel","format","asset_url","mime_type","is_active","sort_order"],"title":"AdminCreativeOut"},"AdminCreativeUpsertRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":2,"title":"Name"},"region":{"type":"string","maxLength":32,"minLength":2,"title":"Region","default":"global"},"language":{"type":"string","maxLength":16,"minLength":2,"title":"Language","default":"en"},"channel":{"type":"string","maxLength":32,"minLength":2,"title":"Channel","default":"web"},"format":{"type":"string","maxLength":32,"minLength":2,"title":"Format","default":"image"},"size":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Size"},"asset_url":{"type":"string","maxLength":2048,"minLength":8,"title":"Asset Url"},"mime_type":{"type":"string","maxLength":128,"minLength":3,"title":"Mime Type","default":"image/png"},"is_active":{"type":"boolean","title":"Is Active","default":true},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"sort_order":{"type":"integer","maximum":100000.0,"minimum":0.0,"title":"Sort Order","default":100}},"type":"object","required":["name","asset_url"],"title":"AdminCreativeUpsertRequest"},"AdminPayoutOut":{"properties":{"id":{"type":"integer","title":"Id"},"user_id":{"type":"integer","title":"User Id"},"username":{"type":"string","title":"Username"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","title":"Created At"},"paid_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Paid At"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"payout_proof":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payout Proof"}},"type":"object","required":["id","user_id","username","amount","currency","status","created_at"],"title":"AdminPayoutOut"},"AdminReferralOut":{"properties":{"id":{"type":"integer","title":"Id"},"user_id":{"type":"integer","title":"User Id"},"username":{"type":"string","title":"Username"},"org_id":{"type":"integer","title":"Org Id"},"ref_code":{"type":"string","title":"Ref Code"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","user_id","username","org_id","ref_code","is_active","created_at"],"title":"AdminReferralOut"},"AdminSdrReferralActionRequest":{"properties":{"action":{"type":"string","title":"Action"},"reason":{"type":"string","title":"Reason","default":""}},"type":"object","required":["action"],"title":"AdminSdrReferralActionRequest"},"AdminSdrReferralCreateRequest":{"properties":{"referrer_user_id":{"type":"integer","title":"Referrer User Id"},"referred_user_id":{"type":"integer","title":"Referred User Id"},"plan_id":{"type":"string","title":"Plan Id"},"commission_usd":{"type":"number","title":"Commission Usd"},"referred_org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referred Org Id"},"referral_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referral Id"},"conversion_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Conversion At"},"refund_window_days":{"type":"integer","title":"Refund Window Days","default":14}},"type":"object","required":["referrer_user_id","referred_user_id","plan_id","commission_usd"],"title":"AdminSdrReferralCreateRequest"},"AdminSdrReferralOut":{"properties":{"id":{"type":"integer","title":"Id"},"referrer_user_id":{"type":"integer","title":"Referrer User Id"},"referred_user_id":{"type":"integer","title":"Referred User Id"},"referred_org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referred Org Id"},"plan_id":{"type":"string","title":"Plan Id"},"commission_usd":{"type":"number","title":"Commission Usd"},"payout_status":{"type":"string","title":"Payout Status"},"conversion_at":{"type":"string","title":"Conversion At"},"hold_until":{"type":"string","title":"Hold Until"},"freeze_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Freeze Reason"},"revshare_parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Revshare Parent Id"}},"type":"object","required":["id","referrer_user_id","referred_user_id","plan_id","commission_usd","payout_status","conversion_at","hold_until"],"title":"AdminSdrReferralOut"},"AdminSdrSummary":{"properties":{"total_referrals":{"type":"integer","title":"Total Referrals"},"total_conversions":{"type":"integer","title":"Total Conversions"},"total_payouts_pending":{"type":"number","title":"Total Payouts Pending"},"total_payouts_paid":{"type":"number","title":"Total Payouts Paid"},"total_commission_hold":{"type":"number","title":"Total Commission Hold"}},"type":"object","required":["total_referrals","total_conversions","total_payouts_pending","total_payouts_paid","total_commission_hold"],"title":"AdminSdrSummary"},"AgentIdentityItem":{"properties":{"id":{"type":"integer","title":"Id"},"agent_key":{"type":"string","title":"Agent Key"},"agent_name":{"type":"string","title":"Agent Name"},"fingerprint":{"type":"string","title":"Fingerprint"},"model_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Name"},"declared_tools":{"items":{"type":"string"},"type":"array","title":"Declared Tools"},"status":{"type":"string","title":"Status"},"observation_count":{"type":"integer","title":"Observation Count"},"last_drift_score":{"type":"number","title":"Last Drift Score","default":0.0},"last_clone_score":{"type":"number","title":"Last Clone Score","default":0.0},"created_at":{"type":"string","title":"Created At"},"rotated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rotated At"}},"type":"object","required":["id","agent_key","agent_name","fingerprint","status","observation_count","created_at"],"title":"AgentIdentityItem"},"AgentObserveRequest":{"properties":{"tool_mix":{"additionalProperties":{"type":"number"},"type":"object","title":"Tool Mix"},"verdict_mix":{"additionalProperties":{"type":"number"},"type":"object","title":"Verdict Mix"},"risk_score":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Risk Score","default":0.0},"api_key_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Api Key Id"},"ip":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Ip"},"region":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Region"}},"type":"object","title":"AgentObserveRequest"},"AgentObserveResponse":{"properties":{"agent_id":{"type":"integer","title":"Agent Id"},"agent_key":{"type":"string","title":"Agent Key"},"drift_score":{"type":"number","title":"Drift Score"},"clone_suspect":{"type":"boolean","title":"Clone Suspect"},"clone_score":{"type":"number","title":"Clone Score"},"diverged_source":{"items":{"type":"string"},"type":"array","title":"Diverged Source"},"observation_count":{"type":"integer","title":"Observation Count"},"assessment":{"type":"string","title":"Assessment"},"alert_emitted":{"type":"boolean","title":"Alert Emitted"}},"type":"object","required":["agent_id","agent_key","drift_score","clone_suspect","clone_score","diverged_source","observation_count","assessment","alert_emitted"],"title":"AgentObserveResponse"},"AgentRegisterRequest":{"properties":{"agent_key":{"type":"string","maxLength":64,"minLength":1,"title":"Agent Key"},"agent_name":{"type":"string","maxLength":128,"minLength":1,"title":"Agent Name"},"instructions":{"type":"string","maxLength":20000,"title":"Instructions","default":""},"tools":{"items":{"type":"string"},"type":"array","title":"Tools"},"model":{"type":"string","maxLength":128,"title":"Model","default":""},"goals":{"items":{"type":"string"},"type":"array","title":"Goals"}},"type":"object","required":["agent_key","agent_name"],"title":"AgentRegisterRequest"},"AgentRotateRequest":{"properties":{"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"}},"type":"object","required":["reason"],"title":"AgentRotateRequest"},"AgentSecurityEvaluateRequest":{"properties":{"source":{"type":"string","enum":["assistant","decision","platform","response_engine","api","extension","worker","llm"],"title":"Source","default":"api"},"surface":{"type":"string","enum":["prompt","tool_call","tool_result","memory_write","goal","response_action","model_training","llm_response"],"title":"Surface","default":"prompt"},"content":{"type":"string","maxLength":20000,"minLength":1,"title":"Content"},"trace_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Trace Id"},"context":{"type":"object","title":"Context"}},"type":"object","required":["content"],"title":"AgentSecurityEvaluateRequest"},"AgentSecurityEvaluateResponse":{"properties":{"verdict":{"type":"string","enum":["allow","warn","block","quarantine","step_up"],"title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"severity":{"type":"string","enum":["info","low","medium","high","critical"],"title":"Severity"},"threat_types":{"items":{"type":"string"},"type":"array","title":"Threat Types"},"reason_codes":{"items":{"type":"string"},"type":"array","title":"Reason Codes"},"sanitized_content":{"type":"string","title":"Sanitized Content","default":""},"requires_approval":{"type":"boolean","title":"Requires Approval","default":false},"event_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Event Id"},"input_hash":{"type":"string","title":"Input Hash"},"features":{"type":"object","title":"Features"},"findings":{"items":{"$ref":"#/components/schemas/AgentSecurityFindingResponse"},"type":"array","title":"Findings"}},"type":"object","required":["verdict","confidence","severity","input_hash"],"title":"AgentSecurityEvaluateResponse"},"AgentSecurityEventResponse":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"tenant_id":{"type":"integer","title":"Tenant Id"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"source":{"type":"string","title":"Source"},"surface":{"type":"string","title":"Surface"},"threat_type":{"type":"string","title":"Threat Type"},"severity":{"type":"string","title":"Severity"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"input_hash":{"type":"string","title":"Input Hash"},"matched_rules":{"items":{"type":"string"},"type":"array","title":"Matched Rules"},"model_scores":{"type":"object","title":"Model Scores"},"action_taken":{"type":"string","title":"Action Taken"},"decision_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decision Id"},"incident_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Incident Id"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","org_id","tenant_id","trace_id","source","surface","threat_type","severity","verdict","confidence","input_hash","action_taken","decision_id","incident_id","created_at"],"title":"AgentSecurityEventResponse"},"AgentSecurityFindingResponse":{"properties":{"threat_type":{"type":"string","title":"Threat Type"},"reason_code":{"type":"string","title":"Reason Code"},"severity":{"type":"string","enum":["info","low","medium","high","critical"],"title":"Severity"},"score":{"type":"number","title":"Score"},"description":{"type":"string","title":"Description"}},"type":"object","required":["threat_type","reason_code","severity","score","description"],"title":"AgentSecurityFindingResponse"},"AgentSecurityPolicyPatch":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"warn_threshold":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Warn Threshold"},"block_threshold":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Block Threshold"},"step_up_threshold":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Step Up Threshold"},"quarantine_threshold":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Quarantine Threshold"},"risky_tool_classes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Risky Tool Classes"},"blocked_exfiltration_sinks":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Blocked Exfiltration Sinks"}},"type":"object","title":"AgentSecurityPolicyPatch"},"AgentSecurityPolicyResponse":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":true},"warn_threshold":{"type":"number","title":"Warn Threshold"},"block_threshold":{"type":"number","title":"Block Threshold"},"step_up_threshold":{"type":"number","title":"Step Up Threshold"},"quarantine_threshold":{"type":"number","title":"Quarantine Threshold"},"risky_tool_classes":{"items":{"type":"string"},"type":"array","title":"Risky Tool Classes"},"blocked_exfiltration_sinks":{"items":{"type":"string"},"type":"array","title":"Blocked Exfiltration Sinks"}},"type":"object","required":["warn_threshold","block_threshold","step_up_threshold","quarantine_threshold","risky_tool_classes","blocked_exfiltration_sinks"],"title":"AgentSecurityPolicyResponse"},"AgentToolPolicyItem":{"properties":{"id":{"type":"integer","title":"Id"},"tool_name":{"type":"string","title":"Tool Name"},"mode":{"type":"string","title":"Mode"},"risk_class":{"type":"string","title":"Risk Class"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_active":{"type":"boolean","title":"Is Active"},"created_by_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By User Id"},"updated_by_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Updated By User Id"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","tool_name","mode","risk_class","is_active","created_at","updated_at"],"title":"AgentToolPolicyItem"},"AgentToolPolicyRequest":{"properties":{"tool_name":{"type":"string","maxLength":128,"minLength":1,"title":"Tool Name"},"mode":{"type":"string","maxLength":16,"minLength":1,"title":"Mode"},"risk_class":{"type":"string","maxLength":32,"minLength":1,"title":"Risk Class","default":"safe"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description"}},"type":"object","required":["tool_name","mode"],"title":"AgentToolPolicyRequest"},"AggregateSnapshotResponse":{"properties":{"window_kind":{"type":"string","title":"Window Kind"},"window_start":{"type":"string","title":"Window Start"},"window_end":{"type":"string","title":"Window End"},"wallets_blocked":{"type":"integer","title":"Wallets Blocked"},"urls_blocked":{"type":"integer","title":"Urls Blocked"},"decisions_total":{"type":"integer","title":"Decisions Total"},"actors_unique":{"type":"integer","title":"Actors Unique"},"canary_trips":{"type":"integer","title":"Canary Trips"},"honeypot_triggers":{"type":"integer","title":"Honeypot Triggers"},"top_patterns":{"items":{"type":"object"},"type":"array","title":"Top Patterns"},"computed_at":{"type":"string","title":"Computed At"}},"type":"object","required":["window_kind","window_start","window_end","wallets_blocked","urls_blocked","decisions_total","actors_unique","canary_trips","honeypot_triggers","top_patterns","computed_at"],"title":"AggregateSnapshotResponse"},"AnalyticsDashboard":{"properties":{"platform":{"$ref":"#/components/schemas/PlatformStats"},"revenue":{"$ref":"#/components/schemas/RevenueStats"},"detections":{"$ref":"#/components/schemas/DetectionStats"},"sdr":{"$ref":"#/components/schemas/SdrEconomics"}},"type":"object","required":["platform","revenue","detections","sdr"],"title":"AnalyticsDashboard"},"AnchorItem":{"properties":{"id":{"type":"integer","title":"Id"},"anchor_id":{"type":"string","title":"Anchor Id"},"head_curr_hash":{"type":"string","title":"Head Curr Hash"},"head_chain_entry_id":{"type":"integer","title":"Head Chain Entry Id"},"range_first_id":{"type":"integer","title":"Range First Id"},"range_last_id":{"type":"integer","title":"Range Last Id"},"entry_count":{"type":"integer","title":"Entry Count"},"external_anchor_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Anchor Kind"},"external_anchor_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Anchor Ref"},"pqc_algo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pqc Algo"},"anchored_at":{"type":"string","format":"date-time","title":"Anchored At"}},"type":"object","required":["id","anchor_id","head_curr_hash","head_chain_entry_id","range_first_id","range_last_id","entry_count","external_anchor_kind","external_anchor_ref","pqc_algo","anchored_at"],"title":"AnchorItem"},"AnchorListResponse":{"properties":{"anchors":{"items":{"$ref":"#/components/schemas/AnchorItem"},"type":"array","title":"Anchors"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["anchors","total"],"title":"AnchorListResponse"},"AnchorPublishRequest":{"properties":{"external_anchor_kind":{"type":"string","pattern":"^(internal|opentimestamps|btc_op_return|none)$","title":"External Anchor Kind","default":"internal"},"external_anchor_ref":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"External Anchor Ref"}},"type":"object","title":"AnchorPublishRequest"},"ApiKeyListItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"is_active":{"type":"boolean","title":"Is Active"},"key_prefix":{"type":"string","title":"Key Prefix"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"last_used_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Used At"},"calls_today":{"type":"integer","title":"Calls Today","default":0}},"type":"object","required":["id","org_id","is_active","key_prefix"],"title":"ApiKeyListItem"},"ApiKeyResponse":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"raw_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw Key"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["id","org_id","is_active"],"title":"ApiKeyResponse"},"ApiKeyVerifyResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"org_id":{"type":"integer","title":"Org Id"},"organization_name":{"type":"string","title":"Organization Name"},"plan_id":{"type":"string","title":"Plan Id","default":"FREE"},"token_type":{"type":"string","title":"Token Type","default":"api_key"},"auth_method":{"type":"string","title":"Auth Method"},"api_key_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Key Id"},"api_key_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Scope"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"calls_today":{"type":"integer","title":"Calls Today","default":0},"extension_quota_limit":{"type":"integer","title":"Extension Quota Limit","default":0},"extension_quota_used":{"type":"integer","title":"Extension Quota Used","default":0},"extension_quota_remaining":{"type":"integer","title":"Extension Quota Remaining","default":0}},"type":"object","required":["org_id","organization_name","auth_method"],"title":"ApiKeyVerifyResponse"},"ApplyTemplateRequest":{"properties":{"template":{"type":"string","maxLength":64,"minLength":1,"title":"Template"}},"type":"object","required":["template"],"title":"ApplyTemplateRequest"},"ApprovalItem":{"properties":{"id":{"type":"integer","title":"Id"},"request_id":{"type":"string","title":"Request Id"},"org_id":{"type":"integer","title":"Org Id"},"action_type":{"type":"string","title":"Action Type"},"summary":{"type":"string","title":"Summary"},"status":{"type":"string","title":"Status"},"requester_id":{"type":"string","title":"Requester Id"},"approver1_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approver1 Id"},"approver2_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approver2 Id"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"approved_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved At"},"executed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Executed At"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"},"payload":{"type":"object","title":"Payload"}},"type":"object","required":["id","request_id","org_id","action_type","summary","status","requester_id","approver1_id","approver2_id"],"title":"ApprovalItem"},"ApprovalRequestResponse":{"properties":{"request_id":{"type":"string","title":"Request Id"},"org_id":{"type":"integer","title":"Org Id"},"action_type":{"type":"string","title":"Action Type"},"summary":{"type":"string","title":"Summary"},"payload":{"anyOf":[{},{"type":"null"}],"title":"Payload"},"created_by":{"type":"string","title":"Created By"},"created_at":{"type":"string","title":"Created At"},"status":{"type":"string","title":"Status"},"approved_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved By"},"approved_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved At"},"rejection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rejection Reason"}},"type":"object","required":["request_id","org_id","action_type","summary","payload","created_by","created_at","status","approved_by","approved_at","rejection_reason"],"title":"ApprovalRequestResponse","description":"Ответ: заявка (для чтения/списка)."},"AsyncWebhookRequest":{"properties":{"target_url":{"type":"string","maxLength":512,"minLength":8,"title":"Target Url"},"secret":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Secret"},"bulletin_severity_min":{"type":"string","pattern":"^(low|medium|high|critical)$","title":"Bulletin Severity Min","default":"medium"}},"type":"object","required":["target_url"],"title":"AsyncWebhookRequest"},"AttributionConfirmRequest":{"properties":{"fingerprint_kind":{"type":"string","pattern":"^(wallet|username|ip_hash|email_hash|message_signature)$","title":"Fingerprint Kind"},"fingerprint_value":{"type":"string","maxLength":256,"minLength":1,"title":"Fingerprint Value"}},"type":"object","required":["fingerprint_kind","fingerprint_value"],"title":"AttributionConfirmRequest"},"AttributionItem":{"properties":{"id":{"type":"integer","title":"Id"},"fingerprint_kind":{"type":"string","title":"Fingerprint Kind"},"fingerprint_value":{"type":"string","title":"Fingerprint Value"},"confidence":{"type":"number","title":"Confidence"},"confirmed_by_org_count":{"type":"integer","title":"Confirmed By Org Count"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"}},"type":"object","required":["id","fingerprint_kind","fingerprint_value","confidence","confirmed_by_org_count","first_seen_at","last_seen_at"],"title":"AttributionItem"},"AttributionListResponse":{"properties":{"attributions":{"items":{"$ref":"#/components/schemas/AttributionItem"},"type":"array","title":"Attributions"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["attributions","total"],"title":"AttributionListResponse"},"AuditWindowCreateRequest":{"properties":{"framework":{"type":"string","title":"Framework"},"days_valid":{"type":"integer","title":"Days Valid","default":30}},"type":"object","required":["framework"],"title":"AuditWindowCreateRequest"},"AuthResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"user_id":{"type":"integer","title":"User Id"},"org_id":{"type":"integer","title":"Org Id"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"username":{"type":"string","title":"Username"}},"type":"object","required":["access_token","user_id","org_id","username"],"title":"AuthResponse"},"BatchReputationRequest":{"properties":{"domains":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Domains"}},"type":"object","required":["domains"],"title":"BatchReputationRequest"},"BatchReputationResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/DomainScoreResponse"},"type":"array","title":"Results"}},"type":"object","required":["results"],"title":"BatchReputationResponse"},"BlockUserRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"reason":{"type":"string","title":"Reason","default":""}},"type":"object","required":["user_id"],"title":"BlockUserRequest"},"Body_acs_endpoint_v1_auth_saml__org_slug__acs_post":{"properties":{"SAMLResponse":{"type":"string","title":"Samlresponse"},"RelayState":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relaystate"}},"type":"object","required":["SAMLResponse"],"title":"Body_acs_endpoint_v1_auth_saml__org_slug__acs_post"},"Body_check_file_endpoint_v1_check_file_post":{"properties":{"body":{"anyOf":[{"$ref":"#/components/schemas/FileCheckRequest"},{"type":"null"}]},"file":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"File"}},"type":"object","title":"Body_check_file_endpoint_v1_check_file_post"},"Body_check_file_upload_endpoint_v1_check_file_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_check_file_upload_endpoint_v1_check_file_upload_post"},"Body_check_media_endpoint_v1_check_media_post":{"properties":{"file":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"File"}},"type":"object","title":"Body_check_media_endpoint_v1_check_media_post"},"Body_create_ban_v1_bans_post":{"properties":{"type":{"type":"string","title":"Type"},"value":{"type":"string","title":"Value"},"reason":{"type":"string","title":"Reason"},"platform":{"type":"string","title":"Platform"}},"type":"object","required":["type","value","reason","platform"],"title":"Body_create_ban_v1_bans_post"},"Body_create_invite_v1_team_invites_post":{"properties":{"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role","default":"member"}},"type":"object","required":["email"],"title":"Body_create_invite_v1_team_invites_post"},"Body_import_bans_v1_bans_import_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_import_bans_v1_bans_import_post"},"Body_reddit_bot_save_v1_auth_reddit_bot_save_post":{"properties":{"state":{"type":"string","title":"State"},"rt":{"type":"string","title":"Rt"},"subreddit":{"type":"string","title":"Subreddit"}},"type":"object","required":["state","rt","subreddit"],"title":"Body_reddit_bot_save_v1_auth_reddit_bot_save_post"},"BugBountyAck":{"properties":{"accepted":{"type":"boolean","title":"Accepted"},"tracking_id":{"type":"string","title":"Tracking Id"},"note":{"type":"string","title":"Note"}},"type":"object","required":["accepted","tracking_id","note"],"title":"BugBountyAck"},"BugBountyReport":{"properties":{"reporter_email":{"type":"string","format":"email","title":"Reporter Email"},"reporter_handle":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Reporter Handle"},"title":{"type":"string","maxLength":200,"minLength":8,"title":"Title"},"summary":{"type":"string","maxLength":8000,"minLength":40,"title":"Summary"},"severity":{"type":"string","pattern":"^(low|medium|high|critical)$","title":"Severity","default":"medium"},"affected_surface":{"type":"string","pattern":"^(api|webapp|extension|landing|sdk|infra|other)$","title":"Affected Surface","default":"api"},"repro_steps":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}],"title":"Repro Steps"},"impact":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Impact"},"cvss_v3":{"anyOf":[{"type":"string","maxLength":200,"pattern":"^CVSS:3\\.[01]/.+$"},{"type":"null"}],"title":"Cvss V3"},"encrypted_pgp_body":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Encrypted Pgp Body"},"requesting_pgp_response":{"type":"boolean","title":"Requesting Pgp Response","default":false}},"type":"object","required":["reporter_email","title","summary"],"title":"BugBountyReport"},"BulletinItem":{"properties":{"id":{"type":"integer","title":"Id"},"bulletin_id":{"type":"string","title":"Bulletin Id"},"issued_by_org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Issued By Org Id"},"severity":{"type":"string","title":"Severity"},"attack_kind":{"type":"string","title":"Attack Kind"},"title":{"type":"string","title":"Title"},"summary":{"type":"string","title":"Summary"},"indicators":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Indicators"},"suggested_policy":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Suggested Policy"},"is_global":{"type":"boolean","title":"Is Global"},"published_at":{"type":"string","format":"date-time","title":"Published At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["id","bulletin_id","issued_by_org_id","severity","attack_kind","title","summary","indicators","suggested_policy","is_global","published_at","expires_at"],"title":"BulletinItem"},"BulletinListResponse":{"properties":{"bulletins":{"items":{"$ref":"#/components/schemas/BulletinItem"},"type":"array","title":"Bulletins"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["bulletins","total"],"title":"BulletinListResponse"},"BulletinPublishRequest":{"properties":{"attack_kind":{"type":"string","maxLength":64,"minLength":1,"title":"Attack Kind"},"title":{"type":"string","maxLength":256,"minLength":1,"title":"Title"},"summary":{"type":"string","maxLength":4096,"minLength":1,"title":"Summary"},"severity":{"type":"string","pattern":"^(low|medium|high|critical)$","title":"Severity","default":"medium"},"indicators":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Indicators"},"suggested_policy":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Suggested Policy"},"is_global":{"type":"boolean","title":"Is Global","default":true}},"type":"object","required":["attack_kind","title","summary"],"title":"BulletinPublishRequest"},"CacheLookupResponse":{"properties":{"found":{"type":"boolean","title":"Found"},"verdict":{"type":"string","title":"Verdict","default":""},"confidence":{"type":"number","title":"Confidence","default":0.0},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons","default":[]},"threats":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},"type":"array","title":"Threats"},"decision_id":{"type":"string","title":"Decision Id","default":""}},"type":"object","required":["found"],"title":"CacheLookupResponse"},"CanaryIssueRequest":{"properties":{"canary_kind":{"type":"string","pattern":"^(file|api_key|url|wallet|document)$","title":"Canary Kind"},"label":{"type":"string","maxLength":256,"minLength":1,"title":"Label"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["canary_kind","label"],"title":"CanaryIssueRequest"},"CanaryItem":{"properties":{"id":{"type":"integer","title":"Id"},"token_id":{"type":"string","title":"Token Id"},"canary_kind":{"type":"string","title":"Canary Kind"},"label":{"type":"string","title":"Label"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"is_active":{"type":"boolean","title":"Is Active"},"trip_count":{"type":"integer","title":"Trip Count"},"last_tripped_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Tripped At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","token_id","canary_kind","label","metadata","is_active","trip_count","last_tripped_at","created_at"],"title":"CanaryItem"},"CanaryListResponse":{"properties":{"canaries":{"items":{"$ref":"#/components/schemas/CanaryItem"},"type":"array","title":"Canaries"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["canaries","total"],"title":"CanaryListResponse"},"CanaryTripRequest":{"properties":{"interactor_signature":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Interactor Signature"},"details":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Details"}},"type":"object","title":"CanaryTripRequest"},"CanaryTripResponse":{"properties":{"token_id":{"type":"string","title":"Token Id"},"canary_kind":{"type":"string","title":"Canary Kind"},"trip_count":{"type":"integer","title":"Trip Count"},"last_tripped_at":{"type":"string","format":"date-time","title":"Last Tripped At"}},"type":"object","required":["token_id","canary_kind","trip_count","last_tripped_at"],"title":"CanaryTripResponse"},"CandidateTrafficUpdate":{"properties":{"version":{"type":"string","maxLength":128,"minLength":1,"title":"Version"},"pct":{"type":"number","maximum":50.0,"minimum":0.0,"title":"Pct"}},"type":"object","required":["version","pct"],"title":"CandidateTrafficUpdate"},"ChainEntryItem":{"properties":{"id":{"type":"integer","title":"Id"},"prev_hash":{"type":"string","title":"Prev Hash"},"curr_hash":{"type":"string","title":"Curr Hash"},"audit_event_id":{"type":"integer","title":"Audit Event Id"},"quantum_algo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quantum Algo"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","prev_hash","curr_hash","audit_event_id","quantum_algo","created_at"],"title":"ChainEntryItem"},"ChainListResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/ChainEntryItem"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["entries","total"],"title":"ChainListResponse"},"ChannelDiagnosticsResponse":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"plan_id":{"type":"string","title":"Plan Id"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"telegram_groups":{"items":{"type":"object"},"type":"array","title":"Telegram Groups"},"discord_servers":{"items":{"type":"object"},"type":"array","title":"Discord Servers"},"api_keys":{"items":{"type":"object"},"type":"array","title":"Api Keys"}},"type":"object","required":["org_id","plan_id","capabilities","telegram_groups","discord_servers","api_keys"],"title":"ChannelDiagnosticsResponse"},"ChatDiagnosticsOut":{"properties":{"chat_id":{"type":"string","title":"Chat Id"},"org_id":{"type":"integer","title":"Org Id"},"chat_mode":{"type":"string","title":"Chat Mode"},"bot_can_delete_messages":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bot Can Delete Messages"},"bot_can_restrict_members":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bot Can Restrict Members"},"last_event_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Event At"},"last_permission_check_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Permission Check At"},"incidents_24h":{"type":"integer","title":"Incidents 24H"},"incidents_7d":{"type":"integer","title":"Incidents 7D"}},"type":"object","required":["chat_id","org_id","chat_mode","incidents_24h","incidents_7d"],"title":"ChatDiagnosticsOut"},"ChatIncidentOut":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"action_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Policy"},"created_at":{"type":"string","title":"Created At"},"object_ref":{"type":"string","title":"Object Ref"}},"type":"object","required":["decision_id","verdict","confidence","reasons","created_at","object_ref"],"title":"ChatIncidentOut"},"ChatLimitsOut":{"properties":{"plan_id":{"type":"string","title":"Plan Id"},"linked_groups_count":{"type":"integer","title":"Linked Groups Count"},"max_linked_groups":{"type":"integer","title":"Max Linked Groups"},"remaining_linked_groups":{"type":"integer","title":"Remaining Linked Groups"}},"type":"object","required":["plan_id","linked_groups_count","max_linked_groups","remaining_linked_groups"],"title":"ChatLimitsOut"},"ChatModeUpdateRequest":{"properties":{"chat_mode":{"type":"string","enum":["command_only","silent_monitor","active_enforcement"],"title":"Chat Mode"}},"type":"object","required":["chat_mode"],"title":"ChatModeUpdateRequest"},"ChatRequest":{"properties":{"message":{"type":"string","maxLength":8000,"minLength":1,"title":"Message"},"ui":{"type":"object","title":"Ui"},"history":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"History"}},"type":"object","required":["message"],"title":"ChatRequest"},"ConfirmWalletRequest":{"properties":{"confirmed":{"type":"boolean","title":"Confirmed","default":true}},"type":"object","title":"ConfirmWalletRequest"},"ControlResponse":{"properties":{"control_id":{"type":"string","title":"Control Id"},"framework":{"type":"string","title":"Framework"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"last_collected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Collected At"}},"type":"object","required":["control_id","framework","title","description","status","last_collected_at"],"title":"ControlResponse"},"ConversionTimelineDataPoint":{"properties":{"date":{"type":"string","title":"Date"},"clicks":{"type":"integer","title":"Clicks"},"signups":{"type":"integer","title":"Signups"},"paid":{"type":"integer","title":"Paid"}},"type":"object","required":["date","clicks","signups","paid"],"title":"ConversionTimelineDataPoint"},"ConversionTimelineOut":{"properties":{"series":{"items":{"$ref":"#/components/schemas/ConversionTimelineDataPoint"},"type":"array","title":"Series"}},"type":"object","required":["series"],"title":"ConversionTimelineOut"},"CorpusIngestRequest":{"properties":{"attack_kind":{"type":"string","pattern":"^(prompt_injection|jailbreak|data_exfiltration|tool_misuse|memory_poison)$","title":"Attack Kind"},"prompt_redacted":{"type":"string","maxLength":8192,"minLength":1,"title":"Prompt Redacted"},"response_redacted":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}],"title":"Response Redacted"},"llm_provider":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Llm Provider"},"severity":{"type":"string","pattern":"^(low|medium|high|critical)$","title":"Severity","default":"medium"},"source":{"type":"string","pattern":"^(honeypot|redteam|customer_eval|manual)$","title":"Source","default":"manual"}},"type":"object","required":["attack_kind","prompt_redacted"],"title":"CorpusIngestRequest"},"CorpusItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Org Id"},"source":{"type":"string","title":"Source"},"source_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Ref"},"llm_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Llm Provider"},"attack_kind":{"type":"string","title":"Attack Kind"},"severity":{"type":"string","title":"Severity"},"prompt_redacted":{"type":"string","title":"Prompt Redacted"},"response_redacted":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Redacted"},"fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fingerprint"},"consumed_for_retrain":{"type":"boolean","title":"Consumed For Retrain"},"hit_count":{"type":"integer","title":"Hit Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","org_id","source","source_ref","llm_provider","attack_kind","severity","prompt_redacted","response_redacted","fingerprint","consumed_for_retrain","hit_count","created_at"],"title":"CorpusItem"},"CorpusListResponse":{"properties":{"samples":{"items":{"$ref":"#/components/schemas/CorpusItem"},"type":"array","title":"Samples"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["samples","total"],"title":"CorpusListResponse"},"CreateAddonLinkRequest":{"properties":{"org_id":{"type":"integer","minimum":1.0,"title":"Org Id"},"sku":{"type":"string","maxLength":64,"title":"Sku"},"period_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Period Days","default":30},"network":{"type":"string","pattern":"^(tron|trc20|erc20|bsc|bep20)$","title":"Network","default":"tron"}},"type":"object","required":["org_id","sku"],"title":"CreateAddonLinkRequest"},"CreateApiKeyRequest":{"properties":{"label":{"type":"string","maxLength":128,"title":"Label","default":""},"scope":{"type":"string","title":"Scope","default":"extension"}},"type":"object","title":"CreateApiKeyRequest"},"CreateApprovalRequestRequest":{"properties":{"action_type":{"type":"string","maxLength":64,"title":"Action Type","description":"policy_change | user_revoke | ..."},"summary":{"type":"string","maxLength":512,"title":"Summary"},"payload":{"anyOf":[{},{"type":"null"}],"title":"Payload"},"created_by":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Created By"}},"type":"object","required":["action_type","summary"],"title":"CreateApprovalRequestRequest","description":"Тело запроса на создание заявки."},"CreateCryptoLinkRequest":{"properties":{"org_id":{"type":"integer","minimum":1.0,"title":"Org Id"},"plan_id":{"type":"string","maxLength":32,"title":"Plan Id"},"period_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Period Days"},"network":{"type":"string","pattern":"^(tron|trc20|erc20|bsc|bep20)$","title":"Network","default":"tron"}},"type":"object","required":["org_id","plan_id","period_days"],"title":"CreateCryptoLinkRequest"},"CreateCryptoLinkResponse":{"properties":{"invoice_id":{"type":"integer","title":"Invoice Id"},"invoice_url":{"type":"string","title":"Invoice Url","default":""},"amount_usd":{"type":"number","title":"Amount Usd"},"currency":{"type":"string","title":"Currency","default":"USD"},"provider_payment_id":{"type":"string","title":"Provider Payment Id"},"quote_expires_at":{"type":"string","format":"date-time","title":"Quote Expires At"},"payment_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Address"},"amount_usdt":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount Usdt"},"network":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Network"}},"type":"object","required":["invoice_id","amount_usd","provider_payment_id","quote_expires_at"],"title":"CreateCryptoLinkResponse"},"CreateDecisionContractRequest":{"properties":{"platform":{"type":"string","title":"Platform","description":"telegram|discord|web|api"},"object_type":{"type":"string","title":"Object Type","description":"url|domain|text|file|wallet|user|message|channel"},"object_ref":{"type":"string","maxLength":512,"title":"Object Ref"},"policy_id":{"type":"string","maxLength":255,"title":"Policy Id"},"policy_version":{"type":"string","maxLength":64,"title":"Policy Version"},"verdict":{"type":"string","title":"Verdict","description":"allow|warn|block|quarantine|unknown"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","maxItems":10,"minItems":1,"title":"Reasons"},"evidence_refs":{"items":{},"type":"array","minItems":0,"title":"Evidence Refs"},"evidence_ttl_days":{"type":"integer","minimum":0.0,"title":"Evidence Ttl Days"},"evidence_policy_id":{"type":"string","maxLength":255,"title":"Evidence Policy Id"},"created_by":{"type":"string","maxLength":64,"title":"Created By"},"actions_applied":{"items":{"type":"string"},"type":"array","minItems":0,"title":"Actions Applied"},"appeal_state":{"type":"string","maxLength":32,"title":"Appeal State","default":"none"},"confidence_label":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Confidence Label"},"action_policy":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Action Policy"},"trace_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Trace Id"}},"type":"object","required":["platform","object_type","object_ref","policy_id","policy_version","verdict","confidence","reasons","evidence_refs","evidence_ttl_days","evidence_policy_id","created_by","actions_applied"],"title":"CreateDecisionContractRequest","description":"Тело запроса на создание контракта. org_id/tenant_id передаются отдельно (header/context)."},"CreateReferralLinkRequest":{"properties":{"label":{"type":"string","maxLength":255,"title":"Label","default":""},"sub1":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Sub1"},"sub2":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Sub2"},"sub3":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Sub3"}},"type":"object","title":"CreateReferralLinkRequest"},"CreateWebhookRequest":{"properties":{"url":{"type":"string","maxLength":2048,"title":"Url"}},"type":"object","required":["url"],"title":"CreateWebhookRequest","description":"Тело запроса на создание webhook."},"CreateWebhookResponse":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"url":{"type":"string","title":"Url"},"secret":{"type":"string","title":"Secret"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","org_id","url","secret","is_active","created_at"],"title":"CreateWebhookResponse","description":"Ответ создания: secret показывается один раз."},"CreativeOut":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"type":{"type":"string","title":"Type"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"},"format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Format"},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"}},"type":"object","required":["name","url","type"],"title":"CreativeOut"},"CreativeSnippetOut":{"properties":{"creative_id":{"type":"integer","title":"Creative Id"},"snippet":{"type":"string","title":"Snippet"},"format":{"type":"string","title":"Format"},"tracking_url":{"type":"string","title":"Tracking Url"}},"type":"object","required":["creative_id","snippet","format","tracking_url"],"title":"CreativeSnippetOut"},"CreditRefundRequestIn":{"properties":{"reason":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Reason"},"wallet_address":{"type":"string","maxLength":255,"minLength":1,"title":"Wallet Address"},"currency":{"type":"string","pattern":"^(usdttrc20|usdterc20|usdtbsc|btc)$","title":"Currency","default":"usdttrc20"}},"type":"object","required":["wallet_address"],"title":"CreditRefundRequestIn"},"CreditRefundResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"request_id":{"type":"integer","title":"Request Id"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["ok","request_id","status","created_at"],"title":"CreditRefundResponse"},"CreditTopupRequest":{"properties":{"usd_cents":{"anyOf":[{"type":"integer","maximum":10000000.0,"minimum":1.0},{"type":"null"}],"title":"Usd Cents"},"package_usd_cents":{"anyOf":[{"type":"integer","maximum":10000000.0,"minimum":1.0},{"type":"null"}],"title":"Package Usd Cents"},"pay_currency":{"type":"string","pattern":"^(tron|trc20|erc20|bsc|bep20|usdttrc20|usdterc20|usdtbsc)$","title":"Pay Currency","default":"usdttrc20"}},"type":"object","title":"CreditTopupRequest"},"CreditTopupResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"invoice_id":{"type":"integer","title":"Invoice Id"},"provider":{"type":"string","title":"Provider"},"status":{"type":"string","title":"Status"},"checkout_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkout Url"},"provider_payment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Payment Id"},"usd_cents":{"type":"integer","title":"Usd Cents"},"expected_tokens":{"type":"integer","title":"Expected Tokens"},"bonus_tokens":{"type":"integer","title":"Bonus Tokens"},"quote_expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quote Expires At"}},"type":"object","required":["ok","invoice_id","provider","status","usd_cents","expected_tokens","bonus_tokens"],"title":"CreditTopupResponse"},"CreditsBalanceResponse":{"properties":{"tokens":{"type":"integer","title":"Tokens"},"usd_balance":{"type":"number","title":"Usd Balance"},"avg_daily_usage_7days":{"type":"number","title":"Avg Daily Usage 7Days"},"last_check_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Check Days"},"source":{"type":"string","title":"Source"}},"type":"object","required":["tokens","usd_balance","avg_daily_usage_7days","source"],"title":"CreditsBalanceResponse"},"CreditsPackage":{"properties":{"usd_cents":{"type":"integer","title":"Usd Cents"},"usd_display":{"type":"string","title":"Usd Display"},"tokens":{"type":"integer","title":"Tokens"},"bonus_pct":{"type":"integer","title":"Bonus Pct"}},"type":"object","required":["usd_cents","usd_display","tokens","bonus_pct"],"title":"CreditsPackage"},"CreditsPackagesResponse":{"properties":{"min_topup_usd_cents":{"type":"integer","title":"Min Topup Usd Cents"},"packages":{"items":{"$ref":"#/components/schemas/CreditsPackage"},"type":"array","title":"Packages"}},"type":"object","required":["min_topup_usd_cents","packages"],"title":"CreditsPackagesResponse"},"CreditsUsagePoint":{"properties":{"day":{"type":"string","title":"Day"},"checks":{"type":"integer","title":"Checks"},"estimated_tokens":{"type":"integer","title":"Estimated Tokens"}},"type":"object","required":["day","checks","estimated_tokens"],"title":"CreditsUsagePoint"},"CreditsUsageResponse":{"properties":{"days":{"type":"integer","title":"Days"},"total_checks":{"type":"integer","title":"Total Checks"},"estimated_tokens":{"type":"integer","title":"Estimated Tokens"},"points":{"items":{"$ref":"#/components/schemas/CreditsUsagePoint"},"type":"array","title":"Points"}},"type":"object","required":["days","total_checks","estimated_tokens","points"],"title":"CreditsUsageResponse"},"CrossBanRequest":{"properties":{"threat_actor_id":{"type":"string","maxLength":255,"minLength":1,"title":"Threat Actor Id"},"source_platform":{"type":"string","enum":["siem","telegram","discord","slack","api","x","unknown"],"title":"Source Platform","default":"siem"},"org_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Org Id"}},"type":"object","required":["threat_actor_id"],"title":"CrossBanRequest"},"CrossBanResponse":{"properties":{"request_id":{"type":"string","title":"Request Id"},"org_id":{"type":"integer","title":"Org Id"},"source_platform":{"type":"string","title":"Source Platform"},"threat_actor_id":{"type":"string","title":"Threat Actor Id"},"cross_ban_status":{"type":"string","title":"Cross Ban Status"},"is_cross_banned":{"type":"boolean","title":"Is Cross Banned"}},"type":"object","required":["request_id","org_id","source_platform","threat_actor_id","cross_ban_status","is_cross_banned"],"title":"CrossBanResponse"},"CryptoInvoiceStatusResponse":{"properties":{"invoice_id":{"type":"integer","title":"Invoice Id"},"provider_payment_id":{"type":"string","title":"Provider Payment Id"},"org_id":{"type":"integer","title":"Org Id"},"status":{"type":"string","title":"Status"},"amount_usd":{"type":"number","title":"Amount Usd"},"invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Url"},"quote_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Quote Expires At"},"subscription_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Subscription Id"}},"type":"object","required":["invoice_id","provider_payment_id","org_id","status","amount_usd"],"title":"CryptoInvoiceStatusResponse"},"CustomBotNormalizeResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"group_id":{"type":"integer","title":"Group Id"},"chat_id":{"type":"string","title":"Chat Id"},"merged_into_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Merged Into Group Id"},"webhook_registered":{"type":"boolean","title":"Webhook Registered","default":false}},"type":"object","required":["ok","group_id","chat_id"],"title":"CustomBotNormalizeResponse"},"CustomBotWebhookHealthResponse":{"properties":{"group_id":{"type":"integer","title":"Group Id"},"chat_id":{"type":"string","title":"Chat Id"},"has_custom_bot":{"type":"boolean","title":"Has Custom Bot"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"webhook_ok":{"type":"boolean","title":"Webhook Ok","default":false},"pending_update_count":{"type":"integer","title":"Pending Update Count","default":0},"last_error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Message"},"commands":{"items":{"type":"string"},"type":"array","title":"Commands"}},"type":"object","required":["group_id","chat_id","has_custom_bot"],"title":"CustomBotWebhookHealthResponse"},"CustomIocCreateRequest":{"properties":{"entry_type":{"type":"string","maxLength":32,"title":"Entry Type"},"value":{"type":"string","maxLength":512,"minLength":1,"title":"Value"},"severity":{"type":"string","maxLength":32,"title":"Severity","default":"high"}},"type":"object","required":["entry_type","value"],"title":"CustomIocCreateRequest"},"CustomIocDeleteResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["ok","id"],"title":"CustomIocDeleteResponse"},"CustomTelegramBotRequest":{"properties":{"bot_token":{"type":"string","maxLength":512,"minLength":20,"title":"Bot Token","description":"BotFather token (NNNNNNNN:AA...)"},"chat_id":{"type":"string","maxLength":32,"minLength":2,"title":"Chat Id","description":"Group/chat id (e.g. -100xxxxxxxxxx)"},"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"}},"type":"object","required":["bot_token","chat_id"],"title":"CustomTelegramBotRequest","description":"Bring-your-own-bot: register a BotFather-issued bot token + group/chat id."},"CustomTelegramBotResponse":{"properties":{"chat_id":{"type":"string","title":"Chat Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"linked":{"type":"boolean","title":"Linked"},"group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Group Id"},"webhook_registered":{"type":"boolean","title":"Webhook Registered","default":false}},"type":"object","required":["chat_id","title","linked"],"title":"CustomTelegramBotResponse"},"DailyChecksPoint":{"properties":{"day":{"type":"string","title":"Day"},"total":{"type":"integer","title":"Total"},"breakdown":{"additionalProperties":{"type":"integer"},"type":"object","title":"Breakdown"}},"type":"object","required":["day","total"],"title":"DailyChecksPoint"},"DailyChecksResponse":{"properties":{"days":{"items":{"$ref":"#/components/schemas/DailyChecksPoint"},"type":"array","title":"Days"},"range_days":{"type":"integer","title":"Range Days"}},"type":"object","required":["days","range_days"],"title":"DailyChecksResponse"},"DashboardOut":{"properties":{"total_earned":{"type":"number","title":"Total Earned"},"pending_payout":{"type":"number","title":"Pending Payout"},"total_referrals":{"type":"integer","title":"Total Referrals"},"total_clicks":{"type":"integer","title":"Total Clicks","default":0},"total_conversions":{"type":"integer","title":"Total Conversions","default":0},"total_commission_earned":{"type":"number","title":"Total Commission Earned","default":0.0},"active_links":{"type":"integer","title":"Active Links","default":0},"conversion_rate":{"type":"number","title":"Conversion Rate"},"hold_amount":{"type":"number","title":"Hold Amount"},"paid_amount":{"type":"number","title":"Paid Amount"},"revshare_earned":{"type":"number","title":"Revshare Earned"},"recruited_sdr_count":{"type":"integer","title":"Recruited Sdr Count"},"partner_bots_count":{"type":"integer","title":"Partner Bots Count","default":0},"partner_platforms_count":{"type":"integer","title":"Partner Platforms Count","default":0},"current_tier":{"type":"string","title":"Current Tier","default":"starter"},"tier_name":{"type":"string","title":"Tier Name","default":"starter"},"tier_conversions_done":{"type":"integer","title":"Tier Conversions Done","default":0},"tier_conversions_needed":{"type":"integer","title":"Tier Conversions Needed","default":10}},"type":"object","required":["total_earned","pending_payout","total_referrals","conversion_rate","hold_amount","paid_amount","revshare_earned","recruited_sdr_count"],"title":"DashboardOut"},"DataExportResponse":{"properties":{"user":{"type":"object","title":"User"},"organization":{"type":"object","title":"Organization"},"subscription":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Subscription"},"decisions":{"items":{"type":"object"},"type":"array","title":"Decisions"},"bans":{"items":{"type":"object"},"type":"array","title":"Bans"},"audit_events":{"items":{"type":"object"},"type":"array","title":"Audit Events"},"api_keys":{"items":{"type":"object"},"type":"array","title":"Api Keys"},"exported_at":{"type":"string","title":"Exported At"}},"type":"object","required":["user","organization","exported_at"],"title":"DataExportResponse","description":"GDPR Article 20 — portable data export for the authenticated user."},"DecisionCheckResponse":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"verdict":{"type":"string","title":"Verdict"},"verdict_display":{"type":"string","title":"Verdict Display"},"visual_hint":{"type":"string","title":"Visual Hint"},"confidence":{"type":"number","title":"Confidence"},"confidence_label":{"type":"string","title":"Confidence Label"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"reason_codes":{"items":{"type":"string"},"type":"array","title":"Reason Codes"},"threats":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},"type":"array","title":"Threats"},"evidence_refs":{"items":{"type":"object"},"type":"array","title":"Evidence Refs","default":[]},"homograph_suspected":{"type":"boolean","title":"Homograph Suspected","default":false},"canonical_domain":{"type":"string","title":"Canonical Domain","default":""},"url_hash":{"type":"string","title":"Url Hash","default":""},"features":{"type":"object","title":"Features"},"object_type":{"type":"string","title":"Object Type"},"object_ref":{"type":"string","title":"Object Ref"},"scam_variant_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scam Variant Id"},"scam_variant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scam Variant Name"},"threat_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threat Category"},"mitre_ttp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mitre Ttp"},"ollama_context_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ollama Context Hint"},"audit_event_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audit Event Id"},"degraded":{"type":"boolean","title":"Degraded","default":false},"limitations":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Limitations"}},"type":"object","required":["decision_id","verdict","verdict_display","visual_hint","confidence","confidence_label","reasons","object_type","object_ref"],"title":"DecisionCheckResponse"},"DecisionContractResponse":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"org_id":{"type":"integer","title":"Org Id"},"tenant_id":{"type":"integer","title":"Tenant Id"},"platform":{"type":"string","title":"Platform"},"object_type":{"type":"string","title":"Object Type"},"object_ref":{"type":"string","title":"Object Ref"},"policy_id":{"type":"string","title":"Policy Id"},"policy_version":{"type":"string","title":"Policy Version"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"confidence_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confidence Label"},"action_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Policy"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"evidence_refs":{"items":{},"type":"array","title":"Evidence Refs"},"evidence_ttl_days":{"type":"integer","title":"Evidence Ttl Days"},"evidence_policy_id":{"type":"string","title":"Evidence Policy Id"},"created_at":{"type":"string","title":"Created At"},"created_by":{"type":"string","title":"Created By"},"actions_applied":{"items":{"type":"string"},"type":"array","title":"Actions Applied"},"appeal_state":{"type":"string","title":"Appeal State"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"approval_request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Request Id"},"approval_approved_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Approved By"},"approval_approved_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Approved At"},"approval_diff_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Diff Summary"},"approval_rejected_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Rejected By"},"approval_rejected_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Rejected At"},"approval_rejection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Rejection Reason"}},"type":"object","required":["decision_id","org_id","tenant_id","platform","object_type","object_ref","policy_id","policy_version","verdict","confidence","confidence_label","action_policy","reasons","evidence_refs","evidence_ttl_days","evidence_policy_id","created_at","created_by","actions_applied","appeal_state","trace_id"],"title":"DecisionContractResponse","description":"Ответ: контракт (для чтения)."},"DecisionStreamItem":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"org_id":{"type":"integer","title":"Org Id"},"platform":{"type":"string","title":"Platform"},"object_type":{"type":"string","title":"Object Type"},"object_ref":{"type":"string","title":"Object Ref"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reason_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason Code"},"action_applied":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Applied"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["decision_id","trace_id","org_id","platform","object_type","object_ref","verdict","confidence","created_at"],"title":"DecisionStreamItem"},"DeleteAccountResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"}},"type":"object","required":["ok"],"title":"DeleteAccountResponse"},"DeliveryCancelRequest":{"properties":{"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"},"acknowledge_in_flight":{"type":"boolean","title":"Acknowledge In Flight","default":false}},"type":"object","required":["reason"],"title":"DeliveryCancelRequest"},"DeliveryDetailResponse":{"properties":{"delivery":{"$ref":"#/components/schemas/DeliveryItem"},"timeline":{"items":{"$ref":"#/components/schemas/DeliveryTimelineItem"},"type":"array","title":"Timeline"},"retry_requires_duplicate_ack":{"type":"boolean","title":"Retry Requires Duplicate Ack"},"cancel_requires_in_flight_ack":{"type":"boolean","title":"Cancel Requires In Flight Ack"}},"type":"object","required":["delivery","retry_requires_duplicate_ack","cancel_requires_in_flight_ack"],"title":"DeliveryDetailResponse"},"DeliveryItem":{"properties":{"delivery_id":{"type":"string","title":"Delivery Id"},"source_type":{"type":"string","title":"Source Type"},"source_id":{"type":"string","title":"Source Id"},"action_type":{"type":"string","title":"Action Type"},"provider":{"type":"string","title":"Provider"},"target_ref":{"type":"string","title":"Target Ref"},"status":{"type":"string","title":"Status"},"attempt_count":{"type":"integer","title":"Attempt Count"},"max_attempts":{"type":"integer","title":"Max Attempts"},"in_progress":{"type":"boolean","title":"In Progress"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"safe_metadata":{"type":"object","title":"Safe Metadata"},"safe_receipt":{"type":"object","title":"Safe Receipt"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"queued_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Queued At"},"last_attempt_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Attempt At"},"next_attempt_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Attempt At"},"delivered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivered At"},"failed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failed At"},"cancelled_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancelled At"},"dead_lettered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dead Lettered At"},"retry_allowed":{"type":"boolean","title":"Retry Allowed"},"retry_block_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Retry Block Reason"}},"type":"object","required":["delivery_id","source_type","source_id","action_type","provider","target_ref","status","attempt_count","max_attempts","in_progress","created_at","updated_at","retry_allowed"],"title":"DeliveryItem"},"DeliveryListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DeliveryItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"status_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Status Counts"}},"type":"object","required":["total","limit","offset"],"title":"DeliveryListResponse"},"DeliveryMutationResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"delivery":{"$ref":"#/components/schemas/DeliveryItem"},"warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warning"}},"type":"object","required":["ok","delivery"],"title":"DeliveryMutationResponse"},"DeliveryRetryRequest":{"properties":{"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"},"acknowledge_duplicate_risk":{"type":"boolean","title":"Acknowledge Duplicate Risk","default":false}},"type":"object","required":["reason"],"title":"DeliveryRetryRequest"},"DeliveryTimelineItem":{"properties":{"event_type":{"type":"string","title":"Event Type"},"previous_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Status"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"attempt_count":{"type":"integer","title":"Attempt Count","default":0},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["event_type","created_at"],"title":"DeliveryTimelineItem"},"DeliveryWorkerStatusResponse":{"properties":{"worker_name":{"type":"string","title":"Worker Name"},"observed":{"type":"boolean","title":"Observed"},"readiness":{"type":"string","enum":["ready","starting","degraded","stale","stopped","not_observed"],"title":"Readiness"},"worker_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Worker State"},"last_heartbeat_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Heartbeat At"},"heartbeat_age_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Heartbeat Age Seconds"},"freshness_threshold_seconds":{"type":"integer","title":"Freshness Threshold Seconds"},"poll_interval_seconds":{"type":"number","title":"Poll Interval Seconds"}},"type":"object","required":["worker_name","observed","readiness","freshness_threshold_seconds","poll_interval_seconds"],"title":"DeliveryWorkerStatusResponse"},"DemoActivateResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"plan_id":{"type":"string","title":"Plan Id"},"period_end":{"type":"string","title":"Period End"}},"type":"object","required":["ok","plan_id","period_end"],"title":"DemoActivateResponse"},"DemoRequestBody":{"properties":{"name":{"type":"string","maxLength":256,"minLength":1,"title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"company":{"type":"string","maxLength":256,"title":"Company","default":""},"message":{"type":"string","maxLength":2000,"title":"Message","default":""},"lang":{"type":"string","pattern":"^(en|ru)$","title":"Lang","default":"en"}},"type":"object","required":["name","email"],"title":"DemoRequestBody"},"DemoRequestResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["ok","id"],"title":"DemoRequestResponse"},"DetectionRuleAuditItem":{"properties":{"id":{"type":"integer","title":"Id"},"rule_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rule Id"},"action":{"type":"string","title":"Action"},"actor_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actor User Id"},"payload":{"type":"object","title":"Payload"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","action","created_at"],"title":"DetectionRuleAuditItem"},"DetectionRuleAuditListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DetectionRuleAuditItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total","default":0},"limit":{"type":"integer","title":"Limit","default":20},"offset":{"type":"integer","title":"Offset","default":0}},"type":"object","title":"DetectionRuleAuditListResponse"},"DetectionRuleCreateRequest":{"properties":{"name":{"type":"string","maxLength":128,"minLength":2,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"scope":{"type":"string","maxLength":32,"title":"Scope","default":"any"},"pattern_type":{"type":"string","maxLength":16,"title":"Pattern Type","default":"contains"},"pattern":{"type":"string","maxLength":1000,"minLength":1,"title":"Pattern"},"action":{"type":"string","maxLength":16,"title":"Action","default":"warn"},"severity":{"type":"string","maxLength":16,"title":"Severity","default":"medium"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["name","pattern"],"title":"DetectionRuleCreateRequest"},"DetectionRuleDeleteResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["ok","id"],"title":"DetectionRuleDeleteResponse"},"DetectionRuleItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"scope":{"type":"string","title":"Scope"},"pattern_type":{"type":"string","title":"Pattern Type"},"pattern":{"type":"string","title":"Pattern"},"action":{"type":"string","title":"Action"},"severity":{"type":"string","title":"Severity"},"is_active":{"type":"boolean","title":"Is Active"},"trigger_count":{"type":"integer","title":"Trigger Count","default":0},"last_triggered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered At"},"source":{"type":"string","title":"Source"}},"type":"object","required":["id","name","scope","pattern_type","pattern","action","severity","is_active","source"],"title":"DetectionRuleItem"},"DetectionRuleTestRequest":{"properties":{"text":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Text"},"url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Url"},"domain":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Domain"},"phone":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Phone"}},"type":"object","title":"DetectionRuleTestRequest"},"DetectionRuleTestResponse":{"properties":{"matched":{"type":"boolean","title":"Matched"},"matched_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Value"},"action":{"type":"string","title":"Action"},"reason_codes":{"items":{"type":"string"},"type":"array","title":"Reason Codes"},"threats":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},"type":"array","title":"Threats"},"diagnostics":{"type":"object","title":"Diagnostics"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"audit_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audit Id"}},"type":"object","required":["matched","action"],"title":"DetectionRuleTestResponse"},"DetectionRuleUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":128,"minLength":2},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"scope":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Scope"},"pattern_type":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Pattern Type"},"pattern":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"type":"null"}],"title":"Pattern"},"action":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Action"},"severity":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Severity"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"DetectionRuleUpdateRequest"},"DetectionRulesListResponse":{"properties":{"builtin_rules":{"items":{"$ref":"#/components/schemas/DetectionRuleItem"},"type":"array","title":"Builtin Rules"},"custom_rules":{"items":{"$ref":"#/components/schemas/DetectionRuleItem"},"type":"array","title":"Custom Rules"},"total_custom":{"type":"integer","title":"Total Custom","default":0},"limit":{"type":"integer","title":"Limit","default":50},"offset":{"type":"integer","title":"Offset","default":0}},"type":"object","title":"DetectionRulesListResponse"},"DetectionStats":{"properties":{"total_decisions":{"type":"integer","title":"Total Decisions"},"by_verdict":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Verdict"},"by_platform":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Platform"},"by_object_type":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Object Type"}},"type":"object","required":["total_decisions","by_verdict","by_platform","by_object_type"],"title":"DetectionStats"},"DigestRequest":{"properties":{"payload_b64":{"type":"string","maxLength":1398104,"minLength":4,"title":"Payload B64"}},"type":"object","required":["payload_b64"],"title":"DigestRequest"},"DigestResponse":{"properties":{"digest_hex":{"type":"string","title":"Digest Hex"},"payload_bytes":{"type":"integer","title":"Payload Bytes"}},"type":"object","required":["digest_hex","payload_bytes"],"title":"DigestResponse"},"DiscordBotSettingsRequest":{"properties":{"welcome_enabled":{"type":"boolean","title":"Welcome Enabled","default":true},"welcome_message":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Welcome Message"},"verification_enabled":{"type":"boolean","title":"Verification Enabled","default":false},"verification_role_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Verification Role Id"},"quarantine_role_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Quarantine Role Id"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger","default":true},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious","default":true},"notify_admin_channel_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Notify Admin Channel Id"},"timeout_duration_minutes":{"type":"integer","maximum":43200.0,"minimum":1.0,"title":"Timeout Duration Minutes","default":60},"daily_scan_limit":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Daily Scan Limit","default":100},"allow_user_mentions":{"type":"boolean","title":"Allow User Mentions","default":false}},"type":"object","title":"DiscordBotSettingsRequest"},"DiscordBotSettingsResponse":{"properties":{"guild_id":{"type":"string","title":"Guild Id"},"org_id":{"type":"integer","title":"Org Id"},"welcome_enabled":{"type":"boolean","title":"Welcome Enabled"},"welcome_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Welcome Message"},"verification_enabled":{"type":"boolean","title":"Verification Enabled"},"verification_role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Role Id"},"quarantine_role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quarantine Role Id"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger"},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious"},"notify_admin_channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notify Admin Channel Id"},"timeout_duration_minutes":{"type":"integer","title":"Timeout Duration Minutes"},"daily_scan_limit":{"type":"integer","title":"Daily Scan Limit"},"allow_user_mentions":{"type":"boolean","title":"Allow User Mentions"}},"type":"object","required":["guild_id","org_id","welcome_enabled","welcome_message","verification_enabled","verification_role_id","quarantine_role_id","auto_delete_danger","warn_on_suspicious","notify_admin_channel_id","timeout_duration_minutes","daily_scan_limit","allow_user_mentions"],"title":"DiscordBotSettingsResponse"},"DiscordCustomBotRequest":{"properties":{"bot_token":{"type":"string","maxLength":256,"minLength":20,"title":"Bot Token"},"guild_id":{"type":"string","maxLength":64,"minLength":15,"title":"Guild Id"}},"type":"object","required":["bot_token","guild_id"],"title":"DiscordCustomBotRequest"},"DiscordDiagnosticsResponse":{"properties":{"status":{"type":"string","title":"Status"},"details":{"type":"object","title":"Details"}},"type":"object","required":["status","details"],"title":"DiscordDiagnosticsResponse"},"DiscordInstallRequest":{"properties":{"guild_id":{"type":"string","title":"Guild Id","description":"Discord server (guild) ID"},"guild_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Guild Name"},"policy_profile":{"type":"string","pattern":"^(soft|standard|strict|custom)$","title":"Policy Profile","default":"standard"}},"type":"object","required":["guild_id"],"title":"DiscordInstallRequest"},"DiscordLifecycleActionResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"guild_id":{"type":"string","title":"Guild Id"},"linked":{"type":"boolean","title":"Linked"},"status":{"type":"string","title":"Status"}},"type":"object","required":["ok","guild_id","linked","status"],"title":"DiscordLifecycleActionResponse"},"DiscordServerSettingsRequest":{"properties":{"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger","default":true},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious","default":true},"notify_admin":{"type":"boolean","title":"Notify Admin","default":true},"notify_admin_channel_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Notify Admin Channel Id"},"quarantine_role_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Quarantine Role Id"},"timeout_duration_minutes":{"type":"integer","maximum":43200.0,"minimum":1.0,"title":"Timeout Duration Minutes","default":60}},"type":"object","title":"DiscordServerSettingsRequest"},"DiscordServerSettingsResponse":{"properties":{"guild_id":{"type":"string","title":"Guild Id"},"policy_profile":{"type":"string","title":"Policy Profile"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger"},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious"},"notify_admin":{"type":"boolean","title":"Notify Admin"},"notify_admin_channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notify Admin Channel Id"},"quarantine_role_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quarantine Role Id"},"timeout_duration_minutes":{"type":"integer","title":"Timeout Duration Minutes","default":60}},"type":"object","required":["guild_id","policy_profile","auto_delete_danger","warn_on_suspicious","notify_admin"],"title":"DiscordServerSettingsResponse"},"DomainListAddRequest":{"properties":{"domain":{"type":"string","maxLength":255,"minLength":1,"title":"Domain"}},"type":"object","required":["domain"],"title":"DomainListAddRequest"},"DomainListItem":{"properties":{"id":{"type":"integer","title":"Id"},"domain":{"type":"string","title":"Domain"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","domain"],"title":"DomainListItem"},"DomainListMutationResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["ok","id"],"title":"DomainListMutationResponse"},"DomainListPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DomainListItem"},"type":"array","title":"Items"},"meta":{"additionalProperties":{"type":"integer"},"type":"object","title":"Meta"}},"type":"object","title":"DomainListPage"},"DomainScoreResponse":{"properties":{"domain":{"type":"string","title":"Domain"},"score":{"type":"integer","title":"Score"},"verdict":{"type":"string","title":"Verdict"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"allowlisted":{"type":"boolean","title":"Allowlisted","default":false},"denylisted":{"type":"boolean","title":"Denylisted","default":false}},"type":"object","required":["domain","score","verdict"],"title":"DomainScoreResponse"},"DossierPatchBody":{"properties":{"compliance_mode":{"anyOf":[{"type":"string","enum":["none","gdpr","ccpa","enterprise"]},{"type":"null"}],"title":"Compliance Mode"},"public_summary":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Public Summary"}},"type":"object","title":"DossierPatchBody"},"DriftListResponse":{"properties":{"metrics":{"items":{"$ref":"#/components/schemas/DriftMetricItem"},"type":"array","title":"Metrics"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["metrics","total"],"title":"DriftListResponse"},"DriftMetricItem":{"properties":{"id":{"type":"integer","title":"Id"},"model_name":{"type":"string","title":"Model Name"},"model_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Version"},"metric_kind":{"type":"string","title":"Metric Kind"},"feature_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feature Name"},"drift_score":{"type":"number","title":"Drift Score"},"threshold":{"type":"number","title":"Threshold"},"triggered":{"type":"boolean","title":"Triggered"},"sample_size":{"type":"integer","title":"Sample Size"},"measured_at":{"type":"string","format":"date-time","title":"Measured At"}},"type":"object","required":["id","model_name","model_version","metric_kind","feature_name","drift_score","threshold","triggered","sample_size","measured_at"],"title":"DriftMetricItem"},"EmailAddressRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"EmailAddressRequest"},"EmailAuthResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"user_id":{"type":"integer","title":"User Id"},"org_id":{"type":"integer","title":"Org Id"},"username":{"type":"string","title":"Username"}},"type":"object","required":["access_token","refresh_token","user_id","org_id","username"],"title":"EmailAuthResponse"},"EmailCodeRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"code":{"type":"string","pattern":"^\\d{6}$","title":"Code"}},"type":"object","required":["email","code"],"title":"EmailCodeRequest"},"EmailLoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":1,"title":"Password"}},"type":"object","required":["email","password"],"title":"EmailLoginRequest"},"EmailPasswordUpdateRequest":{"properties":{"password":{"type":"string","maxLength":128,"minLength":12,"title":"Password"},"confirm_password":{"type":"string","maxLength":128,"minLength":12,"title":"Confirm Password"}},"type":"object","required":["password","confirm_password"],"title":"EmailPasswordUpdateRequest"},"EmailPasswordUpdateResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"password_login_enabled":{"type":"boolean","title":"Password Login Enabled","default":true}},"type":"object","title":"EmailPasswordUpdateResponse"},"EntitlementToggleRequest":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"}},"type":"object","required":["enabled","reason"],"title":"EntitlementToggleRequest"},"EntityClustersResponse":{"properties":{"clusters":{"items":{"type":"object"},"type":"array","title":"Clusters"},"meta":{"type":"object","title":"Meta"}},"type":"object","title":"EntityClustersResponse"},"EntityCorrelationsResponse":{"properties":{"items":{"items":{"type":"object"},"type":"array","title":"Items"},"meta":{"type":"object","title":"Meta"}},"type":"object","title":"EntityCorrelationsResponse"},"EntityResolveResponse":{"properties":{"entity":{"$ref":"#/components/schemas/EntitySummary"},"signals":{"items":{"$ref":"#/components/schemas/EntitySignalItem"},"type":"array","title":"Signals"},"clusters":{"items":{"type":"object"},"type":"array","title":"Clusters"},"meta":{"type":"object","title":"Meta"}},"type":"object","required":["entity"],"title":"EntityResolveResponse"},"EntitySignalItem":{"properties":{"source":{"type":"string","title":"Source"},"platform":{"type":"string","title":"Platform"},"first_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Seen At"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"},"weight":{"type":"integer","title":"Weight","default":1},"details":{"type":"object","title":"Details"}},"type":"object","required":["source","platform"],"title":"EntitySignalItem"},"EntitySummary":{"properties":{"kind":{"type":"string","title":"Kind"},"value":{"type":"string","title":"Value"},"normalized_value":{"type":"string","title":"Normalized Value"},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms"},"platform_count":{"type":"integer","title":"Platform Count","default":0},"sightings":{"type":"integer","title":"Sightings","default":0},"confidence":{"type":"number","title":"Confidence","default":0.0},"risk_level":{"type":"string","title":"Risk Level","default":"unknown"},"first_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Seen At"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"}},"type":"object","required":["kind","value","normalized_value"],"title":"EntitySummary"},"EvidenceDownloadResponse":{"properties":{"evidence_id":{"type":"integer","title":"Evidence Id"},"control_id":{"type":"string","title":"Control Id"},"status":{"type":"string","title":"Status"},"evidence_payload":{"type":"object","title":"Evidence Payload"},"collected_at":{"type":"string","format":"date-time","title":"Collected At"}},"type":"object","required":["evidence_id","control_id","status","evidence_payload","collected_at"],"title":"EvidenceDownloadResponse"},"ExecDashboardResponse":{"properties":{"generated_at":{"type":"string","title":"Generated At"},"churn_window_days":{"type":"integer","title":"Churn Window Days"},"mrr_usd":{"type":"number","title":"Mrr Usd"},"arr_usd":{"type":"number","title":"Arr Usd"},"active_paid_subscriptions":{"type":"integer","title":"Active Paid Subscriptions"},"arpu_usd":{"type":"number","title":"Arpu Usd"},"mrr_by_plan":{"additionalProperties":{"type":"number"},"type":"object","title":"Mrr By Plan"},"subscriptions_by_status":{"additionalProperties":{"type":"integer"},"type":"object","title":"Subscriptions By Status"},"new_paid_subscriptions_30d":{"type":"integer","title":"New Paid Subscriptions 30D"},"churned_subscriptions_30d":{"type":"integer","title":"Churned Subscriptions 30D"},"churn_rate_30d":{"type":"number","title":"Churn Rate 30D"},"paid_invoices_30d":{"type":"integer","title":"Paid Invoices 30D"},"revenue_30d_by_currency":{"additionalProperties":{"type":"number"},"type":"object","title":"Revenue 30D By Currency"},"conversion_by_channel":{"additionalProperties":{"type":"integer"},"type":"object","title":"Conversion By Channel"},"sdr_conversions_30d":{"type":"integer","title":"Sdr Conversions 30D"},"sdr_commission_30d_usd":{"type":"number","title":"Sdr Commission 30D Usd"}},"type":"object","required":["generated_at","churn_window_days","mrr_usd","arr_usd","active_paid_subscriptions","arpu_usd","new_paid_subscriptions_30d","churned_subscriptions_30d","churn_rate_30d","paid_invoices_30d","sdr_conversions_30d","sdr_commission_30d_usd"],"title":"ExecDashboardResponse"},"ExplainRequest":{"properties":{"text":{"type":"string","maxLength":5000,"minLength":1,"title":"Text","description":"Text to analyze"},"context_url":{"type":"string","maxLength":2048,"title":"Context Url","description":"URL context (page where text was found)","default":""},"reasons":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Reasons","description":"Structured detection reasons from Decision Contract"},"object_type":{"anyOf":[{"type":"string","pattern":"^(url|text|domain|file)$"},{"type":"null"}],"title":"Object Type"},"object_ref":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Object Ref"},"lang":{"type":"string","pattern":"^(en|ru|auto)$","title":"Lang","default":"en"},"platform":{"type":"string","pattern":"^(telegram|discord|web|api|extension|x)$","title":"Platform","default":"web"}},"type":"object","required":["text"],"title":"ExplainRequest"},"ExplainResponse":{"properties":{"explanation":{"type":"string","title":"Explanation"},"risk_level":{"type":"string","title":"Risk Level"},"indicators":{"items":{"type":"string"},"type":"array","title":"Indicators"},"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"}},"type":"object","required":["explanation","risk_level","indicators","provider","model"],"title":"ExplainResponse"},"ExportRequestBody":{"properties":{"recipient":{"type":"string","maxLength":512,"minLength":1,"title":"Recipient"},"legal_basis_attestation":{"type":"string","maxLength":2000,"minLength":8,"title":"Legal Basis Attestation"},"export_format":{"type":"string","enum":["json","pdf","both"],"title":"Export Format","default":"json"},"compliance_mode":{"anyOf":[{"type":"string","enum":["none","gdpr","ccpa","enterprise"]},{"type":"null"}],"title":"Compliance Mode"}},"type":"object","required":["recipient","legal_basis_attestation"],"title":"ExportRequestBody"},"ExtensionBloomFilterResponse":{"properties":{"version":{"type":"string","title":"Version"},"generated_at":{"type":"string","title":"Generated At"},"ttl_sec":{"type":"integer","title":"Ttl Sec"},"m_bits":{"type":"integer","title":"M Bits"},"k_hashes":{"type":"integer","title":"K Hashes"},"domain_count":{"type":"integer","title":"Domain Count"},"source":{"type":"string","title":"Source"},"bitset_b64":{"type":"string","title":"Bitset B64"},"checksum_sha256":{"type":"string","title":"Checksum Sha256"}},"type":"object","required":["version","generated_at","ttl_sec","m_bits","k_hashes","domain_count","source","bitset_b64","checksum_sha256"],"title":"ExtensionBloomFilterResponse"},"ExtensionFeedback":{"properties":{"url":{"type":"string","maxLength":4096,"minLength":5,"title":"Url"},"verdict_shown":{"type":"string","maxLength":32,"title":"Verdict Shown"},"user_agrees":{"type":"boolean","title":"User Agrees"},"comment":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Comment"},"extension_version":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Extension Version"}},"type":"object","required":["url","verdict_shown","user_agrees"],"title":"ExtensionFeedback"},"ExtensionPingRequest":{"properties":{"url":{"type":"string","maxLength":4096,"minLength":3,"title":"Url"},"verdict":{"type":"string","maxLength":32,"title":"Verdict","default":"allow"},"source":{"type":"string","maxLength":32,"title":"Source","default":"local"}},"type":"object","required":["url"],"title":"ExtensionPingRequest"},"ExtensionUsagePoint":{"properties":{"day":{"type":"string","title":"Day"},"checks":{"type":"integer","title":"Checks"}},"type":"object","required":["day","checks"],"title":"ExtensionUsagePoint"},"ExtensionUsageResponse":{"properties":{"api_keys":{"items":{"$ref":"#/components/schemas/ApiKeyListItem"},"type":"array","title":"Api Keys"},"daily":{"items":{"$ref":"#/components/schemas/ExtensionUsagePoint"},"type":"array","title":"Daily"},"total_30d":{"type":"integer","title":"Total 30D","default":0}},"type":"object","title":"ExtensionUsageResponse"},"FacebookSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"FacebookSettingsUpdate"},"FeedSummary":{"properties":{"feed_id":{"type":"string","title":"Feed Id"},"name":{"type":"string","title":"Name"},"total_indicators":{"type":"integer","title":"Total Indicators"},"last_update_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Update At"},"sla_status":{"type":"string","title":"Sla Status","default":"fresh"},"confidence":{"type":"number","title":"Confidence","default":0.9},"entry_types":{"items":{"type":"string"},"type":"array","title":"Entry Types"},"source_url":{"type":"string","title":"Source Url","default":""},"worker":{"type":"string","title":"Worker","default":""},"legal_basis":{"type":"string","title":"Legal Basis","default":""},"license_label":{"type":"string","title":"License Label","default":""},"refresh_cadence_hours":{"type":"integer","title":"Refresh Cadence Hours","default":0},"stale_after_hours":{"type":"integer","title":"Stale After Hours","default":0},"degraded_after_hours":{"type":"integer","title":"Degraded After Hours","default":0},"block_policy":{"type":"string","title":"Block Policy","default":""},"downstream_bridges":{"items":{"type":"string"},"type":"array","title":"Downstream Bridges"},"probe_url":{"type":"string","title":"Probe Url","default":""},"probe_method":{"type":"string","title":"Probe Method","default":""},"legal_review_status":{"type":"string","title":"Legal Review Status","default":""},"legal_review_url":{"type":"string","title":"Legal Review Url","default":""},"redistribution_policy":{"type":"string","title":"Redistribution Policy","default":""},"known_source":{"type":"boolean","title":"Known Source","default":false},"notes":{"type":"string","title":"Notes","default":""},"last_run_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Run Status"},"last_run_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Run At"},"last_run_finished_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Run Finished At"},"last_run_duration_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Run Duration Ms"},"last_run_entries_seen":{"type":"integer","title":"Last Run Entries Seen","default":0},"last_run_entries_written":{"type":"integer","title":"Last Run Entries Written","default":0},"last_run_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Run Error"}},"type":"object","required":["feed_id","name","total_indicators"],"title":"FeedSummary"},"FeedbackResponse":{"properties":{"id":{"type":"integer","title":"Id"},"label":{"type":"string","title":"Label"},"consumed_for_retrain":{"type":"boolean","title":"Consumed For Retrain"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","label","consumed_for_retrain","created_at"],"title":"FeedbackResponse"},"FeedbackReviewRequest":{"properties":{"action":{"type":"string","title":"Action","description":"approve|reject"}},"type":"object","required":["action"],"title":"FeedbackReviewRequest"},"FeedsPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FeedSummary"},"type":"array","title":"Items"},"meta":{"additionalProperties":{"type":"integer"},"type":"object","title":"Meta"}},"type":"object","title":"FeedsPage"},"FileCheckRequest":{"properties":{"file_hash":{"type":"string","maxLength":64,"minLength":32,"title":"File Hash","description":"SHA256 of file (hex)"}},"type":"object","required":["file_hash"],"title":"FileCheckRequest"},"FileCheckResponse":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"reason_codes":{"items":{"type":"string"},"type":"array","title":"Reason Codes"},"threats":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},"type":"array","title":"Threats"},"billing_warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Warning"},"verdict_display":{"type":"string","title":"Verdict Display","default":""},"visual_hint":{"type":"string","title":"Visual Hint","default":""},"mitre_ttp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mitre Ttp"},"threat_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threat Category"},"audit_event_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audit Event Id"},"degraded":{"type":"boolean","title":"Degraded","default":false},"limitations":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Limitations"}},"type":"object","required":["decision_id","verdict","confidence","reasons"],"title":"FileCheckResponse"},"FingerprintCreateRequest":{"properties":{"source_decision_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Source Decision Id"},"platform":{"type":"string","maxLength":32,"title":"Platform","default":"any"},"threat_type":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Threat Type"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":0.8},"is_global":{"type":"boolean","title":"Is Global","default":false},"feature_vector":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Feature Vector"},"text_sample":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Text Sample"},"url_sample":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Url Sample"}},"type":"object","title":"FingerprintCreateRequest"},"FingerprintCreateResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"created":{"type":"boolean","title":"Created"},"item":{"$ref":"#/components/schemas/FingerprintOut"}},"type":"object","required":["ok","created","item"],"title":"FingerprintCreateResponse"},"FingerprintDetailResponse":{"properties":{"item":{"$ref":"#/components/schemas/FingerprintOut"}},"type":"object","required":["item"],"title":"FingerprintDetailResponse"},"FingerprintItem":{"properties":{"id":{"type":"integer","title":"Id"},"fingerprint_kind":{"type":"string","title":"Fingerprint Kind"},"fingerprint_value":{"type":"string","title":"Fingerprint Value"},"platform":{"type":"string","title":"Platform"},"org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Org Id"},"trigger_count":{"type":"integer","title":"Trigger Count"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"}},"type":"object","required":["id","fingerprint_kind","fingerprint_value","platform","org_id","trigger_count","first_seen_at","last_seen_at"],"title":"FingerprintItem"},"FingerprintMatchesResponse":{"properties":{"items":{"items":{"type":"object"},"type":"array","title":"Items"},"meta":{"additionalProperties":{"type":"integer"},"type":"object","title":"Meta"}},"type":"object","required":["items","meta"],"title":"FingerprintMatchesResponse"},"FingerprintOut":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Org Id"},"fingerprint_hash":{"type":"string","title":"Fingerprint Hash"},"platform":{"type":"string","title":"Platform"},"threat_type":{"type":"string","title":"Threat Type"},"confidence":{"type":"number","title":"Confidence"},"matched_count":{"type":"integer","title":"Matched Count"},"is_global":{"type":"boolean","title":"Is Global"},"source_decision_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Decision Id"},"promoted_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promoted At"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"feature_vector":{"type":"object","title":"Feature Vector"}},"type":"object","required":["id","org_id","fingerprint_hash","platform","threat_type","confidence","matched_count","is_global","source_decision_id","promoted_at","created_at","updated_at","feature_vector"],"title":"FingerprintOut"},"FingerprintPromoteResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"id":{"type":"integer","title":"Id"},"is_global":{"type":"boolean","title":"Is Global"},"promoted_at":{"type":"string","title":"Promoted At"}},"type":"object","required":["ok","id","is_global","promoted_at"],"title":"FingerprintPromoteResponse"},"FingerprintStatsOut":{"properties":{"total_created":{"type":"integer","title":"Total Created"},"total_matched":{"type":"integer","title":"Total Matched"},"threats_blocked_network":{"type":"integer","title":"Threats Blocked Network"},"global_total":{"type":"integer","title":"Global Total"},"create_quota_used":{"type":"integer","title":"Create Quota Used"},"create_quota_limit":{"type":"integer","title":"Create Quota Limit"}},"type":"object","required":["total_created","total_matched","threats_blocked_network","global_total","create_quota_used","create_quota_limit"],"title":"FingerprintStatsOut"},"ForensicTimelineItem":{"properties":{"id":{"type":"integer","title":"Id"},"note_type":{"type":"string","title":"Note Type"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"payload":{"type":"object","title":"Payload"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","note_type","created_at"],"title":"ForensicTimelineItem"},"GenericEmailAuthResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"GenericEmailAuthResponse"},"GroupSettingsOut":{"properties":{"chat_id":{"type":"string","title":"Chat Id"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger"},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious"},"notify_admin":{"type":"boolean","title":"Notify Admin"},"chat_mode":{"type":"string","title":"Chat Mode"}},"type":"object","required":["chat_id","auto_delete_danger","warn_on_suspicious","notify_admin","chat_mode"],"title":"GroupSettingsOut"},"GroupSettingsRequest":{"properties":{"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger","default":true},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious","default":true},"notify_admin":{"type":"boolean","title":"Notify Admin","default":true}},"type":"object","title":"GroupSettingsRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeatmapOrgResponse":{"properties":{"updated_at":{"type":"string","title":"Updated At"},"total_threats_24h":{"type":"integer","title":"Total Threats 24H"},"by_platform":{"items":{"type":"object"},"type":"array","title":"By Platform"},"by_type":{"items":{"type":"object"},"type":"array","title":"By Type"},"timeline":{"items":{"type":"object"},"type":"array","title":"Timeline"},"hotspots":{"items":{"type":"object"},"type":"array","title":"Hotspots"},"regions":{"items":{"type":"object"},"type":"array","title":"Regions"},"network_health_score":{"type":"integer","title":"Network Health Score","default":100},"threats_blocked_for_you":{"type":"integer","title":"Threats Blocked For You"},"false_positives_reported":{"type":"integer","title":"False Positives Reported"},"protection_score":{"type":"integer","title":"Protection Score"}},"type":"object","required":["updated_at","total_threats_24h","by_platform","by_type","timeline","hotspots","threats_blocked_for_you","false_positives_reported","protection_score"],"title":"HeatmapOrgResponse"},"HeatmapPublicResponse":{"properties":{"updated_at":{"type":"string","title":"Updated At"},"total_threats_24h":{"type":"integer","title":"Total Threats 24H"},"by_platform":{"items":{"type":"object"},"type":"array","title":"By Platform"},"by_type":{"items":{"type":"object"},"type":"array","title":"By Type"},"timeline":{"items":{"type":"object"},"type":"array","title":"Timeline"},"hotspots":{"items":{"type":"object"},"type":"array","title":"Hotspots"},"regions":{"items":{"type":"object"},"type":"array","title":"Regions"},"network_health_score":{"type":"integer","title":"Network Health Score","default":100}},"type":"object","required":["updated_at","total_threats_24h","by_platform","by_type","timeline","hotspots"],"title":"HeatmapPublicResponse"},"HoneypotBanResponse":{"properties":{"request_id":{"type":"string","title":"Request Id"},"status":{"type":"string","title":"Status"},"threat_actor_id":{"type":"string","title":"Threat Actor Id"}},"type":"object","required":["request_id","status","threat_actor_id"],"title":"HoneypotBanResponse"},"HoneypotCreateRequest":{"properties":{"platform":{"type":"string","maxLength":32,"minLength":3,"title":"Platform"},"linked_resource_id":{"type":"integer","minimum":1.0,"title":"Linked Resource Id"},"trap_identifier":{"type":"string","maxLength":128,"minLength":2,"title":"Trap Identifier"},"trap_type":{"type":"string","maxLength":32,"minLength":3,"title":"Trap Type"},"display_name":{"type":"string","maxLength":128,"minLength":2,"title":"Display Name"}},"type":"object","required":["platform","linked_resource_id","trap_identifier","trap_type","display_name"],"title":"HoneypotCreateRequest"},"HoneypotDetailResponse":{"properties":{"item":{"$ref":"#/components/schemas/HoneypotOut"},"recent_triggers":{"items":{"type":"object"},"type":"array","title":"Recent Triggers"}},"type":"object","required":["item","recent_triggers"],"title":"HoneypotDetailResponse"},"HoneypotListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/HoneypotOut"},"type":"array","title":"Items"},"meta":{"additionalProperties":{"type":"integer"},"type":"object","title":"Meta"}},"type":"object","required":["items","meta"],"title":"HoneypotListResponse"},"HoneypotOut":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"platform":{"type":"string","title":"Platform"},"linked_resource_id":{"type":"integer","title":"Linked Resource Id"},"trap_identifier":{"type":"string","title":"Trap Identifier"},"trap_type":{"type":"string","title":"Trap Type"},"display_name":{"type":"string","title":"Display Name"},"is_active":{"type":"boolean","title":"Is Active"},"triggered_count":{"type":"integer","title":"Triggered Count"},"last_triggered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Triggered At"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","org_id","platform","linked_resource_id","trap_identifier","trap_type","display_name","is_active","triggered_count","last_triggered_at","created_at"],"title":"HoneypotOut"},"HoneypotStatsResponse":{"properties":{"total_traps":{"type":"integer","title":"Total Traps"},"trap_limit":{"type":"integer","title":"Trap Limit"},"total_triggers_today":{"type":"integer","title":"Total Triggers Today"},"total_banned":{"type":"integer","title":"Total Banned"},"top_attack_vectors":{"items":{"type":"object"},"type":"array","title":"Top Attack Vectors"}},"type":"object","required":["total_traps","trap_limit","total_triggers_today","total_banned","top_attack_vectors"],"title":"HoneypotStatsResponse"},"HoneypotTriggerListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/HoneypotTriggerOut"},"type":"array","title":"Items"},"meta":{"additionalProperties":{"type":"integer"},"type":"object","title":"Meta"}},"type":"object","required":["items","meta"],"title":"HoneypotTriggerListResponse"},"HoneypotTriggerOut":{"properties":{"id":{"type":"integer","title":"Id"},"trap_id":{"type":"integer","title":"Trap Id"},"org_id":{"type":"integer","title":"Org Id"},"attacker_platform_id":{"type":"string","title":"Attacker Platform Id"},"attacker_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attacker Username"},"attack_vector":{"type":"string","title":"Attack Vector"},"threat_type":{"type":"string","title":"Threat Type"},"auto_decision_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Auto Decision Id"},"triggered_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Triggered At"}},"type":"object","required":["id","trap_id","org_id","attacker_platform_id","attacker_username","attack_vector","threat_type","auto_decision_id","triggered_at"],"title":"HoneypotTriggerOut"},"HrLinkListResponse":{"properties":{"links":{"items":{"$ref":"#/components/schemas/HrLinkResponse"},"type":"array","title":"Links"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["links","total"],"title":"HrLinkListResponse"},"HrLinkRequest":{"properties":{"provider":{"type":"string","pattern":"^(bamboohr|workday|personio|gusto|rippling)$","title":"Provider"},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["provider"],"title":"HrLinkRequest"},"HrLinkResponse":{"properties":{"id":{"type":"integer","title":"Id"},"provider":{"type":"string","title":"Provider"},"config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Config"},"is_active":{"type":"boolean","title":"Is Active"},"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","provider","config","is_active","last_synced_at","created_at"],"title":"HrLinkResponse"},"IdentifierIngestItem":{"properties":{"kind":{"type":"string","enum":["actor_id","actor_username","actor_display_name","domain","wallet","phone","email","ip_hash","tls_fingerprint","html_hash","screenshot_ref","asn","object_ref","resource_id"],"title":"Kind"},"value":{"type":"string","maxLength":2048,"minLength":1,"title":"Value"},"legal_basis":{"type":"string","enum":["platform_webhook","bot_self_observation","honeypot_capture","inline_content_observation","external_feed","public_intel_feed","partner_api","user_submission"],"title":"Legal Basis"},"confidence":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Confidence"},"meta":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Meta"}},"type":"object","required":["kind","value","legal_basis"],"title":"IdentifierIngestItem"},"IdentityKeyResponse":{"properties":{"key_id":{"type":"string","title":"Key Id"},"org_id":{"type":"integer","title":"Org Id"},"subject_type":{"type":"string","title":"Subject Type"},"subject_id":{"type":"string","title":"Subject Id"},"profile":{"type":"string","title":"Profile"},"classic_alg":{"type":"string","title":"Classic Alg"},"pqc_alg":{"type":"string","title":"Pqc Alg"},"signature_alg":{"type":"string","title":"Signature Alg"},"public_material_hash":{"type":"string","title":"Public Material Hash"},"status":{"type":"string","title":"Status"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"key_metadata":{"type":"object","title":"Key Metadata"}},"type":"object","required":["key_id","org_id","subject_type","subject_id","profile","classic_alg","pqc_alg","signature_alg","public_material_hash","status"],"title":"IdentityKeyResponse"},"IdentityKeyRotateRequest":{"properties":{"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"}},"type":"object","required":["reason"],"title":"IdentityKeyRotateRequest"},"IdentityKeyStatusRequest":{"properties":{"status":{"type":"string","enum":["active","deprecated","revoked"],"title":"Status"},"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"}},"type":"object","required":["status","reason"],"title":"IdentityKeyStatusRequest"},"IdentitySignatureResponse":{"properties":{"signature_id":{"type":"string","title":"Signature Id"},"key_id":{"type":"string","title":"Key Id"},"org_id":{"type":"integer","title":"Org Id"},"tenant_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tenant Id"},"subject_type":{"type":"string","title":"Subject Type"},"subject_id":{"type":"string","title":"Subject Id"},"artifact_type":{"type":"string","title":"Artifact Type"},"artifact_ref":{"type":"string","title":"Artifact Ref"},"payload_hash":{"type":"string","title":"Payload Hash"},"canonicalization":{"type":"string","title":"Canonicalization"},"hash_alg":{"type":"string","title":"Hash Alg"},"signature_alg":{"type":"string","title":"Signature Alg"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["signature_id","key_id","org_id","subject_type","subject_id","artifact_type","artifact_ref","payload_hash","canonicalization","hash_alg","signature_alg"],"title":"IdentitySignatureResponse"},"IdentityVerifyRequest":{"properties":{"payload":{"title":"Payload"},"signature":{"type":"object","title":"Signature"}},"type":"object","required":["payload","signature"],"title":"IdentityVerifyRequest"},"IdentityVerifyResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"code":{"type":"string","title":"Code"},"payload_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payload Hash"},"expected_payload_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Payload Hash"},"key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Id"},"signature_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Id"},"profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile"},"verified_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verified At"}},"type":"object","required":["ok","code"],"title":"IdentityVerifyResponse"},"ImmediateAction":{"properties":{"priority":{"type":"integer","title":"Priority"},"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"action_url":{"type":"string","title":"Action Url"},"action_label":{"type":"string","title":"Action Label"}},"type":"object","required":["priority","type","title","description","action_url","action_label"],"title":"ImmediateAction"},"ImpersonationResolveRequest":{"properties":{"token":{"type":"string","maxLength":256,"minLength":16,"title":"Token"}},"type":"object","required":["token"],"title":"ImpersonationResolveRequest"},"ImpersonationResolveResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"org_id":{"type":"integer","title":"Org Id"},"user_id":{"type":"integer","title":"User Id"},"username":{"type":"string","title":"Username"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"expires_at":{"type":"string","title":"Expires At"},"operator_user_id":{"type":"integer","title":"Operator User Id"},"impersonation_active":{"type":"boolean","title":"Impersonation Active","default":true}},"type":"object","required":["access_token","org_id","user_id","username","expires_at","operator_user_id"],"title":"ImpersonationResolveResponse"},"ImpersonationStartRequest":{"properties":{"org_id":{"type":"integer","minimum":1.0,"title":"Org Id"},"user_id":{"type":"integer","minimum":1.0,"title":"User Id"},"ttl_minutes":{"type":"integer","maximum":30.0,"minimum":10.0,"title":"Ttl Minutes","default":15},"reason":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Reason"}},"type":"object","required":["org_id","user_id"],"title":"ImpersonationStartRequest"},"ImpersonationStartResponse":{"properties":{"impersonation_token":{"type":"string","title":"Impersonation Token"},"expires_at":{"type":"string","title":"Expires At"},"webapp_url":{"type":"string","title":"Webapp Url"}},"type":"object","required":["impersonation_token","expires_at","webapp_url"],"title":"ImpersonationStartResponse"},"IncidentCreate":{"properties":{"title":{"type":"string","maxLength":256,"minLength":3,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Description"},"severity":{"type":"string","pattern":"^(minor|major|critical)$","title":"Severity","default":"minor"},"affected_surfaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Affected Surfaces"}},"type":"object","required":["title"],"title":"IncidentCreate"},"IncidentDetailResponse":{"properties":{"incident":{"$ref":"#/components/schemas/IncidentItem"}},"type":"object","required":["incident"],"title":"IncidentDetailResponse"},"IncidentItem":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"platform":{"type":"string","title":"Platform"},"object_type":{"type":"string","title":"Object Type"},"object_ref":{"type":"string","title":"Object Ref"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"created_at":{"type":"string","title":"Created At"},"incident_status":{"type":"string","title":"Incident Status","default":"open"},"assignee_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assignee User Id"},"assignee_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee Username"},"resolution":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolution"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"last_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Note"}},"type":"object","required":["decision_id","platform","object_type","object_ref","verdict","confidence","reasons","created_at"],"title":"IncidentItem"},"IncidentNoteItem":{"properties":{"id":{"type":"integer","title":"Id"},"decision_id":{"type":"string","title":"Decision Id"},"note_type":{"type":"string","title":"Note Type"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"payload":{"type":"object","title":"Payload"},"author_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Author User Id"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","decision_id","note_type","created_at"],"title":"IncidentNoteItem"},"IncidentNoteRequest":{"properties":{"note":{"type":"string","maxLength":4000,"minLength":1,"title":"Note"}},"type":"object","required":["note"],"title":"IncidentNoteRequest"},"IncidentQueueResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IncidentItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["total","limit","offset"],"title":"IncidentQueueResponse"},"IncidentUpdate":{"properties":{"status":{"anyOf":[{"type":"string","pattern":"^(investigating|identified|monitoring|resolved)$"},{"type":"null"}],"title":"Status"},"description":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Description"}},"type":"object","title":"IncidentUpdate"},"IncidentUpdateRequest":{"properties":{"status":{"anyOf":[{"type":"string","enum":["open","investigating","escalated","resolved"]},{"type":"null"}],"title":"Status"},"assignee_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assignee User Id"},"resolution":{"anyOf":[{"type":"string","enum":["false_positive","confirmed","ignored","other"]},{"type":"null"}],"title":"Resolution"},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Note"}},"type":"object","title":"IncidentUpdateRequest"},"IncidentUpdateResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"incident":{"$ref":"#/components/schemas/IncidentItem"}},"type":"object","required":["ok","incident"],"title":"IncidentUpdateResponse"},"IndicatorsPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IntelIndicatorOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total","default":0},"limit":{"type":"integer","title":"Limit","default":50},"offset":{"type":"integer","title":"Offset","default":0}},"type":"object","title":"IndicatorsPage"},"IngestRequestBody":{"properties":{"actor_key":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Actor Key","description":"Canonical actor signature (platform:id:X or platform:user:Y). If omitted, derived from platform + actor_id/actor_username."},"platform":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Platform"},"actor_id":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Actor Id"},"actor_username":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Actor Username"},"actor_handle":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Actor Handle"},"identifiers":{"items":{"$ref":"#/components/schemas/IdentifierIngestItem"},"type":"array","maxItems":64,"minItems":1,"title":"Identifiers"},"source_decision_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Source Decision Id"},"source_honeypot_trigger_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Source Honeypot Trigger Id"},"source_event_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Source Event Id"}},"type":"object","required":["identifiers"],"title":"IngestRequestBody"},"InquiryRequest":{"properties":{"company_name":{"type":"string","maxLength":255,"title":"Company Name"},"contact_email":{"type":"string","format":"email","title":"Contact Email"},"monthly_volume":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Monthly Volume"},"requirements":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Requirements"}},"type":"object","required":["company_name","contact_email"],"title":"InquiryRequest"},"InstagramSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"InstagramSettingsUpdate"},"IntegrationConfigValidatorItem":{"properties":{"integration":{"type":"string","title":"Integration"},"status":{"type":"string","pattern":"^(ok|warning|error)$","title":"Status"},"reason_code":{"type":"string","title":"Reason Code"},"config_ok":{"type":"boolean","title":"Config Ok"},"missing":{"items":{"type":"string"},"type":"array","title":"Missing"},"expected_redirects":{"items":{"type":"string"},"type":"array","title":"Expected Redirects"},"hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hint"}},"type":"object","required":["integration","status","reason_code","config_ok"],"title":"IntegrationConfigValidatorItem"},"IntegrationConfigValidatorResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IntegrationConfigValidatorItem"},"type":"array","title":"Items"},"meta":{"$ref":"#/components/schemas/IntegrationsMeta"},"generated_at":{"type":"string","title":"Generated At"}},"type":"object","required":["meta","generated_at"],"title":"IntegrationConfigValidatorResponse"},"IntegrationHealthItem":{"properties":{"integration":{"type":"string","title":"Integration"},"status":{"type":"string","pattern":"^(healthy|linked|pending|error)$","title":"Status"},"reason_code":{"type":"string","title":"Reason Code"},"next_action":{"type":"string","title":"Next Action"},"connected_count":{"type":"integer","title":"Connected Count"},"last_ok_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Ok At"},"config_ok":{"type":"boolean","title":"Config Ok","default":true},"config_issues":{"items":{"type":"string"},"type":"array","title":"Config Issues"},"capability_required":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capability Required"},"hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hint"}},"type":"object","required":["integration","status","reason_code","next_action","connected_count"],"title":"IntegrationHealthItem"},"IntegrationsHealthResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IntegrationHealthItem"},"type":"array","title":"Items"},"meta":{"$ref":"#/components/schemas/IntegrationsMeta"},"connected_products":{"type":"integer","title":"Connected Products"},"blind_spots":{"type":"integer","title":"Blind Spots"},"generated_at":{"type":"string","title":"Generated At"}},"type":"object","required":["meta","connected_products","blind_spots","generated_at"],"title":"IntegrationsHealthResponse"},"IntegrationsMeta":{"properties":{"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["limit","offset","total"],"title":"IntegrationsMeta"},"IntegrationsStatusResponse":{"properties":{"telegram_groups":{"type":"integer","title":"Telegram Groups"},"discord_servers":{"type":"integer","title":"Discord Servers"},"slack_workspaces":{"type":"integer","title":"Slack Workspaces"},"x_accounts":{"type":"integer","title":"X Accounts"},"extension_keys":{"type":"integer","title":"Extension Keys"},"api_keys":{"type":"integer","title":"Api Keys"},"connected_products":{"type":"integer","title":"Connected Products"},"blind_spots":{"type":"integer","title":"Blind Spots"},"details":{"additionalProperties":{"type":"object"},"type":"object","title":"Details"}},"type":"object","required":["telegram_groups","discord_servers","slack_workspaces","x_accounts","extension_keys","api_keys","connected_products","blind_spots"],"title":"IntegrationsStatusResponse"},"IntelIndicatorOut":{"properties":{"id":{"type":"string","title":"Id"},"source":{"type":"string","title":"Source"},"entry_type":{"type":"string","title":"Entry Type"},"value":{"type":"string","title":"Value"},"severity":{"type":"string","title":"Severity"},"status":{"type":"string","title":"Status"},"scope":{"type":"string","title":"Scope"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","source","entry_type","value","severity","status","scope"],"title":"IntelIndicatorOut"},"InviteListItem":{"properties":{"id":{"type":"integer","title":"Id"},"label":{"type":"string","title":"Label"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","label","created_at","expires_at","revoked_at"],"title":"InviteListItem"},"InviteListResponse":{"properties":{"invites":{"items":{"$ref":"#/components/schemas/InviteListItem"},"type":"array","title":"Invites"}},"type":"object","required":["invites"],"title":"InviteListResponse"},"InviteRequest":{"properties":{"auditor_email":{"type":"string","format":"email","title":"Auditor Email"},"ttl_hours":{"anyOf":[{"type":"integer","maximum":720.0,"minimum":1.0},{"type":"null"}],"title":"Ttl Hours"}},"type":"object","required":["auditor_email"],"title":"InviteRequest"},"InviteResponse":{"properties":{"token":{"type":"string","title":"Token"},"portal_url":{"type":"string","title":"Portal Url"},"auditor_email":{"type":"string","title":"Auditor Email"},"issued_at":{"type":"string","format":"date-time","title":"Issued At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"scoped_paths":{"items":{"type":"string"},"type":"array","title":"Scoped Paths"}},"type":"object","required":["token","portal_url","auditor_email","issued_at","expires_at","scoped_paths"],"title":"InviteResponse"},"KeywordRequest":{"properties":{"keyword":{"type":"string","title":"Keyword"}},"type":"object","required":["keyword"],"title":"KeywordRequest"},"KillSwitchCreate":{"properties":{"scope":{"type":"string","title":"Scope"},"target":{"type":"string","title":"Target","default":""},"reason":{"type":"string","title":"Reason","default":""}},"type":"object","required":["scope"],"title":"KillSwitchCreate"},"KillSwitchItem":{"properties":{"id":{"type":"integer","title":"Id"},"scope":{"type":"string","title":"Scope"},"target":{"type":"string","title":"Target"},"enabled":{"type":"boolean","title":"Enabled"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["id","scope","target","enabled","reason"],"title":"KillSwitchItem"},"L2InviteOut":{"properties":{"referral_id":{"type":"integer","title":"Referral Id"},"ref_code":{"type":"string","title":"Ref Code"},"invite_url":{"type":"string","title":"Invite Url"},"clicks_30d":{"type":"integer","title":"Clicks 30D"},"l2_partners":{"type":"integer","title":"L2 Partners"},"l2_revshare_earned":{"type":"number","title":"L2 Revshare Earned"},"next_action":{"type":"string","title":"Next Action"}},"type":"object","required":["referral_id","ref_code","invite_url","clicks_30d","l2_partners","l2_revshare_earned","next_action"],"title":"L2InviteOut"},"L2PartnerOut":{"properties":{"username":{"type":"string","title":"Username"},"joined_at":{"type":"string","title":"Joined At"},"conversions":{"type":"integer","title":"Conversions"},"your_earnings":{"type":"number","title":"Your Earnings"}},"type":"object","required":["username","joined_at","conversions","your_earnings"],"title":"L2PartnerOut"},"LanguageUpdateRequest":{"properties":{"language":{"type":"string","pattern":"^(ru|en)$","title":"Language"}},"type":"object","required":["language"],"title":"LanguageUpdateRequest"},"LanguageUpdateResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"org_id":{"type":"integer","title":"Org Id"},"language":{"type":"string","title":"Language"}},"type":"object","required":["ok","org_id","language"],"title":"LanguageUpdateResponse"},"LeadOut":{"properties":{"id":{"type":"integer","title":"Id"},"referred_user_id":{"type":"integer","title":"Referred User Id"},"referred_org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referred Org Id"},"plan_id":{"type":"string","title":"Plan Id"},"commission_usd":{"type":"number","title":"Commission Usd"},"payout_status":{"type":"string","title":"Payout Status"},"conversion_at":{"type":"string","title":"Conversion At"},"hold_until":{"type":"string","title":"Hold Until"},"freeze_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Freeze Reason"}},"type":"object","required":["id","referred_user_id","plan_id","commission_usd","payout_status","conversion_at","hold_until"],"title":"LeadOut"},"LearningPathListResponse":{"properties":{"paths":{"items":{"$ref":"#/components/schemas/LearningPathResponse"},"type":"array","title":"Paths"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["paths","total"],"title":"LearningPathListResponse"},"LearningPathResponse":{"properties":{"id":{"type":"integer","title":"Id"},"employee_key":{"type":"string","title":"Employee Key"},"employee_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Label"},"department":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Department"},"risk_tier":{"type":"string","title":"Risk Tier"},"stage":{"type":"integer","title":"Stage"},"failed_count":{"type":"integer","title":"Failed Count"},"succeeded_count":{"type":"integer","title":"Succeeded Count"},"pending_lesson":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pending Lesson"},"next_test_due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Test Due At"},"last_failed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Failed At"},"last_succeeded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Succeeded At"},"history":{"items":{"type":"object"},"type":"array","title":"History","default":[]}},"type":"object","required":["id","employee_key","employee_label","department","risk_tier","stage","failed_count","succeeded_count","pending_lesson","next_test_due_at","last_failed_at","last_succeeded_at"],"title":"LearningPathResponse"},"LearningResultRequest":{"properties":{"employee_key":{"type":"string","maxLength":256,"minLength":1,"title":"Employee Key"},"employee_label":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Employee Label"},"department":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Department"},"outcome":{"type":"string","pattern":"^(failure|success)$","title":"Outcome"},"campaign_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Campaign Id"},"template_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Template Id"}},"type":"object","required":["employee_key","outcome"],"title":"LearningResultRequest"},"LineSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"LineSettingsUpdate"},"LinkGroupRequest":{"properties":{"chat_id":{"type":"string","title":"Chat Id","description":"Telegram chat_id (group/supergroup)"},"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"}},"type":"object","required":["chat_id"],"title":"LinkGroupRequest"},"LinkRequestBody":{"properties":{"target_dossier_id":{"type":"integer","minimum":1.0,"title":"Target Dossier Id"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence","default":0.7},"reason":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Reason"}},"type":"object","required":["target_dossier_id"],"title":"LinkRequestBody"},"LinkXRequest":{"properties":{"x_username":{"type":"string","title":"X Username","default":""}},"type":"object","title":"LinkXRequest"},"LinkedGroupOut":{"properties":{"id":{"type":"integer","title":"Id"},"chat_id":{"type":"string","title":"Chat Id"},"org_id":{"type":"integer","title":"Org Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"is_active":{"type":"boolean","title":"Is Active","default":true},"chat_mode":{"type":"string","title":"Chat Mode"},"bot_can_delete_messages":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bot Can Delete Messages"},"bot_can_restrict_members":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bot Can Restrict Members"},"last_event_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Event At"},"last_activity_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Activity At"},"last_permission_check_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Permission Check At"},"linked_at":{"type":"string","title":"Linked At"},"has_custom_bot":{"type":"boolean","title":"Has Custom Bot","default":false},"chat_id_needs_normalize":{"type":"boolean","title":"Chat Id Needs Normalize","default":false}},"type":"object","required":["id","chat_id","org_id","title","chat_mode","linked_at"],"title":"LinkedGroupOut"},"LinkedServerResponse":{"properties":{"id":{"type":"integer","title":"Id"},"guild_id":{"type":"string","title":"Guild Id"},"org_id":{"type":"integer","title":"Org Id"},"guild_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guild Name"},"policy_profile":{"type":"string","title":"Policy Profile"},"is_active":{"type":"boolean","title":"Is Active","default":true},"bot_installed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Bot Installed At"},"last_activity_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Activity At"},"linked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Linked At"}},"type":"object","required":["id","guild_id","org_id","policy_profile"],"title":"LinkedServerResponse"},"MLModelItem":{"properties":{"id":{"type":"integer","title":"Id"},"model_name":{"type":"string","title":"Model Name"},"version":{"type":"string","title":"Version"},"status":{"type":"string","title":"Status"},"trained_samples":{"type":"integer","title":"Trained Samples"},"accuracy":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Accuracy"},"precision":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precision"},"recall":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Recall"},"model_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Path"},"trained_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trained At"},"engine_type":{"type":"string","title":"Engine Type","default":"native"}},"type":"object","required":["id","model_name","version","status","trained_samples"],"title":"MLModelItem"},"MLModelsListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MLModelItem"},"type":"array","title":"Items"}},"type":"object","title":"MLModelsListResponse"},"MLQualityResponse":{"properties":{"model_available":{"type":"boolean","title":"Model Available"},"active_model_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Model Version"},"rules_only_fallback":{"type":"boolean","title":"Rules Only Fallback"},"trained_samples":{"type":"integer","title":"Trained Samples","default":0},"decisions_samples_30d":{"type":"integer","title":"Decisions Samples 30D","default":0},"feedback_samples_30d":{"type":"integer","title":"Feedback Samples 30D","default":0},"pending_feedback":{"type":"integer","title":"Pending Feedback","default":0},"accuracy":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Accuracy"},"precision":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precision"},"recall":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Recall"},"f1":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"F1"},"drift_score":{"type":"number","title":"Drift Score"},"drift_state":{"type":"string","title":"Drift State"},"freshness_state":{"type":"string","title":"Freshness State"},"last_decision_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Decision At"},"last_feedback_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Feedback At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["model_available","rules_only_fallback","drift_score","drift_state","freshness_state","updated_at"],"title":"MLQualityResponse"},"MLRetrainJobResponse":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"type":"string","title":"Status"},"stage":{"type":"string","title":"Stage"},"progress_pct":{"type":"integer","title":"Progress Pct"},"feedback_samples":{"type":"integer","title":"Feedback Samples"},"report":{"type":"object","title":"Report"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","status","stage","progress_pct","feedback_samples"],"title":"MLRetrainJobResponse"},"MLRetrainTriggerResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"job":{"$ref":"#/components/schemas/MLRetrainJobResponse"},"model":{"anyOf":[{"$ref":"#/components/schemas/MLModelItem"},{"type":"null"}]}},"type":"object","required":["ok","job"],"title":"MLRetrainTriggerResponse"},"ManualTriggerRequest":{"properties":{"reason":{"type":"string","maxLength":256,"title":"Reason","default":"manual"}},"type":"object","title":"ManualTriggerRequest"},"ManualTriggerResponse":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","status","created_at"],"title":"ManualTriggerResponse"},"MaxSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"MaxSettingsUpdate"},"McpHandshakeRequest":{"properties":{"endpoint_url":{"type":"string","maxLength":512,"minLength":1,"title":"Endpoint Url"},"server_info":{"type":"object","title":"Server Info"}},"type":"object","required":["endpoint_url"],"title":"McpHandshakeRequest"},"McpHandshakeResponse":{"properties":{"allowed":{"type":"boolean","title":"Allowed"},"findings":{"items":{"type":"object"},"type":"array","title":"Findings"},"server_name":{"type":"string","title":"Server Name"},"server_version":{"type":"string","title":"Server Version"}},"type":"object","required":["allowed","findings","server_name","server_version"],"title":"McpHandshakeResponse"},"McpIntegrationClientState":{"properties":{"client_id":{"type":"string","title":"Client Id"},"client_name":{"type":"string","title":"Client Name"},"status":{"type":"string","title":"Status"},"scope":{"type":"string","title":"Scope"},"redirect_hosts":{"items":{"type":"string"},"type":"array","title":"Redirect Hosts"},"last_authorized_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Authorized At"},"last_token_issued_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Token Issued At"},"last_client_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Client Seen At"},"last_tool_call_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Tool Call At"},"last_error_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["client_id","client_name","status","scope"],"title":"McpIntegrationClientState"},"McpIntegrationEventState":{"properties":{"id":{"type":"integer","title":"Id"},"event_type":{"type":"string","title":"Event Type"},"actor":{"type":"string","title":"Actor"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"details":{"type":"object","title":"Details"}},"type":"object","required":["id","event_type","actor"],"title":"McpIntegrationEventState"},"McpIntegrationRevokeResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"client_id":{"type":"string","title":"Client Id"},"status":{"type":"string","title":"Status"}},"type":"object","required":["ok","client_id","status"],"title":"McpIntegrationRevokeResponse"},"McpIntegrationStateResponse":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"org_name":{"type":"string","title":"Org Name"},"plan_id":{"type":"string","title":"Plan Id"},"quota_bucket":{"type":"string","title":"Quota Bucket"},"ai_connector_daily_limit":{"type":"integer","title":"Ai Connector Daily Limit"},"ai_connector_daily_remaining":{"type":"integer","title":"Ai Connector Daily Remaining"},"api_credits_balance":{"type":"integer","title":"Api Credits Balance"},"upgrade_url":{"type":"string","title":"Upgrade Url"},"billing_scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Scope"},"clients":{"items":{"$ref":"#/components/schemas/McpIntegrationClientState"},"type":"array","title":"Clients"},"recent_events":{"items":{"$ref":"#/components/schemas/McpIntegrationEventState"},"type":"array","title":"Recent Events"},"last_tool_call_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Tool Call At"},"last_error_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error At"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"}},"type":"object","required":["org_id","org_name","plan_id","quota_bucket","ai_connector_daily_limit","ai_connector_daily_remaining","api_credits_balance","upgrade_url"],"title":"McpIntegrationStateResponse"},"McpJsonRpcRequest":{"properties":{"jsonrpc":{"type":"string","title":"Jsonrpc","default":"2.0"},"id":{"title":"Id"},"method":{"type":"string","title":"Method"},"params":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Params"}},"type":"object","required":["method"],"title":"McpJsonRpcRequest"},"McpOAuthClientRegistration":{"properties":{"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"},"redirect_uris":{"items":{"type":"string"},"type":"array","title":"Redirect Uris"},"grant_types":{"items":{"type":"string"},"type":"array","title":"Grant Types"},"response_types":{"items":{"type":"string"},"type":"array","title":"Response Types"},"scope":{"type":"string","title":"Scope","default":"mcp:tools"},"token_endpoint_auth_method":{"type":"string","title":"Token Endpoint Auth Method","default":"none"}},"type":"object","title":"McpOAuthClientRegistration"},"McpToolListRequest":{"properties":{"tools":{"items":{"type":"object"},"type":"array","title":"Tools"}},"type":"object","title":"McpToolListRequest"},"MeResponse":{"properties":{"user_id":{"type":"integer","title":"User Id"},"org_id":{"type":"integer","title":"Org Id"},"username":{"type":"string","title":"Username"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"telegram_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Id"},"discord_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discord Id"},"reddit_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reddit Id"},"twitter_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Twitter Id"},"slack_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slack Id"},"discord_account_linked":{"type":"boolean","title":"Discord Account Linked","default":false},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"auth_method":{"type":"string","title":"Auth Method"},"plan_id":{"type":"string","title":"Plan Id","default":"FREE"},"is_org_admin":{"type":"boolean","title":"Is Org Admin","default":false},"is_creator":{"type":"boolean","title":"Is Creator","default":false},"checks_today":{"type":"integer","title":"Checks Today","default":0},"daily_limit":{"type":"integer","title":"Daily Limit","default":20},"allow_api":{"type":"boolean","title":"Allow Api","default":false},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"entitlements":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Entitlements"},"extension_quota_limit":{"type":"integer","title":"Extension Quota Limit","default":20},"extension_quota_used":{"type":"integer","title":"Extension Quota Used","default":0},"extension_quota_remaining":{"type":"integer","title":"Extension Quota Remaining","default":20},"bot_slots_limit":{"type":"integer","title":"Bot Slots Limit","default":0},"bot_slots_used":{"type":"integer","title":"Bot Slots Used","default":0},"period_ends_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Ends At"},"quota_period_ends_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quota Period Ends At"},"subscription_status":{"type":"string","title":"Subscription Status","default":"none"},"subscription_source":{"type":"string","title":"Subscription Source","default":"none"},"subscription_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Period End"},"subscription_is_demo":{"type":"boolean","title":"Subscription Is Demo","default":false},"subscription_is_paid":{"type":"boolean","title":"Subscription Is Paid","default":false},"subscription_degraded":{"type":"boolean","title":"Subscription Degraded","default":false},"subscription_degraded_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Degraded Reason"},"can_extend_subscription":{"type":"boolean","title":"Can Extend Subscription","default":false},"extension_block_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extension Block Reason"},"demo_granted":{"type":"boolean","title":"Demo Granted","default":false},"org_language":{"type":"string","title":"Org Language","default":"ru"},"plan_updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Updated At"},"api_quota_limit":{"type":"integer","title":"Api Quota Limit","default":300},"api_quota_used":{"type":"integer","title":"Api Quota Used","default":0},"api_quota_remaining":{"type":"integer","title":"Api Quota Remaining","default":300},"subscription_addons":{"items":{"type":"object"},"type":"array","title":"Subscription Addons"}},"type":"object","required":["user_id","org_id","username","auth_method"],"title":"MeResponse"},"MediaCheckResponse":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"reason_codes":{"items":{"type":"string"},"type":"array","title":"Reason Codes"},"threats":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},"type":"array","title":"Threats"},"is_synthetic":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Synthetic"},"billing_warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Warning"},"verdict_display":{"type":"string","title":"Verdict Display","default":""},"visual_hint":{"type":"string","title":"Visual Hint","default":""},"risk_score":{"type":"number","title":"Risk Score","default":0.0},"risk_band":{"type":"string","title":"Risk Band","default":"low"},"signals":{"items":{"type":"object"},"type":"array","title":"Signals"},"degraded":{"type":"boolean","title":"Degraded","default":false},"disclaimer":{"type":"string","title":"Disclaimer","default":""},"engine":{"type":"string","title":"Engine","default":"local"},"evidence_signature":{"type":"string","title":"Evidence Signature","default":""},"evidence_key_id":{"type":"string","title":"Evidence Key Id","default":""},"deepfake_scans_used":{"type":"integer","title":"Deepfake Scans Used","default":0},"deepfake_scans_limit":{"type":"integer","title":"Deepfake Scans Limit","default":0},"mitre_ttp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mitre Ttp"},"threat_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threat Category"},"audit_event_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audit Event Id"},"limitations":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Limitations"}},"type":"object","required":["decision_id","verdict","confidence","reasons"],"title":"MediaCheckResponse"},"MemberItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"display_name":{"type":"string","title":"Display Name"},"tier":{"type":"string","title":"Tier"},"is_active":{"type":"boolean","title":"Is Active"},"joined_at":{"type":"string","format":"date-time","title":"Joined At"},"last_pulled_anchor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Last Pulled Anchor Id"}},"type":"object","required":["id","org_id","display_name","tier","is_active","joined_at","last_pulled_anchor_id"],"title":"MemberItem"},"MemberJoinRequest":{"properties":{"display_name":{"type":"string","maxLength":256,"minLength":1,"title":"Display Name"},"tier":{"type":"string","pattern":"^(COMMUNITY|ENTERPRISE)$","title":"Tier","default":"COMMUNITY"}},"type":"object","required":["display_name"],"title":"MemberJoinRequest"},"MemberListResponse":{"properties":{"members":{"items":{"$ref":"#/components/schemas/MemberItem"},"type":"array","title":"Members"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["members","total"],"title":"MemberListResponse"},"MemoryHistoryMessage":{"properties":{"role":{"type":"string","maxLength":32,"minLength":1,"title":"Role"},"content":{"type":"string","maxLength":16384,"title":"Content"}},"type":"object","required":["role","content"],"title":"MemoryHistoryMessage"},"MemoryPoisonRequest":{"properties":{"history":{"items":{"$ref":"#/components/schemas/MemoryHistoryMessage"},"type":"array","title":"History"},"threshold":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Threshold","default":0.4}},"type":"object","required":["history"],"title":"MemoryPoisonRequest"},"MetaSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"MetaSettingsUpdate"},"MfaChallengeVerifyRequest":{"properties":{"challenge_id":{"type":"string","maxLength":64,"minLength":8,"title":"Challenge Id"},"code":{"type":"string","maxLength":12,"minLength":6,"title":"Code"}},"type":"object","required":["challenge_id","code"],"title":"MfaChallengeVerifyRequest"},"MfaDisableRequest":{"properties":{"code":{"type":"string","maxLength":12,"minLength":6,"title":"Code","description":"Current TOTP or recovery code"}},"type":"object","required":["code"],"title":"MfaDisableRequest"},"MfaRecoveryRegenerateResponse":{"properties":{"recovery_codes":{"items":{"type":"string"},"type":"array","title":"Recovery Codes"}},"type":"object","required":["recovery_codes"],"title":"MfaRecoveryRegenerateResponse"},"MfaSetupResponse":{"properties":{"secret":{"type":"string","title":"Secret"},"provisioning_uri":{"type":"string","title":"Provisioning Uri"},"qr_png_b64":{"type":"string","title":"Qr Png B64"},"issuer":{"type":"string","title":"Issuer","default":"SecuriLayer"}},"type":"object","required":["secret","provisioning_uri","qr_png_b64"],"title":"MfaSetupResponse"},"MfaStatusResponse":{"properties":{"is_enrolled":{"type":"boolean","title":"Is Enrolled"},"enrolled_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Enrolled At"},"recovery_codes_remaining":{"type":"integer","title":"Recovery Codes Remaining","default":0}},"type":"object","required":["is_enrolled"],"title":"MfaStatusResponse"},"MfaVerifyRequest":{"properties":{"code":{"type":"string","maxLength":12,"minLength":6,"title":"Code"}},"type":"object","required":["code"],"title":"MfaVerifyRequest"},"MfaVerifyResponse":{"properties":{"status":{"type":"string","title":"Status"},"recovery_codes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Recovery Codes"}},"type":"object","required":["status"],"title":"MfaVerifyResponse"},"MfaWebauthnOptionsRequest":{"properties":{"mfa_challenge_id":{"type":"string","maxLength":64,"minLength":8,"title":"Mfa Challenge Id"}},"type":"object","required":["mfa_challenge_id"],"title":"MfaWebauthnOptionsRequest"},"MfaWebauthnVerifyRequest":{"properties":{"mfa_challenge_id":{"type":"string","maxLength":64,"minLength":8,"title":"Mfa Challenge Id"},"webauthn_challenge_id":{"type":"string","maxLength":64,"minLength":8,"title":"Webauthn Challenge Id"},"assertion":{"type":"object","title":"Assertion"}},"type":"object","required":["mfa_challenge_id","webauthn_challenge_id","assertion"],"title":"MfaWebauthnVerifyRequest"},"ModelFeedbackRequest":{"properties":{"decision_id":{"type":"string","maxLength":64,"minLength":1,"title":"Decision Id"},"human_label":{"type":"string","pattern":"^(safe|suspicious|danger)$","title":"Human Label"},"comment":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Comment"}},"type":"object","required":["decision_id","human_label"],"title":"ModelFeedbackRequest"},"ModelFeedbackResponse":{"properties":{"id":{"type":"integer","title":"Id"},"decision_id":{"type":"string","title":"Decision Id"},"feedback_type":{"type":"string","title":"Feedback Type"},"human_label":{"type":"string","title":"Human Label"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","decision_id","feedback_type","human_label","status"],"title":"ModelFeedbackResponse"},"NotificationSettingsResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"org_id":{"type":"integer","title":"Org Id"},"quota_80":{"type":"boolean","title":"Quota 80"},"subscription_expiring":{"type":"boolean","title":"Subscription Expiring"},"danger_detected":{"type":"boolean","title":"Danger Detected"}},"type":"object","required":["ok","org_id","quota_80","subscription_expiring","danger_detected"],"title":"NotificationSettingsResponse"},"NotificationSettingsUpdateRequest":{"properties":{"quota_80":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Quota 80"},"subscription_expiring":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Subscription Expiring"},"danger_detected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Danger Detected"}},"type":"object","title":"NotificationSettingsUpdateRequest"},"OperatorAdversarialCorpusItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Org Id"},"source":{"type":"string","title":"Source"},"source_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Ref"},"llm_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Llm Provider"},"attack_kind":{"type":"string","title":"Attack Kind"},"severity":{"type":"string","title":"Severity"},"consumed_for_retrain":{"type":"boolean","title":"Consumed For Retrain"},"fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fingerprint"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","org_id","source","source_ref","llm_provider","attack_kind","severity","consumed_for_retrain","fingerprint","created_at"],"title":"OperatorAdversarialCorpusItem"},"OperatorAgentIdentityItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"agent_key":{"type":"string","title":"Agent Key"},"agent_name":{"type":"string","title":"Agent Name"},"fingerprint":{"type":"string","title":"Fingerprint"},"status":{"type":"string","title":"Status"},"observation_count":{"type":"integer","title":"Observation Count"},"last_drift_score":{"type":"number","title":"Last Drift Score"},"last_clone_score":{"type":"number","title":"Last Clone Score"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","org_id","agent_key","agent_name","fingerprint","status","observation_count","last_drift_score","last_clone_score","created_at"],"title":"OperatorAgentIdentityItem"},"OperatorAgentShieldCorpusResponse":{"properties":{"total":{"type":"integer","title":"Total"},"by_attack_kind":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Attack Kind"},"by_source":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Source"},"by_severity":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Severity"},"unconsumed":{"type":"integer","title":"Unconsumed"},"items":{"items":{"$ref":"#/components/schemas/OperatorAdversarialCorpusItem"},"type":"array","title":"Items"}},"type":"object","required":["total","by_attack_kind","by_source","by_severity","unconsumed","items"],"title":"OperatorAgentShieldCorpusResponse"},"OperatorAggregateSnapshotItem":{"properties":{"window_kind":{"type":"string","title":"Window Kind"},"window_start":{"type":"string","title":"Window Start"},"window_end":{"type":"string","title":"Window End"},"wallets_blocked":{"type":"integer","title":"Wallets Blocked"},"urls_blocked":{"type":"integer","title":"Urls Blocked"},"decisions_total":{"type":"integer","title":"Decisions Total"},"actors_unique":{"type":"integer","title":"Actors Unique"},"canary_trips":{"type":"integer","title":"Canary Trips"},"honeypot_triggers":{"type":"integer","title":"Honeypot Triggers"},"top_patterns":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Top Patterns"},"computed_at":{"type":"string","title":"Computed At"}},"type":"object","required":["window_kind","window_start","window_end","wallets_blocked","urls_blocked","decisions_total","actors_unique","canary_trips","honeypot_triggers","top_patterns","computed_at"],"title":"OperatorAggregateSnapshotItem"},"OperatorConsortiumMemberItem":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"display_name":{"type":"string","title":"Display Name"},"tier":{"type":"string","title":"Tier"},"is_active":{"type":"boolean","title":"Is Active"},"joined_at":{"type":"string","title":"Joined At"},"share_tier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Share Tier"},"dpa_accepted":{"type":"boolean","title":"Dpa Accepted"}},"type":"object","required":["org_id","display_name","tier","is_active","joined_at","share_tier","dpa_accepted"],"title":"OperatorConsortiumMemberItem"},"OperatorDeepfakeScanItem":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"org_id":{"type":"integer","title":"Org Id"},"object_ref":{"type":"string","title":"Object Ref"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"risk_band":{"type":"string","title":"Risk Band"},"top_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Reason"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["decision_id","org_id","object_ref","verdict","confidence","risk_band","top_reason","created_at"],"title":"OperatorDeepfakeScanItem"},"OperatorDeepfakeScansResponse":{"properties":{"total":{"type":"integer","title":"Total"},"synthetic_suspected":{"type":"integer","title":"Synthetic Suspected"},"by_verdict":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Verdict"},"items":{"items":{"$ref":"#/components/schemas/OperatorDeepfakeScanItem"},"type":"array","title":"Items"}},"type":"object","required":["total","synthetic_suspected","by_verdict","items"],"title":"OperatorDeepfakeScansResponse"},"OperatorHoneypotTriggerItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"trap_id":{"type":"integer","title":"Trap Id"},"attacker_platform_id":{"type":"string","title":"Attacker Platform Id"},"attacker_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attacker Username"},"attack_vector":{"type":"string","title":"Attack Vector"},"threat_type":{"type":"string","title":"Threat Type"},"ip_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Hash"},"auto_decision_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Auto Decision Id"},"triggered_at":{"type":"string","title":"Triggered At"}},"type":"object","required":["id","org_id","trap_id","attacker_platform_id","attacker_username","attack_vector","threat_type","ip_hash","auto_decision_id","triggered_at"],"title":"OperatorHoneypotTriggerItem"},"OperatorHoneypotsResponse":{"properties":{"total":{"type":"integer","title":"Total"},"by_threat_type":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Threat Type"},"by_attack_vector":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Attack Vector"},"distinct_attackers":{"type":"integer","title":"Distinct Attackers"},"items":{"items":{"$ref":"#/components/schemas/OperatorHoneypotTriggerItem"},"type":"array","title":"Items"}},"type":"object","required":["total","by_threat_type","by_attack_vector","distinct_attackers","items"],"title":"OperatorHoneypotsResponse"},"OperatorLoginRequest":{"properties":{"login":{"type":"string","title":"Login"},"totp_code":{"type":"string","title":"Totp Code"}},"type":"object","required":["login","totp_code"],"title":"OperatorLoginRequest"},"OperatorQuotaResetRequest":{"properties":{"grant_credits":{"type":"integer","minimum":0.0,"title":"Grant Credits","default":0},"reset_daily":{"type":"boolean","title":"Reset Daily","default":false}},"type":"object","title":"OperatorQuotaResetRequest"},"OperatorReputationSnapshotsResponse":{"properties":{"latest_by_window":{"additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/OperatorAggregateSnapshotItem"},{"type":"null"}]},"type":"object","title":"Latest By Window"},"history_total":{"type":"integer","title":"History Total"},"history":{"items":{"$ref":"#/components/schemas/OperatorAggregateSnapshotItem"},"type":"array","title":"History"}},"type":"object","required":["latest_by_window","history_total","history"],"title":"OperatorReputationSnapshotsResponse"},"OperatorSimulationCampaignItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"name":{"type":"string","title":"Name"},"platform":{"type":"string","title":"Platform"},"status":{"type":"string","title":"Status"},"target_count":{"type":"integer","title":"Target Count"},"sent_count":{"type":"integer","title":"Sent Count"},"clicked_count":{"type":"integer","title":"Clicked Count"},"reported_count":{"type":"integer","title":"Reported Count"},"click_rate":{"type":"number","title":"Click Rate"},"report_rate":{"type":"number","title":"Report Rate"},"scheduled_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scheduled At"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","org_id","name","platform","status","target_count","sent_count","clicked_count","reported_count","click_rate","report_rate","scheduled_at","started_at","completed_at","created_at"],"title":"OperatorSimulationCampaignItem"},"OperatorSimulationCampaignsResponse":{"properties":{"total":{"type":"integer","title":"Total"},"by_status":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Status"},"by_platform":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Platform"},"sum_targets":{"type":"integer","title":"Sum Targets"},"sum_sent":{"type":"integer","title":"Sum Sent"},"sum_clicked":{"type":"integer","title":"Sum Clicked"},"sum_reported":{"type":"integer","title":"Sum Reported"},"items":{"items":{"$ref":"#/components/schemas/OperatorSimulationCampaignItem"},"type":"array","title":"Items"}},"type":"object","required":["total","by_status","by_platform","sum_targets","sum_sent","sum_clicked","sum_reported","items"],"title":"OperatorSimulationCampaignsResponse"},"OperatorTenantItem":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"name":{"type":"string","title":"Name"},"plan_id":{"type":"string","title":"Plan Id"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"users_count":{"type":"integer","title":"Users Count"},"api_keys_active":{"type":"integer","title":"Api Keys Active"},"telegram_groups":{"type":"integer","title":"Telegram Groups"},"discord_servers":{"type":"integer","title":"Discord Servers"},"slack_workspaces":{"type":"integer","title":"Slack Workspaces"},"whatsapp_accounts":{"type":"integer","title":"Whatsapp Accounts"},"max_accounts":{"type":"integer","title":"Max Accounts"},"entitlements":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Entitlements"}},"type":"object","required":["org_id","name","plan_id","capabilities","users_count","api_keys_active","telegram_groups","discord_servers","slack_workspaces","whatsapp_accounts","max_accounts"],"title":"OperatorTenantItem"},"OperatorThreatIntelConsortiumResponse":{"properties":{"total_members":{"type":"integer","title":"Total Members"},"active_members":{"type":"integer","title":"Active Members"},"by_membership_tier":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Membership Tier"},"by_share_tier":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Share Tier"},"dpa_accepted":{"type":"integer","title":"Dpa Accepted"},"members":{"items":{"$ref":"#/components/schemas/OperatorConsortiumMemberItem"},"type":"array","title":"Members"}},"type":"object","required":["total_members","active_members","by_membership_tier","by_share_tier","dpa_accepted","members"],"title":"OperatorThreatIntelConsortiumResponse"},"OperatorUserItem":{"properties":{"user_id":{"type":"integer","title":"User Id"},"org_id":{"type":"integer","title":"Org Id"},"username":{"type":"string","title":"Username"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["user_id","org_id","username","role","is_active","created_at"],"title":"OperatorUserItem"},"OrgEntitlementsResponse":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"entitlements":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Entitlements"},"api_enterprise":{"type":"boolean","title":"Api Enterprise"}},"type":"object","required":["org_id","api_enterprise"],"title":"OrgEntitlementsResponse"},"OverrideCreateRequest":{"properties":{"tier":{"type":"string","maxLength":32,"minLength":1,"title":"Tier"},"scope_key":{"type":"string","maxLength":256,"title":"Scope Key","default":""},"action":{"type":"string","maxLength":32,"title":"Action","default":"block"},"severity_threshold":{"type":"string","maxLength":16,"title":"Severity Threshold","default":"high"},"response_mode":{"type":"string","maxLength":64,"title":"Response Mode","default":"approval_gated_autonomous"},"reason":{"type":"string","maxLength":512,"title":"Reason","default":""},"expires_in_minutes":{"anyOf":[{"type":"integer","maximum":525600.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Minutes"}},"type":"object","required":["tier"],"title":"OverrideCreateRequest"},"PasswordResetConfirmRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"code":{"type":"string","pattern":"^\\d{6}$","title":"Code"},"password":{"type":"string","maxLength":128,"minLength":12,"title":"Password"},"confirm_password":{"type":"string","maxLength":128,"minLength":12,"title":"Confirm Password"}},"type":"object","required":["email","code","password","confirm_password"],"title":"PasswordResetConfirmRequest"},"PaymentHistoryItem":{"properties":{"id":{"type":"integer","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"method":{"type":"string","title":"Method"},"status":{"type":"string","title":"Status"},"invoice":{"type":"string","title":"Invoice"},"invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Url"},"plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Id"},"period_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Period Days"}},"type":"object","required":["id","created_at","amount","currency","method","status","invoice"],"title":"PaymentHistoryItem"},"PayoutActionRequest":{"properties":{"action":{"type":"string","title":"Action"},"note":{"type":"string","title":"Note","default":""}},"type":"object","required":["action"],"title":"PayoutActionRequest"},"PayoutOut":{"properties":{"id":{"type":"integer","title":"Id"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","title":"Created At"},"paid_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Paid At"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["id","amount","currency","status","created_at"],"title":"PayoutOut"},"PendingTaxonomyReviewRequest":{"properties":{"review_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Notes"}},"type":"object","title":"PendingTaxonomyReviewRequest"},"PendingTaxonomyVariantItem":{"properties":{"id":{"type":"integer","title":"Id"},"variant_id":{"type":"string","title":"Variant Id"},"variant_name":{"type":"string","title":"Variant Name"},"main_category":{"type":"string","title":"Main Category"},"severity":{"type":"string","title":"Severity"},"state":{"type":"string","title":"State"},"proposed_by":{"type":"string","title":"Proposed By"},"proposal_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proposal Basis"},"payload":{"type":"object","title":"Payload"},"review_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Notes"},"reviewed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By"},"reviewed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed At"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","variant_id","variant_name","main_category","severity","state","proposed_by","proposal_basis","payload","review_notes","reviewed_by","reviewed_at","created_at"],"title":"PendingTaxonomyVariantItem"},"PhoneCheckRequest":{"properties":{"phone":{"type":"string","maxLength":32,"minLength":10,"title":"Phone"}},"type":"object","required":["phone"],"title":"PhoneCheckRequest"},"PhoneCheckResponse":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"reason_codes":{"items":{"type":"string"},"type":"array","title":"Reason Codes"},"threats":{"items":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object"},"type":"array","title":"Threats"},"normalized_phone":{"type":"string","title":"Normalized Phone"},"billing_warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Warning"},"verdict_display":{"type":"string","title":"Verdict Display","default":""},"visual_hint":{"type":"string","title":"Visual Hint","default":""},"mitre_ttp":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mitre Ttp"},"threat_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threat Category"},"audit_event_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audit Event Id"},"degraded":{"type":"boolean","title":"Degraded","default":false},"limitations":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Limitations"}},"type":"object","required":["decision_id","verdict","confidence","reasons","normalized_phone"],"title":"PhoneCheckResponse"},"PilotIssueRequest":{"properties":{"plan_id":{"type":"string","maxLength":32,"title":"Plan Id","default":"TEAMS"},"days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Days","default":14},"seats":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Seats","default":25},"enable_siem":{"type":"boolean","title":"Enable Siem","default":false},"enable_webhooks":{"type":"boolean","title":"Enable Webhooks","default":false},"enable_heavy":{"type":"boolean","title":"Enable Heavy","default":false},"issue_api_key":{"type":"boolean","title":"Issue Api Key","default":false},"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"}},"type":"object","required":["reason"],"title":"PilotIssueRequest"},"PilotIssueResponse":{"properties":{"status":{"type":"string","title":"Status"},"org_id":{"type":"integer","title":"Org Id"},"plan_id":{"type":"string","title":"Plan Id"},"subscription_status":{"type":"string","title":"Subscription Status"},"expires_at":{"type":"string","title":"Expires At"},"seats":{"type":"integer","title":"Seats"},"toggles":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Toggles"},"onboarding_url":{"type":"string","title":"Onboarding Url"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"entitlements":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Entitlements"},"capability_overrides":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Capability Overrides"}},"type":"object","required":["status","org_id","plan_id","subscription_status","expires_at","seats","onboarding_url"],"title":"PilotIssueResponse"},"PlanPrice":{"properties":{"plan_id":{"type":"string","title":"Plan Id"},"name":{"type":"string","title":"Name"},"usd_per_month":{"type":"number","title":"Usd Per Month"},"rub_per_month":{"type":"integer","title":"Rub Per Month"},"usd_per_year":{"type":"number","title":"Usd Per Year"},"rub_per_year":{"type":"integer","title":"Rub Per Year"},"daily_checks_limit":{"type":"integer","title":"Daily Checks Limit"},"bot_slots":{"type":"integer","title":"Bot Slots"},"extension_enabled":{"type":"boolean","title":"Extension Enabled"},"extension_monthly_quota":{"type":"integer","title":"Extension Monthly Quota"},"capability_summary":{"items":{"type":"object"},"type":"array","title":"Capability Summary"},"recommended":{"type":"boolean","title":"Recommended","default":false}},"type":"object","required":["plan_id","name","usd_per_month","rub_per_month","usd_per_year","rub_per_year","daily_checks_limit","bot_slots","extension_enabled","extension_monthly_quota","capability_summary"],"title":"PlanPrice"},"PlansResponse":{"properties":{"plans":{"items":{"$ref":"#/components/schemas/PlanPrice"},"type":"array","title":"Plans"},"addons":{"items":{"$ref":"#/components/schemas/AddonPrice"},"type":"array","title":"Addons"},"currency_note":{"type":"string","title":"Currency Note"},"annual_discount_pct":{"type":"number","title":"Annual Discount Pct"}},"type":"object","required":["plans","addons","currency_note","annual_discount_pct"],"title":"PlansResponse"},"PlatformCapabilityItem":{"properties":{"platform":{"type":"string","title":"Platform"},"display_name":{"type":"string","title":"Display Name"},"credential_fields":{"items":{"type":"string"},"type":"array","title":"Credential Fields"},"runtime_actions":{"items":{"type":"string"},"type":"array","title":"Runtime Actions"},"moderation_actions":{"items":{"type":"string"},"type":"array","title":"Moderation Actions"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"security_signals":{"items":{"type":"string"},"type":"array","title":"Security Signals"},"response_controls":{"type":"object","title":"Response Controls"},"native_depth":{"type":"object","title":"Native Depth"}},"type":"object","required":["platform","display_name","credential_fields","runtime_actions","moderation_actions","events","security_signals","response_controls","native_depth"],"title":"PlatformCapabilityItem"},"PlatformListResponse":{"properties":{"platforms":{"items":{"$ref":"#/components/schemas/PlatformCapabilityItem"},"type":"array","title":"Platforms"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["platforms","total"],"title":"PlatformListResponse"},"PlatformStats":{"properties":{"total_orgs":{"type":"integer","title":"Total Orgs"},"total_users":{"type":"integer","title":"Total Users"},"active_users":{"type":"integer","title":"Active Users"},"total_subscriptions":{"type":"integer","title":"Total Subscriptions"},"active_subscriptions":{"type":"integer","title":"Active Subscriptions"},"by_plan":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Plan"}},"type":"object","required":["total_orgs","total_users","active_users","total_subscriptions","active_subscriptions","by_plan"],"title":"PlatformStats"},"PolicyCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":2,"title":"Name"},"description":{"type":"string","maxLength":1024,"title":"Description","default":""},"policy_type":{"type":"string","maxLength":64,"title":"Policy Type","default":"custom"},"enabled":{"type":"boolean","title":"Enabled","default":true},"severity_threshold":{"type":"string","maxLength":16,"title":"Severity Threshold","default":"medium"},"auto_action":{"type":"string","maxLength":32,"title":"Auto Action","default":"notify"}},"type":"object","required":["name"],"title":"PolicyCreateRequest"},"PolicyExportBundle":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"policy":{"type":"object","title":"Policy"},"agents":{"items":{"type":"object"},"type":"array","title":"Agents"},"generated_at":{"type":"string","title":"Generated At"},"integrity_sha256":{"type":"string","title":"Integrity Sha256"}},"type":"object","required":["org_id","policy","agents","generated_at","integrity_sha256"],"title":"PolicyExportBundle"},"PolicyPresetItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"templates":{"items":{"type":"string"},"type":"array","title":"Templates"}},"type":"object","required":["id","name","description"],"title":"PolicyPresetItem"},"PolicyPresetsResponse":{"properties":{"can_customize":{"type":"boolean","title":"Can Customize"},"customize_plan_hint":{"type":"string","title":"Customize Plan Hint","default":"TEAMS"},"active_preset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Preset Id"},"items":{"items":{"$ref":"#/components/schemas/PolicyPresetItem"},"type":"array","title":"Items"}},"type":"object","required":["can_customize"],"title":"PolicyPresetsResponse"},"PolicyResponse":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","title":"Type"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"enabled":{"type":"boolean","title":"Enabled"},"severity_threshold":{"type":"string","title":"Severity Threshold"},"auto_action":{"type":"string","title":"Auto Action"},"trigger_count":{"type":"integer","title":"Trigger Count"},"triggers_30d":{"type":"integer","title":"Triggers 30D"},"is_template":{"type":"boolean","title":"Is Template"}},"type":"object","required":["id","type","name","description","enabled","severity_threshold","auto_action","trigger_count","triggers_30d","is_template"],"title":"PolicyResponse"},"PolicyTemplateItem":{"properties":{"name":{"type":"string","title":"Name"},"label":{"type":"string","title":"Label"},"policy":{"type":"object","title":"Policy"}},"type":"object","required":["name","label","policy"],"title":"PolicyTemplateItem"},"PolicyUpdateRequest":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":2},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Description"},"severity_threshold":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Severity Threshold"},"auto_action":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Auto Action"}},"type":"object","title":"PolicyUpdateRequest"},"PreSignRequest":{"properties":{"chain":{"type":"string","maxLength":32,"title":"Chain","description":"Chain identifier: eth, ton, solana, tron, btc, or supported EVM L2"},"domain":{"anyOf":[{"type":"string","maxLength":256},{"type":"null"}],"title":"Domain","description":"Domain or URL of the dApp requesting the signature"},"spender":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Spender","description":"Target spender, contract, operator, or recipient"},"transaction_type":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Transaction Type","description":"Transaction class: approve, transfer, permit, signTypedData"},"raw_data":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}],"title":"Raw Data","description":"Hex transaction calldata for pre-sign risk extraction"}},"type":"object","required":["chain"],"title":"PreSignRequest"},"PreSignResponse":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"trace_id":{"type":"string","title":"Trace Id"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"chain":{"type":"string","title":"Chain"},"normalized_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalized Domain"},"normalized_spender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalized Spender"},"method_selector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Method Selector"},"spender_risk_level":{"type":"string","title":"Spender Risk Level"},"domain_risk_level":{"type":"string","title":"Domain Risk Level"},"transaction_risk_level":{"type":"string","title":"Transaction Risk Level"},"drainer_detected":{"type":"boolean","title":"Drainer Detected"},"evidence_signature":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Evidence Signature"},"signed_evidence":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Signed Evidence"},"billing":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}]},"type":"object","title":"Billing"},"latency_ms":{"type":"number","title":"Latency Ms"}},"type":"object","required":["decision_id","trace_id","verdict","confidence","reasons","chain","spender_risk_level","domain_risk_level","transaction_risk_level","drainer_detected","latency_ms"],"title":"PreSignResponse"},"PricingPlanItem":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"price_cents":{"type":"integer","title":"Price Cents"},"currency":{"type":"string","title":"Currency"},"limits":{"type":"object","title":"Limits"},"features":{"items":{"type":"string"},"type":"array","title":"Features"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["id","name","price_cents","currency","limits","features","is_active"],"title":"PricingPlanItem"},"PricingPlanUpdate":{"properties":{"price_cents":{"type":"integer","title":"Price Cents"},"limits":{"type":"object","title":"Limits"},"features":{"items":{"type":"string"},"type":"array","title":"Features"}},"type":"object","required":["price_cents","limits","features"],"title":"PricingPlanUpdate"},"PromoteResponse":{"properties":{"promoted_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promoted Version"},"note":{"type":"string","title":"Note"}},"type":"object","required":["promoted_version","note"],"title":"PromoteResponse"},"PublicEmailRegistrationRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","maxLength":128,"minLength":12,"title":"Password"},"confirm_password":{"type":"string","maxLength":128,"minLength":12,"title":"Confirm Password"}},"type":"object","required":["email","password","confirm_password"],"title":"PublicEmailRegistrationRequest"},"PublicStatsResponse":{"properties":{"total_orgs":{"type":"integer","title":"Total Orgs"},"threats_blocked":{"type":"integer","title":"Threats Blocked"},"checks_total":{"type":"integer","title":"Checks Total"},"uptime_pct":{"type":"number","title":"Uptime Pct"},"scamshield_entries":{"type":"integer","title":"Scamshield Entries"},"threat_indicators":{"type":"integer","title":"Threat Indicators"},"ml_model_status":{"type":"object","title":"Ml Model Status"},"repository_stats":{"type":"object","title":"Repository Stats"}},"type":"object","required":["total_orgs","threats_blocked","checks_total","uptime_pct","scamshield_entries","threat_indicators","ml_model_status","repository_stats"],"title":"PublicStatsResponse"},"PublishKeyResponse":{"properties":{"version":{"type":"integer","title":"Version"},"fingerprint":{"type":"string","title":"Fingerprint"},"algorithm":{"type":"string","title":"Algorithm"},"active_from":{"type":"string","format":"date-time","title":"Active From"}},"type":"object","required":["version","fingerprint","algorithm","active_from"],"title":"PublishKeyResponse"},"QualityScoreboardResponse":{"properties":{"days":{"type":"integer","title":"Days"},"false_positives":{"type":"integer","title":"False Positives"},"false_negatives":{"type":"integer","title":"False Negatives"},"correct":{"type":"integer","title":"Correct"},"appeal_rate":{"type":"number","title":"Appeal Rate"},"overturn_rate":{"type":"number","title":"Overturn Rate"},"fp_proxy_rate":{"type":"number","title":"Fp Proxy Rate"},"fn_proxy_rate":{"type":"number","title":"Fn Proxy Rate"},"series":{"items":{"$ref":"#/components/schemas/QualitySeriesPoint"},"type":"array","title":"Series"}},"type":"object","required":["days","false_positives","false_negatives","correct","appeal_rate","overturn_rate","fp_proxy_rate","fn_proxy_rate"],"title":"QualityScoreboardResponse"},"QualitySeriesPoint":{"properties":{"day":{"type":"string","title":"Day"},"false_positives":{"type":"integer","title":"False Positives"},"false_negatives":{"type":"integer","title":"False Negatives"},"correct":{"type":"integer","title":"Correct"},"appeals":{"type":"integer","title":"Appeals"},"overturned":{"type":"integer","title":"Overturned"}},"type":"object","required":["day","false_positives","false_negatives","correct","appeals","overturned"],"title":"QualitySeriesPoint"},"ReconcilePaymentRequest":{"properties":{"org_id":{"type":"integer","minimum":1.0,"title":"Org Id"},"plan_id":{"type":"string","maxLength":32,"title":"Plan Id"}},"type":"object","required":["org_id","plan_id"],"title":"ReconcilePaymentRequest"},"ReconcilePaymentResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"reconciled":{"type":"boolean","title":"Reconciled"},"subscription_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Subscription Id"}},"type":"object","required":["ok","reconciled"],"title":"ReconcilePaymentResponse"},"RedditSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"RedditSettingsUpdate"},"ReferralLinkOut":{"properties":{"id":{"type":"integer","title":"Id"},"ref_code":{"type":"string","title":"Ref Code"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"sub1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub1"},"sub2":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub2"},"sub3":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub3"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","ref_code","is_active","created_at"],"title":"ReferralLinkOut"},"RefreshRequest":{"properties":{"refresh_token":{"type":"string","maxLength":4096,"minLength":32,"title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshRequest"},"RejectApprovalRequestRequest":{"properties":{"reason":{"type":"string","maxLength":512,"title":"Reason"}},"type":"object","required":["reason"],"title":"RejectApprovalRequestRequest","description":"Тело запроса на отклонение заявки."},"ReputationEntryCreate":{"properties":{"value":{"type":"string","title":"Value"}},"type":"object","required":["value"],"title":"ReputationEntryCreate"},"RequestPayoutInput":{"properties":{"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Amount"},"wallet":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wallet"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"network":{"anyOf":[{"type":"string","pattern":"^(tron|erc20|btc)$"},{"type":"null"}],"title":"Network"}},"type":"object","title":"RequestPayoutInput"},"RequestPayoutResponse":{"properties":{"payout_id":{"type":"integer","title":"Payout Id"},"amount":{"type":"number","title":"Amount"},"referrals_count":{"type":"integer","title":"Referrals Count"},"status":{"type":"string","title":"Status"}},"type":"object","required":["payout_id","amount","referrals_count","status"],"title":"RequestPayoutResponse"},"ResidencyUpdateRequest":{"properties":{"region":{"type":"string","title":"Region"}},"type":"object","required":["region"],"title":"ResidencyUpdateRequest"},"ResolveIncidentRequest":{"properties":{"resolution":{"type":"string","enum":["false_positive","confirmed","ignored","other"],"title":"Resolution"},"note":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Note"}},"type":"object","required":["resolution"],"title":"ResolveIncidentRequest"},"ResolveIncidentResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"decision_id":{"type":"string","title":"Decision Id"},"resolution":{"type":"string","title":"Resolution"},"resolved_at":{"type":"string","title":"Resolved At"}},"type":"object","required":["ok","decision_id","resolution","resolved_at"],"title":"ResolveIncidentResponse"},"ResolveRequest":{"properties":{"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"threat_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threat Category"}},"type":"object","title":"ResolveRequest"},"ResponseActionItem":{"properties":{"action_id":{"type":"string","title":"Action Id"},"action_type":{"type":"string","title":"Action Type"},"target_ref":{"type":"string","title":"Target Ref"},"status":{"type":"string","title":"Status"},"requires_approval":{"type":"boolean","title":"Requires Approval"},"approval_request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approval Request Id"},"evidence":{"type":"object","title":"Evidence"}},"type":"object","required":["action_id","action_type","target_ref","status","requires_approval"],"title":"ResponseActionItem"},"ResponseEvaluateRequest":{"properties":{"decision_id":{"type":"string","title":"Decision Id"}},"type":"object","required":["decision_id"],"title":"ResponseEvaluateRequest"},"ResponsePlanItem":{"properties":{"plan_id":{"type":"string","title":"Plan Id"},"decision_id":{"type":"string","title":"Decision Id"},"risk_level":{"type":"string","title":"Risk Level"},"response_mode":{"type":"string","title":"Response Mode"},"status":{"type":"string","title":"Status"},"correlation_score":{"type":"number","title":"Correlation Score"},"correlation":{"type":"object","title":"Correlation"},"summary":{"type":"string","title":"Summary"},"actions":{"items":{"$ref":"#/components/schemas/ResponseActionItem"},"type":"array","title":"Actions"}},"type":"object","required":["plan_id","decision_id","risk_level","response_mode","status","correlation_score","summary"],"title":"ResponsePlanItem"},"RevenueStats":{"properties":{"total_invoices":{"type":"integer","title":"Total Invoices"},"total_revenue":{"type":"number","title":"Total Revenue"},"paid_invoices":{"type":"integer","title":"Paid Invoices"},"by_provider":{"additionalProperties":{"type":"number"},"type":"object","title":"By Provider"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["total_invoices","total_revenue","paid_invoices","by_provider","currency"],"title":"RevenueStats"},"RollbackResponse":{"properties":{"rolled_in_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rolled In Version"},"demoted_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Demoted Version"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"RollbackResponse"},"RotateWebhookResponse":{"properties":{"secret":{"type":"string","title":"Secret"}},"type":"object","required":["secret"],"title":"RotateWebhookResponse","description":"Ответ rotate: новый secret."},"RulePackPublishRequest":{"properties":{"content":{"type":"object","title":"Content"},"high_impact":{"type":"boolean","title":"High Impact","default":false}},"type":"object","required":["content"],"title":"RulePackPublishRequest"},"SandboxSimulateResponse":{"properties":{"simulated":{"type":"boolean","title":"Simulated","default":true},"source":{"type":"string","title":"Source","default":"deterministic_sandbox_v1"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"input_url":{"type":"string","title":"Input Url"},"normalized_host":{"type":"string","title":"Normalized Host"},"verdict":{"type":"string","pattern":"^(SAFE|SUSPICIOUS|DANGER)$","title":"Verdict"},"score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Score"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"}},"type":"object","required":["input_url","normalized_host","verdict","score","reasons"],"title":"SandboxSimulateResponse"},"SdrAuthLoginRequest":{"properties":{"init_data":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Init Data"},"initData":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Initdata"}},"type":"object","title":"SdrAuthLoginRequest"},"SdrAuthMeResponse":{"properties":{"user_id":{"type":"integer","title":"User Id"},"org_id":{"type":"integer","title":"Org Id"},"role":{"type":"string","title":"Role"},"username":{"type":"string","title":"Username"},"telegram_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Id"},"sdr_postback_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sdr Postback Url"}},"type":"object","required":["user_id","org_id","role","username"],"title":"SdrAuthMeResponse"},"SdrEconomics":{"properties":{"total_sdrs":{"type":"integer","title":"Total Sdrs"},"total_referral_links":{"type":"integer","title":"Total Referral Links"},"total_conversions":{"type":"integer","title":"Total Conversions"},"total_commissions":{"type":"number","title":"Total Commissions"},"total_paid_out":{"type":"number","title":"Total Paid Out"},"total_hold":{"type":"number","title":"Total Hold"},"total_approved_unpaid":{"type":"number","title":"Total Approved Unpaid"},"total_revshare_eligible":{"type":"number","title":"Total Revshare Eligible"},"payout_queue":{"items":{"$ref":"#/components/schemas/SdrPayoutItem"},"type":"array","title":"Payout Queue"}},"type":"object","required":["total_sdrs","total_referral_links","total_conversions","total_commissions","total_paid_out","total_hold","total_approved_unpaid","total_revshare_eligible","payout_queue"],"title":"SdrEconomics"},"SdrPayoutItem":{"properties":{"user_id":{"type":"integer","title":"User Id"},"username":{"type":"string","title":"Username"},"wallet_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wallet Address"},"wallet_network":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wallet Network"},"wallet_confirmed":{"type":"boolean","title":"Wallet Confirmed"},"total_commission":{"type":"number","title":"Total Commission"},"on_hold":{"type":"number","title":"On Hold"},"approved":{"type":"number","title":"Approved"},"paid":{"type":"number","title":"Paid"},"revshare_5pct":{"type":"number","title":"Revshare 5Pct"}},"type":"object","required":["user_id","username","wallet_address","wallet_network","wallet_confirmed","total_commission","on_hold","approved","paid","revshare_5pct"],"title":"SdrPayoutItem"},"SdrTierBenefits":{"properties":{"commission_rate":{"type":"number","title":"Commission Rate"},"next_commission_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Next Commission Rate"},"l2_revshare":{"type":"number","title":"L2 Revshare"},"next_l2_revshare":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Next L2 Revshare"}},"type":"object","required":["commission_rate","l2_revshare"],"title":"SdrTierBenefits"},"SdrTierOut":{"properties":{"current":{"type":"string","title":"Current"},"next":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next"},"progress":{"type":"number","title":"Progress"},"requirements":{"additionalProperties":{"$ref":"#/components/schemas/SdrTierRequirement"},"type":"object","title":"Requirements"},"benefits":{"$ref":"#/components/schemas/SdrTierBenefits"}},"type":"object","required":["current","progress","requirements","benefits"],"title":"SdrTierOut"},"SdrTierRequirement":{"properties":{"required":{"type":"number","title":"Required"},"current":{"type":"number","title":"Current"},"met":{"type":"boolean","title":"Met"}},"type":"object","required":["required","current","met"],"title":"SdrTierRequirement"},"SecuriScoreResponse":{"properties":{"score":{"type":"integer","title":"Score"},"grade":{"type":"string","title":"Grade"},"components":{"type":"object","title":"Components"},"trend":{"type":"string","title":"Trend"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["score","grade","components","trend","updated_at"],"title":"SecuriScoreResponse"},"SeoParams":{"properties":{"robots_txt":{"type":"string","title":"Robots Txt"},"sitemap_xml":{"type":"string","title":"Sitemap Xml"}},"type":"object","required":["robots_txt","sitemap_xml"],"title":"SeoParams"},"ServerRegistration":{"properties":{"guild_id":{"type":"string","title":"Guild Id","description":"Discord server (guild) ID"},"org_id":{"type":"integer","minimum":1.0,"title":"Org Id","description":"SecuriLayer org to bind this server to"},"policy_profile":{"type":"string","pattern":"^(soft|standard|strict|custom)$","title":"Policy Profile","default":"standard"}},"type":"object","required":["guild_id","org_id"],"title":"ServerRegistration"},"ServerRegistrationResponse":{"properties":{"guild_id":{"type":"string","title":"Guild Id"},"org_id":{"type":"integer","title":"Org Id"},"policy_profile":{"type":"string","title":"Policy Profile"},"status":{"type":"string","title":"Status"}},"type":"object","required":["guild_id","org_id","policy_profile","status"],"title":"ServerRegistrationResponse"},"SetPostbackUrlRequest":{"properties":{"url":{"type":"string","maxLength":512,"title":"Url"}},"type":"object","required":["url"],"title":"SetPostbackUrlRequest"},"SetWalletRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":10,"title":"Address"},"network":{"type":"string","pattern":"^(tron|erc20|btc)$","title":"Network"},"fallback_networks":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":3},{"type":"null"}],"title":"Fallback Networks"},"min_threshold_usd":{"anyOf":[{"type":"number","maximum":100000.0,"minimum":50.0},{"type":"null"}],"title":"Min Threshold Usd"},"schedule":{"anyOf":[{"type":"string","pattern":"^(manual|weekly|monthly)$"},{"type":"null"}],"title":"Schedule"},"contact_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Contact Email"}},"type":"object","required":["address","network"],"title":"SetWalletRequest"},"SettingsResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"language":{"type":"string","title":"Language"},"notifications":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Notifications"}},"type":"object","required":["ok","language","notifications"],"title":"SettingsResponse"},"SharePreviewRequest":{"properties":{"indicator_kind":{"type":"string","maxLength":64,"minLength":1,"title":"Indicator Kind"},"indicator_value":{"type":"string","maxLength":512,"minLength":1,"title":"Indicator Value"}},"type":"object","required":["indicator_kind","indicator_value"],"title":"SharePreviewRequest"},"SharePreviewResponse":{"properties":{"tier":{"type":"string","title":"Tier"},"export":{"type":"object","title":"Export"}},"type":"object","required":["tier","export"],"title":"SharePreviewResponse"},"SiemExportHistoryItem":{"properties":{"request_id":{"type":"string","title":"Request Id"},"created_at":{"type":"string","title":"Created At"},"format":{"type":"string","title":"Format"},"limit":{"type":"integer","title":"Limit"},"from_ts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Ts"},"to_ts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Ts"},"count":{"type":"integer","title":"Count"},"status":{"type":"string","title":"Status","default":"ok"},"retried_from_request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Retried From Request Id"}},"type":"object","required":["request_id","created_at","format","limit","count"],"title":"SiemExportHistoryItem"},"SiemExportHistoryResponse":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"count":{"type":"integer","title":"Count"},"items":{"items":{"$ref":"#/components/schemas/SiemExportHistoryItem"},"type":"array","title":"Items"}},"type":"object","required":["org_id","count"],"title":"SiemExportHistoryResponse"},"SiemExportRetryResponse":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"request_id":{"type":"string","title":"Request Id"},"retried_from_request_id":{"type":"string","title":"Retried From Request Id"},"format":{"type":"string","title":"Format"},"limit":{"type":"integer","title":"Limit"},"from_ts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Ts"},"to_ts":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Ts"},"count":{"type":"integer","title":"Count"},"download_url":{"type":"string","title":"Download Url"},"events_preview":{"items":{"type":"object"},"type":"array","title":"Events Preview"},"identity_signature":{"type":"object","title":"Identity Signature"}},"type":"object","required":["org_id","request_id","retried_from_request_id","format","limit","count","download_url"],"title":"SiemExportRetryResponse"},"SiemPreviewRequest":{"properties":{"format":{"type":"string","title":"Format","description":"json|cef|syslog","default":"json"},"sample_event":{"type":"object","title":"Sample Event"}},"type":"object","title":"SiemPreviewRequest"},"SiemPreviewResponse":{"properties":{"format":{"type":"string","title":"Format"},"preview":{"type":"string","title":"Preview"},"sample_event":{"type":"object","title":"Sample Event"}},"type":"object","required":["format","preview","sample_event"],"title":"SiemPreviewResponse"},"SiemTestConnectionRequest":{"properties":{"target_url":{"type":"string","maxLength":1024,"minLength":8,"title":"Target Url"},"format":{"type":"string","title":"Format","description":"json|cef|syslog","default":"json"},"sample_event":{"type":"object","title":"Sample Event"},"timeout_ms":{"type":"integer","maximum":15000.0,"minimum":500.0,"title":"Timeout Ms","default":4000}},"type":"object","required":["target_url"],"title":"SiemTestConnectionRequest"},"SiemTestConnectionResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"status_code":{"type":"integer","title":"Status Code"},"latency_ms":{"type":"integer","title":"Latency Ms"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"request_id":{"type":"string","title":"Request Id"},"format":{"type":"string","title":"Format"}},"type":"object","required":["ok","status_code","latency_ms","request_id","format"],"title":"SiemTestConnectionResponse"},"SiemVerifyRequest":{"properties":{"bundle":{"type":"object","title":"Bundle"},"identity_signature":{"type":"object","title":"Identity Signature"}},"type":"object","title":"SiemVerifyRequest"},"SiemVerifyResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"code":{"type":"string","title":"Code"},"payload_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payload Hash"},"expected_payload_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Payload Hash"},"key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Id"},"signature_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Id"},"profile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"}},"type":"object","required":["ok","code"],"title":"SiemVerifyResponse"},"SignatureVerifyRequest":{"properties":{"digest_hex":{"type":"string","maxLength":64,"minLength":64,"title":"Digest Hex"},"signature_b64":{"type":"string","maxLength":20000,"minLength":4,"title":"Signature B64"},"key_fingerprint":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Key Fingerprint"}},"type":"object","required":["digest_hex","signature_b64"],"title":"SignatureVerifyRequest"},"SignatureVerifyResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"matched_key_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Matched Key Version"},"matched_algorithm":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Matched Algorithm"},"note":{"type":"string","title":"Note"}},"type":"object","required":["valid","matched_key_version","matched_algorithm","note"],"title":"SignatureVerifyResponse"},"SimulateChatScanOut":{"properties":{"chat_id":{"type":"string","title":"Chat Id"},"simulated":{"type":"boolean","title":"Simulated","default":true},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"normalized_url":{"type":"string","title":"Normalized Url"},"mode":{"type":"string","title":"Mode"},"checked_at":{"type":"string","title":"Checked At"}},"type":"object","required":["chat_id","verdict","confidence","reasons","normalized_url","mode","checked_at"],"title":"SimulateChatScanOut"},"SimulateChatScanRequest":{"properties":{"sample_url":{"type":"string","maxLength":2048,"title":"Sample Url","default":"https://securilayer.dev/login"}},"type":"object","title":"SimulateChatScanRequest"},"SimulationCampaignCreate":{"properties":{"name":{"type":"string","maxLength":256,"minLength":3,"title":"Name"},"template_id":{"type":"integer","minimum":1.0,"title":"Template Id"},"platform":{"type":"string","maxLength":32,"minLength":3,"title":"Platform"},"linked_resource_id":{"type":"integer","minimum":1.0,"title":"Linked Resource Id"},"target_count":{"type":"integer","maximum":100000.0,"minimum":0.0,"title":"Target Count","default":0},"scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scheduled At"},"targets":{"items":{"type":"string"},"type":"array","maxItems":100000,"title":"Targets"},"consent_confirmed":{"type":"boolean","title":"Consent Confirmed","default":false}},"type":"object","required":["name","template_id","platform","linked_resource_id"],"title":"SimulationCampaignCreate"},"SimulationLaunchBody":{"properties":{"targets":{"items":{"type":"string"},"type":"array","title":"Targets"},"consent_confirmed":{"type":"boolean","title":"Consent Confirmed","default":false}},"type":"object","title":"SimulationLaunchBody"},"SimulationTemplateCreate":{"properties":{"name":{"type":"string","maxLength":128,"minLength":3,"title":"Name"},"attack_type":{"type":"string","maxLength":64,"minLength":3,"title":"Attack Type"},"platform":{"type":"string","maxLength":32,"minLength":3,"title":"Platform"},"message_template":{"type":"string","maxLength":2048,"minLength":12,"title":"Message Template"},"difficulty":{"type":"string","maxLength":16,"minLength":4,"title":"Difficulty"},"mitre_ttp":{"type":"string","maxLength":32,"minLength":3,"title":"Mitre Ttp","default":"T1566"}},"type":"object","required":["name","attack_type","platform","message_template","difficulty"],"title":"SimulationTemplateCreate"},"SlackBotSettingsRequest":{"properties":{"welcome_enabled":{"type":"boolean","title":"Welcome Enabled","default":true},"welcome_message":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Welcome Message"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger","default":true},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious","default":true},"notify_admin":{"type":"boolean","title":"Notify Admin","default":true},"admin_channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Channel Id","description":"Channel for admin notifications"},"channel_whitelist":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Whitelist","description":"Comma-separated channel IDs to ignore"},"alert_threshold":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Alert Threshold","default":0.5}},"type":"object","title":"SlackBotSettingsRequest"},"SlackBotSettingsResponse":{"properties":{"team_id":{"type":"string","title":"Team Id"},"org_id":{"type":"integer","title":"Org Id"},"welcome_enabled":{"type":"boolean","title":"Welcome Enabled"},"welcome_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Welcome Message"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger"},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious"},"notify_admin":{"type":"boolean","title":"Notify Admin"},"admin_channel_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Channel Id"},"channel_whitelist":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Whitelist"},"alert_threshold":{"type":"number","title":"Alert Threshold"}},"type":"object","required":["team_id","org_id","welcome_enabled","welcome_message","auto_delete_danger","warn_on_suspicious","notify_admin","admin_channel_id","channel_whitelist","alert_threshold"],"title":"SlackBotSettingsResponse"},"SlackCustomBotRequest":{"properties":{"bot_token":{"type":"string","maxLength":256,"minLength":20,"title":"Bot Token"},"team_id":{"type":"string","maxLength":64,"minLength":5,"title":"Team Id"}},"type":"object","required":["bot_token","team_id"],"title":"SlackCustomBotRequest"},"SlackWorkspaceSettingsRequest":{"properties":{"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger","default":true},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious","default":true},"notify_admin":{"type":"boolean","title":"Notify Admin","description":"Notify channel when threat is detected","default":true}},"type":"object","title":"SlackWorkspaceSettingsRequest"},"SlackWorkspaceSettingsResponse":{"properties":{"team_id":{"type":"string","title":"Team Id"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger"},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious"},"notify_admin":{"type":"boolean","title":"Notify Admin"}},"type":"object","required":["team_id","auto_delete_danger","warn_on_suspicious","notify_admin"],"title":"SlackWorkspaceSettingsResponse"},"SnapCheckRequest":{"properties":{"method":{"type":"string","maxLength":64,"title":"Method"},"params":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Params"},"snap_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Snap Id"},"origin":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Origin"}},"type":"object","required":["method"],"title":"SnapCheckRequest","description":"MetaMask Snap RPC bridge payload."},"SubscriptionTransitionRequest":{"properties":{"action":{"type":"string","pattern":"^(activate|expire|downgrade|override)$","title":"Action"},"plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Id"},"period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Period End"},"status_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Override"}},"type":"object","required":["action"],"title":"SubscriptionTransitionRequest"},"SubscriptionTransitionResponse":{"properties":{"status":{"type":"string","title":"Status"},"org_id":{"type":"integer","title":"Org Id"},"new_plan_id":{"type":"string","title":"New Plan Id"},"new_status":{"type":"string","title":"New Status"},"period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Period End"}},"type":"object","required":["status","org_id","new_plan_id","new_status"],"title":"SubscriptionTransitionResponse"},"SuppressionCreateRequest":{"properties":{"scope":{"type":"string","enum":["actor","url_hash","domain","platform","object_ref"],"title":"Scope"},"pattern":{"type":"string","maxLength":512,"minLength":1,"title":"Pattern"},"reason":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Reason"},"ttl_minutes":{"anyOf":[{"type":"integer","maximum":43200.0,"minimum":1.0},{"type":"null"}],"title":"Ttl Minutes"}},"type":"object","required":["scope","pattern"],"title":"SuppressionCreateRequest"},"SuppressionItem":{"properties":{"id":{"type":"integer","title":"Id"},"scope":{"type":"string","title":"Scope"},"pattern":{"type":"string","title":"Pattern"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"is_active":{"type":"boolean","title":"Is Active"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At"},"created_by_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Created By User Id"},"revoked_by_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Revoked By User Id"},"revoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revoked At"},"hit_count":{"type":"integer","title":"Hit Count"},"last_hit_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Hit At"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","scope","pattern","is_active","hit_count","created_at"],"title":"SuppressionItem"},"TaxonomyProposeRequest":{"properties":{"version_label":{"type":"string","maxLength":64,"minLength":1,"title":"Version Label"},"source":{"type":"string","enum":["manual","feed","llm"],"title":"Source","default":"manual"},"change_summary":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Change Summary"},"parent_version_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Version Id"},"payload":{"type":"object","title":"Payload"}},"type":"object","required":["version_label","payload"],"title":"TaxonomyProposeRequest"},"TelegramBotSettingsRequest":{"properties":{"welcome_enabled":{"type":"boolean","title":"Welcome Enabled","description":"Enable welcome messages for new members","default":true},"welcome_message":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Welcome Message","description":"Custom welcome message (use {name} for member name)"},"captcha_enabled":{"type":"boolean","title":"Captcha Enabled","description":"Enable anti-raid captcha verification","default":false},"captcha_type":{"type":"string","title":"Captcha Type","description":"Type of captcha: button, math, image","default":"button"},"captcha_timeout_minutes":{"type":"integer","maximum":60.0,"minimum":1.0,"title":"Captcha Timeout Minutes","description":"Captcha timeout in minutes before kick","default":10},"allow_user_mentions":{"type":"boolean","title":"Allow User Mentions","description":"Allow non-members to mention bot for checks","default":false},"user_daily_quota":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"User Daily Quota","description":"User /check quota per day","default":10},"mute_duration_minutes":{"type":"integer","maximum":43200.0,"minimum":1.0,"title":"Mute Duration Minutes","description":"Default mute duration","default":60},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger","description":"Auto-delete dangerous content","default":true},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious","description":"Warn on suspicious content","default":true},"notify_admin":{"type":"boolean","title":"Notify Admin","description":"Notify admins on threats","default":true},"link_preview_enabled":{"type":"boolean","title":"Link Preview Enabled","description":"Enable link previews for bot messages","default":true},"admin_chat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Chat Id","description":"Dedicated chat ID for admin alerts"}},"type":"object","title":"TelegramBotSettingsRequest"},"TelegramBotSettingsResponse":{"properties":{"chat_id":{"type":"string","title":"Chat Id"},"org_id":{"type":"integer","title":"Org Id"},"welcome_enabled":{"type":"boolean","title":"Welcome Enabled"},"welcome_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Welcome Message"},"captcha_enabled":{"type":"boolean","title":"Captcha Enabled"},"captcha_type":{"type":"string","title":"Captcha Type"},"captcha_timeout_minutes":{"type":"integer","title":"Captcha Timeout Minutes"},"allow_user_mentions":{"type":"boolean","title":"Allow User Mentions"},"user_daily_quota":{"type":"integer","title":"User Daily Quota"},"mute_duration_minutes":{"type":"integer","title":"Mute Duration Minutes"},"auto_delete_danger":{"type":"boolean","title":"Auto Delete Danger"},"warn_on_suspicious":{"type":"boolean","title":"Warn On Suspicious"},"notify_admin":{"type":"boolean","title":"Notify Admin"},"link_preview_enabled":{"type":"boolean","title":"Link Preview Enabled"},"admin_chat_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Chat Id"}},"type":"object","required":["chat_id","org_id","welcome_enabled","welcome_message","captcha_enabled","captcha_type","captcha_timeout_minutes","allow_user_mentions","user_daily_quota","mute_duration_minutes","auto_delete_danger","warn_on_suspicious","notify_admin","link_preview_enabled","admin_chat_id"],"title":"TelegramBotSettingsResponse"},"TelegramInstallRequest":{"properties":{"bot_token":{"type":"string","maxLength":256,"minLength":10,"title":"Bot Token"},"chat_id":{"type":"string","maxLength":64,"minLength":3,"title":"Chat Id"},"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"}},"type":"object","required":["bot_token","chat_id"],"title":"TelegramInstallRequest"},"TelegramInstallResponse":{"properties":{"linked":{"type":"boolean","title":"Linked"},"group_id":{"type":"integer","title":"Group Id"},"group_name":{"type":"string","title":"Group Name"},"chat_id":{"type":"string","title":"Chat Id"}},"type":"object","required":["linked","group_id","group_name","chat_id"],"title":"TelegramInstallResponse"},"TelegramLifecycleActionResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"group_id":{"type":"integer","title":"Group Id"},"linked":{"type":"boolean","title":"Linked"},"status":{"type":"string","title":"Status"}},"type":"object","required":["ok","group_id","linked","status"],"title":"TelegramLifecycleActionResponse"},"TelegramLifecycleDiagnosticsResponse":{"properties":{"status":{"type":"string","enum":["ok","bot_removed","subscription_expired"],"title":"Status"},"details":{"type":"object","title":"Details"}},"type":"object","required":["status","details"],"title":"TelegramLifecycleDiagnosticsResponse"},"TelegramLoginRequest":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"integer"}],"title":"Id","description":"Telegram user id; widget may send as number"},"first_name":{"type":"string","maxLength":255,"title":"First Name","default":""},"last_name":{"type":"string","maxLength":255,"title":"Last Name","default":""},"username":{"type":"string","maxLength":255,"title":"Username","default":""},"photo_url":{"type":"string","maxLength":2048,"title":"Photo Url","default":""},"auth_date":{"anyOf":[{"type":"string"},{"type":"integer"}],"title":"Auth Date","description":"Unix timestamp; widget may send as number"},"hash":{"type":"string","title":"Hash","description":"HMAC-SHA256 from Telegram"},"oauth_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth State","description":"Signed OAuth state from /telegram/login (link mode embeds link_to_user_id)"}},"type":"object","required":["id","auth_date","hash"],"title":"TelegramLoginRequest"},"TelegramWebAppRequest":{"properties":{"init_data":{"type":"string","title":"Init Data","description":"Raw initData string from Telegram WebApp","default":""},"initData":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Initdata","description":"CamelCase alias used by some WebApp clients"}},"type":"object","title":"TelegramWebAppRequest"},"TestWebhookDeliveryRequest":{"properties":{"event_type":{"type":"string","maxLength":120,"minLength":1,"title":"Event Type","default":"manual_test"},"payload":{"type":"object","title":"Payload"}},"type":"object","title":"TestWebhookDeliveryRequest"},"TestWebhookDeliveryResponse":{"properties":{"delivered":{"type":"boolean","title":"Delivered"},"status_code":{"type":"integer","title":"Status Code"},"webhook_id":{"type":"integer","title":"Webhook Id"},"event_type":{"type":"string","title":"Event Type"},"request_id":{"type":"string","title":"Request Id"},"latency_ms":{"type":"integer","title":"Latency Ms","default":0},"retried_from_request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Retried From Request Id"}},"type":"object","required":["delivered","status_code","webhook_id","event_type","request_id"],"title":"TestWebhookDeliveryResponse"},"TextCheckRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text"},"platform":{"type":"string","pattern":"^(telegram|discord|slack|web|api|extension|x|mcp)$","title":"Platform","default":"api"},"trace_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Trace Id"}},"type":"object","required":["text"],"title":"TextCheckRequest"},"ThreatActorEdge":{"properties":{"source":{"type":"string","title":"Source"},"target":{"type":"string","title":"Target"},"relation":{"type":"string","title":"Relation"},"status":{"type":"string","title":"Status","default":""},"weight":{"type":"integer","title":"Weight","default":1},"last_seen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen"}},"type":"object","required":["source","target","relation"],"title":"ThreatActorEdge"},"ThreatActorGraphResponse":{"properties":{"nodes":{"items":{"$ref":"#/components/schemas/ThreatActorNode"},"type":"array","title":"Nodes"},"edges":{"items":{"$ref":"#/components/schemas/ThreatActorEdge"},"type":"array","title":"Edges"},"items":{"items":{"$ref":"#/components/schemas/ThreatActorItem"},"type":"array","title":"Items"},"meta":{"type":"object","title":"Meta"},"summary":{"type":"object","title":"Summary"}},"type":"object","title":"ThreatActorGraphResponse"},"ThreatActorItem":{"properties":{"id":{"type":"string","title":"Id"},"actor_id":{"type":"string","title":"Actor Id"},"risk_score":{"type":"integer","title":"Risk Score","default":0},"sightings":{"type":"integer","title":"Sightings","default":0},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms"},"status":{"type":"string","title":"Status","default":"observed"},"last_seen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen"}},"type":"object","required":["id","actor_id"],"title":"ThreatActorItem"},"ThreatActorLookupResponse":{"properties":{"item":{"anyOf":[{"$ref":"#/components/schemas/ThreatActorItem"},{"type":"null"}]},"relations":{"type":"object","title":"Relations"}},"type":"object","title":"ThreatActorLookupResponse"},"ThreatActorNode":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"},"type":{"type":"string","title":"Type"},"risk_score":{"type":"integer","title":"Risk Score","default":0},"sightings":{"type":"integer","title":"Sightings","default":0},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms"},"last_seen":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen"}},"type":"object","required":["id","label","type"],"title":"ThreatActorNode"},"ThreatLevelResponse":{"properties":{"score":{"type":"number","title":"Score"},"level":{"type":"string","title":"Level"},"total":{"type":"integer","title":"Total"},"safe":{"type":"integer","title":"Safe"},"suspicious":{"type":"integer","title":"Suspicious"},"danger":{"type":"integer","title":"Danger"},"window_hours":{"type":"integer","title":"Window Hours"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["score","level","total","safe","suspicious","danger","window_hours","updated_at"],"title":"ThreatLevelResponse"},"TierResponse":{"properties":{"org_id":{"type":"integer","title":"Org Id"},"tier":{"type":"string","title":"Tier"},"dpa_accepted":{"type":"boolean","title":"Dpa Accepted"},"dpa_accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dpa Accepted At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["org_id","tier","dpa_accepted","dpa_accepted_at","updated_at"],"title":"TierResponse"},"TierSetRequest":{"properties":{"tier":{"type":"string","pattern":"^(NONE|AGGREGATE|HASHED|FULL)$","title":"Tier"},"dpa_accepted":{"type":"boolean","title":"Dpa Accepted","default":false}},"type":"object","required":["tier"],"title":"TierSetRequest"},"ToolArgRequest":{"properties":{"tool_name":{"type":"string","maxLength":120,"minLength":1,"title":"Tool Name"},"args":{"type":"object","title":"Args"}},"type":"object","required":["tool_name"],"title":"ToolArgRequest"},"ToolArgResponse":{"properties":{"verdict":{"type":"string","title":"Verdict"},"findings":{"items":{"type":"object"},"type":"array","title":"Findings"},"redacted_args":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Redacted Args"}},"type":"object","required":["verdict","findings"],"title":"ToolArgResponse"},"TraceAuditItem":{"properties":{"event_type":{"type":"string","title":"Event Type"},"actor":{"type":"string","title":"Actor"},"created_at":{"type":"string","title":"Created At"},"details":{"type":"object","title":"Details"}},"type":"object","required":["event_type","actor","created_at"],"title":"TraceAuditItem"},"TraceDetailResponse":{"properties":{"trace_id":{"type":"string","title":"Trace Id"},"org_id":{"type":"integer","title":"Org Id"},"decision_count":{"type":"integer","title":"Decision Count"},"decisions":{"items":{"$ref":"#/components/schemas/DecisionStreamItem"},"type":"array","title":"Decisions"},"quota_snapshot":{"type":"object","title":"Quota Snapshot"},"audit_events":{"items":{"$ref":"#/components/schemas/TraceAuditItem"},"type":"array","title":"Audit Events"},"channel_diagnostics":{"type":"object","title":"Channel Diagnostics"}},"type":"object","required":["trace_id","org_id","decision_count","decisions","quota_snapshot","audit_events","channel_diagnostics"],"title":"TraceDetailResponse"},"TrackClickRequest":{"properties":{"ref_code":{"type":"string","maxLength":64,"minLength":3,"title":"Ref Code"},"subid":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Subid"},"landing_path":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Landing Path"},"source":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Source","default":"web"}},"type":"object","required":["ref_code"],"title":"TrackClickRequest"},"TrackClickResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"ref_code":{"type":"string","title":"Ref Code"},"referral_id":{"type":"integer","title":"Referral Id"}},"type":"object","required":["ok","ref_code","referral_id"],"title":"TrackClickResponse"},"TransparencyKeyEntry":{"properties":{"version":{"type":"integer","title":"Version"},"algorithm":{"type":"string","title":"Algorithm"},"fingerprint":{"type":"string","title":"Fingerprint"},"prev_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Fingerprint"},"public_key_b64":{"type":"string","title":"Public Key B64"},"active_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active From"},"active_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Until"},"retired_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Retired At"}},"type":"object","required":["version","algorithm","fingerprint","prev_fingerprint","public_key_b64","active_from","active_until","retired_at"],"title":"TransparencyKeyEntry"},"TransparencyKeyItem":{"properties":{"version":{"type":"integer","title":"Version"},"algorithm":{"type":"string","title":"Algorithm"},"fingerprint":{"type":"string","title":"Fingerprint"},"prev_fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Fingerprint"},"public_key_b64":{"type":"string","title":"Public Key B64"},"active_from":{"type":"string","format":"date-time","title":"Active From"},"active_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Active Until"},"retired_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Retired At"},"rotation_manifest_sig_b64":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rotation Manifest Sig B64"}},"type":"object","required":["version","algorithm","fingerprint","prev_fingerprint","public_key_b64","active_from","active_until","retired_at","rotation_manifest_sig_b64"],"title":"TransparencyKeyItem"},"TriageItem":{"properties":{"id":{"type":"integer","title":"Id"},"indicator_type":{"type":"string","title":"Indicator Type"},"value":{"type":"string","title":"Value"},"source":{"type":"string","title":"Source"},"severity":{"type":"string","title":"Severity"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","indicator_type","value","source","severity","status"],"title":"TriageItem"},"TriggerItem":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Org Id"},"trigger_type":{"type":"string","title":"Trigger Type"},"status":{"type":"string","title":"Status"},"threshold_metric":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Threshold Metric"},"threshold_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Threshold Value"},"observed_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Observed Value"},"retrain_job_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Retrain Job Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"claimed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Claimed At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","org_id","trigger_type","status","threshold_metric","threshold_value","observed_value","retrain_job_id","created_at","claimed_at","completed_at"],"title":"TriggerItem"},"TriggerListResponse":{"properties":{"triggers":{"items":{"$ref":"#/components/schemas/TriggerItem"},"type":"array","title":"Triggers"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["triggers","total"],"title":"TriggerListResponse"},"TtpItem":{"properties":{"ttp_id":{"type":"string","title":"Ttp Id"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"tactic":{"type":"string","title":"Tactic"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"delivery_channel_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Channel Hint"},"enabled_by_default":{"type":"boolean","title":"Enabled By Default"}},"type":"object","required":["ttp_id","parent_id","tactic","name","description","delivery_channel_hint","enabled_by_default"],"title":"TtpItem"},"TtpListResponse":{"properties":{"ttps":{"items":{"$ref":"#/components/schemas/TtpItem"},"type":"array","title":"Ttps"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["ttps","total"],"title":"TtpListResponse"},"URLCheckRequest":{"properties":{"url":{"type":"string","maxLength":2048,"minLength":5,"title":"Url"},"platform":{"type":"string","pattern":"^(telegram|discord|slack|web|api|extension|x|mcp)$","title":"Platform","default":"api"},"trace_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Trace Id"}},"type":"object","required":["url"],"title":"URLCheckRequest"},"UpdateReferralLabelRequest":{"properties":{"label":{"type":"string","maxLength":255,"title":"Label","default":""}},"type":"object","title":"UpdateReferralLabelRequest"},"UrlCheckCompatRequest":{"properties":{"url":{"type":"string","maxLength":2048,"minLength":3,"title":"Url"}},"type":"object","required":["url"],"title":"UrlCheckCompatRequest"},"UserItem":{"properties":{"user_id":{"type":"integer","title":"User Id"},"username":{"type":"string","title":"Username"},"telegram_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Id"},"plan":{"type":"string","title":"Plan"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["user_id","username","telegram_id","plan","is_active","created_at"],"title":"UserItem"},"UserScoreResponse":{"properties":{"user_ref":{"type":"string","title":"User Ref"},"score":{"type":"integer","title":"Score"},"verdict":{"type":"string","title":"Verdict"},"signals_total":{"type":"integer","title":"Signals Total"},"blocked_signals":{"type":"integer","title":"Blocked Signals"},"suspicious_signals":{"type":"integer","title":"Suspicious Signals"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"}},"type":"object","required":["user_ref","score","verdict","signals_total","blocked_signals","suspicious_signals"],"title":"UserScoreResponse"},"ValidateBotNameRequest":{"properties":{"display_name":{"type":"string","maxLength":96,"title":"Display Name","default":""}},"type":"object","title":"ValidateBotNameRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerifyMFARequest":{"properties":{"totp_code":{"type":"string","title":"Totp Code"}},"type":"object","required":["totp_code"],"title":"VerifyMFARequest"},"ViberSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"ViberSettingsUpdate"},"WaitlistRequest":{"properties":{"email":{"type":"string","title":"Email"},"platform":{"type":"string","title":"Platform"},"source":{"type":"string","title":"Source","default":"webapp"}},"type":"object","required":["email","platform"],"title":"WaitlistRequest"},"WalletCheckRequest":{"properties":{"address":{"type":"string","maxLength":128,"minLength":10,"title":"Address","description":"Wallet address"},"chain":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Chain","description":"Optional chain hint (eth, optimism, base, arbitrum, btc, solana, tron, ...). Inferred from address shape if omitted."}},"type":"object","required":["address"],"title":"WalletCheckRequest"},"WalletCheckResponse":{"properties":{"decision_id":{"type":"string","title":"Decision Id"},"trace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trace Id"},"verdict":{"type":"string","title":"Verdict"},"confidence":{"type":"number","title":"Confidence"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"chain":{"type":"string","title":"Chain"},"normalized_address":{"type":"string","title":"Normalized Address"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"billing_warning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Warning"},"verdict_display":{"type":"string","title":"Verdict Display","default":""},"visual_hint":{"type":"string","title":"Visual Hint","default":""}},"type":"object","required":["decision_id","verdict","confidence","reasons","chain","normalized_address"],"title":"WalletCheckResponse"},"WalletOut":{"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"network":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Network"},"fallback_networks":{"items":{"type":"string"},"type":"array","title":"Fallback Networks"},"min_threshold_usd":{"type":"number","title":"Min Threshold Usd","default":50.0},"schedule":{"type":"string","title":"Schedule","default":"manual"},"contact_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Email"},"confirmed":{"type":"boolean","title":"Confirmed","default":false},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"can_change":{"type":"boolean","title":"Can Change","default":true},"next_change_available_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Change Available At"}},"type":"object","title":"WalletOut"},"WebhookConfigResponse":{"properties":{"id":{"type":"integer","title":"Id"},"org_id":{"type":"integer","title":"Org Id"},"url":{"type":"string","title":"Url"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","org_id","url","is_active","created_at"],"title":"WebhookConfigResponse","description":"Ответ: webhook без secret (для списка/GET)."},"WebhookDeliveryLogBucket":{"properties":{"webhook_id":{"type":"integer","title":"Webhook Id"},"count":{"type":"integer","title":"Count"},"items":{"items":{"$ref":"#/components/schemas/WebhookDeliveryLogResponse"},"type":"array","title":"Items"}},"type":"object","required":["webhook_id","count"],"title":"WebhookDeliveryLogBucket"},"WebhookDeliveryLogResponse":{"properties":{"request_id":{"type":"string","title":"Request Id"},"webhook_id":{"type":"integer","title":"Webhook Id"},"event_type":{"type":"string","title":"Event Type"},"url":{"type":"string","title":"Url"},"status_code":{"type":"integer","title":"Status Code"},"latency_ms":{"type":"integer","title":"Latency Ms","default":0},"delivered":{"type":"boolean","title":"Delivered"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["request_id","webhook_id","event_type","url","status_code","delivered","created_at"],"title":"WebhookDeliveryLogResponse"},"WhatsAppSettingsUpdate":{"properties":{"credentials":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Credentials"},"settings":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"WhatsAppSettingsUpdate"},"XAnalyzeRequest":{"properties":{"tweet_url":{"type":"string","title":"Tweet Url"}},"type":"object","required":["tweet_url"],"title":"XAnalyzeRequest"},"_AlertOverrideBody":{"properties":{"platform":{"type":"string","pattern":"^(telegram|discord|slack)$","title":"Platform"},"resource_id":{"type":"string","maxLength":128,"minLength":1,"title":"Resource Id"},"mute_minutes":{"anyOf":[{"type":"integer","maximum":43200.0,"minimum":1.0},{"type":"null"}],"title":"Mute Minutes"},"severity_threshold":{"anyOf":[{"type":"string","pattern":"^(low|medium|high|critical)$"},{"type":"null"}],"title":"Severity Threshold"}},"type":"object","required":["platform","resource_id"],"title":"_AlertOverrideBody"},"_ReasonBody":{"properties":{"reason":{"type":"string","maxLength":512,"minLength":3,"title":"Reason"}},"type":"object","required":["reason"],"title":"_ReasonBody"},"_RedteamScenarioBody":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"surface":{"type":"string","maxLength":32,"minLength":1,"title":"Surface"},"content":{"type":"string","maxLength":8192,"minLength":1,"title":"Content"},"expected":{"items":{"type":"string"},"type":"array","maxItems":8,"minItems":1,"title":"Expected"},"context":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Context"}},"type":"object","required":["name","surface","content","expected"],"title":"_RedteamScenarioBody"},"_RedteamSuiteCreateBody":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description"},"scenarios":{"items":{"$ref":"#/components/schemas/_RedteamScenarioBody"},"type":"array","maxItems":64,"minItems":1,"title":"Scenarios"}},"type":"object","required":["name","scenarios"],"title":"_RedteamSuiteCreateBody"},"backend__app__routers__audit_viewer_s13__AnchorVerifyResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"anchor_id":{"type":"string","title":"Anchor Id"},"computed_head":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Computed Head"},"stored_head":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stored Head"},"range_first_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Range First Id"},"range_last_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Range Last Id"},"entries_checked":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Entries Checked"},"broken_at_entry_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Broken At Entry Id"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["ok","anchor_id"],"title":"AnchorVerifyResponse"},"backend__app__routers__audit_viewer_s13__TransparencyListResponse":{"properties":{"keys":{"items":{"$ref":"#/components/schemas/TransparencyKeyItem"},"type":"array","title":"Keys"},"grace_hours":{"type":"integer","title":"Grace Hours"}},"type":"object","required":["keys","grace_hours"],"title":"TransparencyListResponse"},"backend__app__routers__feedback__FeedbackRequest":{"properties":{"decision_id":{"type":"string","title":"Decision Id","description":"UUID of the decision being challenged"},"feedback_type":{"type":"string","title":"Feedback Type","description":"false_positive|false_negative|correct"},"human_label":{"type":"string","title":"Human Label","description":"safe|suspicious|danger"},"comment":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Comment"}},"type":"object","required":["decision_id","feedback_type","human_label"],"title":"FeedbackRequest"},"backend__app__routers__fingerprints__FingerprintListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FingerprintOut"},"type":"array","title":"Items"},"meta":{"additionalProperties":{"type":"integer"},"type":"object","title":"Meta"}},"type":"object","required":["items","meta"],"title":"FingerprintListResponse"},"backend__app__routers__honeypots_s03__FingerprintListResponse":{"properties":{"fingerprints":{"items":{"$ref":"#/components/schemas/FingerprintItem"},"type":"array","title":"Fingerprints"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["fingerprints","total"],"title":"FingerprintListResponse"},"backend__app__routers__ml_retrain_s05__FeedbackRequest":{"properties":{"decision_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Decision Id"},"label":{"type":"string","pattern":"^(false_positive|false_negative|confirm)$","title":"Label"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["label"],"title":"FeedbackRequest"},"backend__app__routers__public_verifier__AnchorVerifyResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"anchor_id":{"type":"string","title":"Anchor Id"},"range_first_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Range First Id"},"range_last_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Range Last Id"},"entries_checked":{"type":"integer","title":"Entries Checked"},"broken_at_entry_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Broken At Entry Id"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["ok","anchor_id","range_first_id","range_last_id","entries_checked"],"title":"AnchorVerifyResponse"},"backend__app__routers__public_verifier__TransparencyListResponse":{"properties":{"keys":{"items":{"$ref":"#/components/schemas/TransparencyKeyEntry"},"type":"array","title":"Keys"},"grace_hours":{"type":"integer","title":"Grace Hours"}},"type":"object","required":["keys","grace_hours"],"title":"TransparencyListResponse"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Session JWT via Authorization: Bearer <token>."},"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Scoped API key for service-to-service access."}}},"tags":[{"name":"auth","description":"Authentication and session endpoints."},{"name":"billing","description":"Plans, subscriptions, invoices, and credits."},{"name":"decision-check","description":"Core threat decision endpoints."},{"name":"integrations","description":"Telegram/Discord/Slack/X integration APIs."},{"name":"ml-models","description":"Model registry, retrain jobs, and metrics."},{"name":"sdr","description":"Referral and SDR partner APIs."},{"name":"threat-intel","description":"Threat feeds, IOC operations, and lookup."},{"name":"developer-sandbox","description":"Deterministic sandbox endpoint for SDK testing."}],"security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}]}