{"components":{"schemas":{"ASNRecord":{"additionalProperties":true,"properties":{"announced":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"country_registration":{"type":"null"},"fetched_at":{"format":"date-time","type":"string"},"number":{"type":"integer"},"observations":{"items":{"$ref":"#/components/schemas/IPRecord"},"type":"array"},"organization":{"anyOf":[{"type":"string"},{"type":"null"}]},"prefixes":{"anyOf":[{"items":{"additionalProperties":true,"properties":{"prefix":{"type":"string"}},"required":[],"type":"object"},"type":"array"},{"type":"null"}]},"scope":{"type":"string"},"source":{"type":"string"},"source_url":{"type":"string"}},"required":[],"type":"object"},"AnalyticsResult":{"additionalProperties":true,"properties":{"config":{"$ref":"#/components/schemas/ReportConfig"},"previous":{"additionalProperties":true,"properties":{"config":{"$ref":"#/components/schemas/ReportConfig"},"rows":{"items":{"$ref":"#/components/schemas/AnalyticsRow"},"type":"array"}},"required":[],"type":"object"},"rows":{"items":{"$ref":"#/components/schemas/AnalyticsRow"},"type":"array"},"scope":{"type":"string"}},"required":["config","rows"],"type":"object"},"AnalyticsRow":{"additionalProperties":true,"properties":{"count":{"type":"number"},"name":{"type":"string"}},"required":[],"type":"object"},"Asset":{"additionalProperties":false,"properties":{"authorization_confirmed":{"const":true,"type":"boolean"},"authorization_note":{"minLength":10,"type":"string"},"ip":{"type":"string"},"name":{"type":"string"}},"required":["name","ip","authorization_note","authorization_confirmed"],"type":"object"},"Batch":{"additionalProperties":false,"properties":{"fields":{"items":{"type":"string"},"type":"array"},"ips":{"items":{"type":"string"},"maxItems":50,"minItems":1,"type":"array"},"missing":{"enum":["omit","null","include_status"],"type":"string"}},"required":["ips"],"type":"object"},"BatchResult":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/IPRecord"},"error":{"additionalProperties":true,"properties":{"code":{"type":"string"}},"required":[],"type":"object"},"input":{"type":"string"}},"required":["input"],"type":"object"},"Bulk":{"additionalProperties":false,"properties":{"entries":{"items":{"$ref":"#/components/schemas/ListInput"},"maxItems":500,"minItems":1,"type":"array"},"kind":{"enum":["allowlist","denylist"],"type":"string"}},"required":["kind","entries"],"type":"object"},"CollectorEvent":{"additionalProperties":false,"description":"Optional event_id enables idempotent retry; reuse the same UUID for one observed event.","properties":{"asset_id":{"format":"uuid","type":"string"},"event_id":{"format":"uuid","type":"string"},"event_type":{"enum":["connection","ssh_failed","login_failed","http_request","minecraft_login","firewall_drop"],"type":"string"},"outcome":{"type":"string"},"path":{"type":"string"},"port":{"maximum":65535,"minimum":1,"type":"integer"},"source_ip":{"type":"string"},"status":{"type":"integer"}},"required":["source_ip","asset_id","event_type"],"type":"object"},"Conditions":{"additionalProperties":false,"properties":{"all":{"items":{"$ref":"#/components/schemas/Conditions"},"type":"array"},"any":{"items":{"$ref":"#/components/schemas/Conditions"},"type":"array"},"asn":{"type":"number"},"cidr":{"type":"string"},"confidence_min":{"type":"number"},"continent":{"type":"string"},"country":{"type":"string"},"events_min":{"maximum":1000000,"minimum":0,"type":"integer"},"hosting":{"type":"boolean"},"hour_from":{"type":"number"},"hour_to":{"type":"number"},"proxy":{"type":"boolean"},"reputation_min":{"type":"number"},"risk_min":{"type":"number"},"source":{"enum":["tor","ripe","dbip","x4b_vpn4","x4b_vpn6","proxy_http","proxy_socks4","proxy_socks5","aws","gcloud"],"type":"string"},"tor":{"type":"boolean"},"vpn":{"type":"boolean"}},"required":[],"type":"object"},"Credentials":{"additionalProperties":false,"properties":{"email":{"format":"email","type":"string"},"password":{"maxLength":200,"minLength":12,"type":"string"}},"required":["email","password"],"type":"object"},"Detectors":{"additionalProperties":false,"properties":{"connections":{"maximum":3600,"minimum":2,"type":"integer"},"exceptions":{"items":{"description":"CIDR detector exceptions, max100","type":"string"},"maxItems":100,"type":"array"},"failures":{"maximum":3600,"minimum":2,"type":"integer"},"http_404":{"maximum":3600,"minimum":2,"type":"integer"},"port_count":{"maximum":3600,"minimum":2,"type":"integer"},"window_seconds":{"maximum":3600,"minimum":2,"type":"integer"}},"required":["window_seconds","failures","http_404","connections","port_count"],"type":"object"},"Envelope":{"additionalProperties":false,"properties":{"data":{},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"},"Error":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string"},"details":{},"message":{"type":"string"},"request_id":{"format":"uuid","type":"string"}},"required":["code","message","request_id"],"type":"object"}},"required":["error"],"type":"object"},"Event":{"additionalProperties":false,"properties":{"asset":{"type":"string"},"event_type":{"type":"string"},"evidence":{"type":"object"},"severity":{"enum":["info","low","medium","high","critical"],"type":"string"},"source_ip":{"type":"string"}},"required":["source_ip","asset","event_type","severity"],"type":"object"},"EventEdit":{"additionalProperties":false,"properties":{"status":{"enum":["open","acknowledged","resolved","false_positive"],"type":"string"}},"required":["status"],"type":"object"},"Feedback":{"additionalProperties":false,"properties":{"ip":{"type":"string"},"proposed_label":{"enum":["VPN","PROXY","TOR","CLEAN","UNKNOWN"],"type":"string"}},"required":["ip","proposed_label"],"type":"object"},"FeedbackDecision":{"additionalProperties":true,"properties":{"action":{"enum":["verify","reject"],"type":"string"},"evidence":{"type":"string"},"independently_verified":{"type":"boolean"},"source":{"type":"string"}},"required":["action"],"type":"object"},"IPRecord":{"additionalProperties":true,"properties":{"abuse":{"type":["object","null"]},"account_events":{"additionalProperties":true,"properties":{"severe":{"type":"integer"},"total":{"type":"integer"}},"required":[],"type":"object"},"asn":{"additionalProperties":false,"properties":{"number":{"type":["integer","null"]},"organization":{"type":["string","null"]}},"required":[],"type":"object"},"classification_reasons":{"items":{"type":"string"},"type":"array"},"confidence":{"type":["number","null"]},"first_seen_at":{"format":"date-time","type":["string","null"]},"geo":{"additionalProperties":true,"properties":{"city":{"type":"null"},"continent_code":{"type":["string","null"]},"country_code":{"type":["string","null"]},"precision":{"type":"string"},"source":{"type":"string"},"source_url":{"type":"string"}},"required":[],"type":"object"},"history":{"items":{"type":"object"},"type":"array"},"hosting":{"additionalProperties":true,"properties":{"confidence":{"type":["number","null"]},"detected":{"type":["boolean","null"]},"sources":{"items":{"type":"object"},"type":"array"},"type":{"type":["string","null"]}},"required":[],"type":"object"},"ip":{"type":"string"},"ip_version":{"enum":[4,6],"type":"integer"},"last_analyzed_at":{"format":"date-time","type":"string"},"last_seen_at":{"format":"date-time","type":["string","null"]},"ml":{"type":["object","null"]},"ml_verdict":{"type":["string","null"]},"network_prefix":{"type":["string","null"]},"normalized_ip":{"type":"string"},"policy_verdict":{"additionalProperties":true,"properties":{"action":{"enum":["ALLOW","DENY","CHALLENGE","LOG_ONLY","REVIEW"],"type":"string"},"reason":{"type":"string"}},"required":[],"type":"object"},"proxy":{"additionalProperties":true,"properties":{"confidence":{"type":["number","null"]},"detected":{"type":["boolean","null"]},"sources":{"items":{"type":"object"},"type":"array"},"type":{"type":["string","null"]}},"required":[],"type":"object"},"rdap_data":{"additionalProperties":true,"type":["object","null"]},"record_updated_at":{"format":"date-time","type":"string"},"reputation":{"type":"object"},"risk_score":{"maximum":100,"minimum":0,"type":["integer","null"]},"services":{"items":{"type":"object"},"type":"array"},"sources":{"items":{"type":"object"},"type":"array"},"tor":{"additionalProperties":true,"properties":{"confidence":{"type":["number","null"]},"detected":{"type":["boolean","null"]},"sources":{"items":{"type":"object"},"type":"array"},"type":{"type":["string","null"]}},"required":[],"type":"object"},"version":{"type":"integer"},"vpn":{"additionalProperties":true,"properties":{"confidence":{"type":["number","null"]},"detected":{"type":["boolean","null"]},"sources":{"items":{"type":"object"},"type":"array"},"type":{"type":["string","null"]}},"required":[],"type":"object"},"zov_categories":{"items":{"type":"string"},"type":"array"},"zov_verdict":{"type":"string"}},"required":[],"type":"object"},"Incident":{"additionalProperties":false,"properties":{"component":{"type":"string"},"ends_at":{"format":"date-time","type":"string"},"message":{"type":"string"},"starts_at":{"format":"date-time","type":"string"},"status":{"enum":["investigating","identified","monitoring","resolved","maintenance"],"type":"string"},"title":{"type":"string"}},"required":["component","title","status","message"],"type":"object"},"JsonObject":{"additionalProperties":true,"type":"object"},"KeyEdit":{"additionalProperties":false,"properties":{"daily_limit":{"maximum":1000000,"minimum":1,"type":"integer"},"expires_at":{"format":"date-time","type":"string"},"monthly_limit":{"maximum":10000000,"minimum":1,"type":"integer"},"name":{"maxLength":100,"type":"string"},"per_minute":{"maximum":1000,"minimum":1,"type":"integer"},"permissions":{"items":{"type":"string"},"type":"array"}},"type":"object"},"KeyInput":{"additionalProperties":false,"properties":{"name":{"type":"string"},"permissions":{"items":{"type":"string"},"type":"array"}},"required":["name","permissions"],"type":"object"},"Label":{"additionalProperties":false,"properties":{"evidence":{"minLength":20,"type":"string"},"independently_verified":{"const":true,"type":"boolean"},"ip":{"type":"string"},"label":{"enum":["CLEAN","VPN","PROXY","TOR","HOSTING"],"type":"string"},"source":{"enum":["external_verified","manual_controlled_asset","provider_confirmation"],"type":"string"}},"required":["ip","label","source","evidence","independently_verified"],"type":"object"},"ListEdit":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"comment":{"type":"string"},"expires_at":{"format":"date-time","type":["string","null"]},"network":{"type":"string"}},"type":"object"},"ListInput":{"additionalProperties":false,"properties":{"comment":{"type":"string"},"expires_at":{"format":"date-time","type":["string","null"]},"network":{"description":"IPv4, IPv6, canonical CIDR or AS<number>","type":"string"}},"required":["network"],"type":"object"},"MLStatus":{"additionalProperties":true,"properties":{"active_model":{"anyOf":[{"$ref":"#/components/schemas/Stored_ml_models"},{"type":"null"}]},"automatic_promotion":{"type":"boolean"},"candidate":{"anyOf":[{"$ref":"#/components/schemas/Stored_ml_models"},{"type":"null"}]},"models":{"items":{"$ref":"#/components/schemas/Stored_ml_models"},"type":"array"},"reason":{"type":"string"},"schema_id":{"type":"string"},"shadow":{"anyOf":[{"$ref":"#/components/schemas/Stored_ml_shadow_runs"},{"type":"null"}]},"shadow_enabled":{"type":"boolean"},"status":{"type":"string"},"training_runs":{"items":{"$ref":"#/components/schemas/Stored_ml_training_runs"},"type":"array"},"verified_labels":{"type":"integer"}},"required":[],"type":"object"},"Meta":{"additionalProperties":true,"properties":{"api_version":{"const":"v1","type":"string"},"cached":{"type":"boolean"},"generated_at":{"format":"date-time","type":"string"},"pagination":{"additionalProperties":true,"properties":{"limit":{"type":"integer"},"next_cursor":{"type":["string","integer","null"]},"sort":{"type":"string"}},"required":[],"type":"object"},"quota":{"additionalProperties":true,"properties":{"daily_limit":{"type":"integer"},"day_used":{"type":"integer"},"minute_used":{"type":"integer"},"month_used":{"type":"integer"},"monthly_limit":{"type":"integer"},"per_minute":{"type":"integer"}},"required":[],"type":"object"},"request_id":{"format":"uuid","type":"string"}},"required":["request_id","api_version","generated_at","cached"],"type":"object"},"PasswordChange":{"additionalProperties":false,"properties":{"current_password":{"type":"string"},"new_password":{"minLength":12,"type":"string"}},"required":["current_password","new_password"],"type":"object"},"Report":{"additionalProperties":false,"properties":{"config":{"$ref":"#/components/schemas/ReportConfig"},"description":{"maxLength":2000,"type":"string"},"name":{"type":"string"}},"required":["name","config"],"type":"object"},"ReportConfig":{"additionalProperties":false,"properties":{"chart":{"enum":["line","bars","pie","table","area","heatmap","number","horizontal_bars","donut"],"type":"string"},"compare_previous":{"type":"boolean"},"days":{"maximum":90,"minimum":1,"type":"integer"},"filters":{"additionalProperties":false,"properties":{"asn":{"type":["string","integer"]},"category":{"type":["string","integer"]},"continent":{"type":["string","integer"]},"country":{"type":["string","integer"]},"endpoint":{"type":["string","integer"]},"http_status":{"type":["string","integer"]},"model":{"type":["string","integer"]},"severity":{"type":["string","integer"]},"source":{"type":["string","integer"]}},"type":"object"},"from":{"format":"date-time","type":"string"},"granularity":{"enum":["hour","day","week"],"type":"string"},"group":{"enum":["time","endpoint","severity","country","continent","asn","category","hour","http_status","model","source"],"type":"string"},"limit":{"maximum":500,"minimum":1,"type":"integer"},"metric":{"enum":["requests","errors","latency","error_rate","events","lookups","unique_ips","vpn","proxy","tor","hosting","unknown","ml_f1","ml_fpr","ml_latency","ml_shadow_p95","source_success_rate"],"type":"string"},"other":{"description":"Aggregate excluded categorical groups for additive counts only","type":"boolean"},"sort":{"enum":["name","count_asc","count_desc"],"type":"string"},"to":{"format":"date-time","type":"string"}},"required":["metric","group","days"],"type":"object"},"Rule":{"additionalProperties":false,"properties":{"action":{"enum":["ALLOW","DENY","CHALLENGE","LOG_ONLY","REVIEW"],"type":"string"},"active":{"type":"boolean"},"conditions":{"$ref":"#/components/schemas/Conditions"},"description":{"type":"string"},"expires_at":{"format":"date-time","type":["string","null"]},"name":{"type":"string"},"priority":{"type":"integer"}},"required":["name","conditions","action"],"type":"object"},"Scan":{"additionalProperties":false,"properties":{"ports":{"items":{"maximum":65535,"minimum":1,"type":"integer"},"maxItems":10,"minItems":1,"type":"array"}},"required":["ports"],"type":"object"},"Shadow":{"additionalProperties":false,"properties":{"hours":{"maximum":168,"minimum":1,"type":"integer"},"model_id":{"format":"uuid","type":"string"},"sample_percent":{"maximum":100,"minimum":1,"type":"integer"}},"required":["model_id","sample_percent","hours"],"type":"object"},"StatusCheck":{"additionalProperties":true,"properties":{"component":{"type":"string"},"latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}]},"records":{"type":"integer"},"status":{"type":"string"},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"required":[],"type":"object"},"StatusSummary":{"additionalProperties":true,"properties":{"checks":{"items":{"$ref":"#/components/schemas/StatusCheck"},"type":"array"},"incidents":{"items":{"$ref":"#/components/schemas/Stored_incidents"},"type":"array"},"ml":{"$ref":"#/components/schemas/StatusCheck"},"monitoring_scope":{"type":"string"},"sources":{"items":{"$ref":"#/components/schemas/StatusCheck"},"type":"array"},"updated_at":{"format":"date-time","type":"string"},"uptime":{"items":{"additionalProperties":true,"properties":{"component":{"type":"string"},"hours":{"type":"integer"},"mean_latency_ms":{"type":"number"},"observed_since":{"format":"date-time","type":"string"},"observed_until":{"format":"date-time","type":"string"},"samples":{"type":"integer"},"uptime_percent":{"type":"number"}},"required":[],"type":"object"},"type":"array"},"uptime_semantics":{"type":"string"},"workers":{"items":{"$ref":"#/components/schemas/StatusCheck"},"type":"array"}},"required":[],"type":"object"},"Stored_analytics_report_runs":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"report_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"result":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]}},"type":"object"},"Stored_analytics_reports":{"additionalProperties":true,"properties":{"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_api_keys":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"daily_limit":{"anyOf":[{"type":"integer"},{"type":"null"}]},"expires_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"last_used_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"monthly_limit":{"anyOf":[{"type":"integer"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"per_minute":{"anyOf":[{"type":"integer"},{"type":"null"}]},"permissions":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"prefix":{"anyOf":[{"type":"string"},{"type":"null"}]},"revoked":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"Stored_api_usage":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}]},"http_status":{"anyOf":[{"type":"integer"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"null"}]},"key_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"Stored_assets":{"additionalProperties":true,"properties":{"authorization_confirmed":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"authorization_note":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_audit_logs":{"additionalProperties":true,"properties":{"action":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"Stored_background_jobs":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"finished_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"result":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_classification_networks":{"additionalProperties":true,"properties":{"active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"first_seen_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_seen_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"network":{"anyOf":[{"type":"string"},{"type":"null"}]},"proxy_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_component_checks":{"additionalProperties":true,"properties":{"checked_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"component":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"null"}]},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_dashboard_preferences":{"additionalProperties":true,"properties":{"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]}},"type":"object"},"Stored_data_sources":{"additionalProperties":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"importer_version":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_success_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"records":{"anyOf":[{"type":"integer"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]},"terms":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_detector_configs":{"additionalProperties":true,"properties":{"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_incidents":{"additionalProperties":true,"properties":{"component":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"ends_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]},"starts_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ip_history":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"previous":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]},"version":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"Stored_ip_records":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"version":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"Stored_list_entries":{"additionalProperties":true,"properties":{"active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"comment":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]},"network":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_lookup_usage":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"type":"integer"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ml_decisions":{"additionalProperties":true,"properties":{"action":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"model_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ml_feedback":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"original":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"proposed_label":{"anyOf":[{"type":"string"},{"type":"null"}]},"review_note":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewed_by":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"verified":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"type":"object"},"Stored_ml_labels":{"additionalProperties":true,"properties":{"evidence":{"anyOf":[{"type":"string"},{"type":"null"}]},"features":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"observed_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]},"verified_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"verified_by":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ml_models":{"additionalProperties":true,"properties":{"artifact":{"anyOf":[{"type":"string"},{"type":"null"}]},"classes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"dataset_hash":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"published_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"schema_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ml_predictions":{"additionalProperties":true,"properties":{"confidence":{"anyOf":[{"type":"number"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"features":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}]},"model_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"shadow_run_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"verdict":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ml_review_queue":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ml_shadow_runs":{"additionalProperties":true,"properties":{"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"ends_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"model_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"sample_percent":{"anyOf":[{"type":"integer"},{"type":"null"}]},"starts_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_ml_training_runs":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"finished_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]},"model_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"report":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_notifications":{"additionalProperties":true,"properties":{"attempts":{"anyOf":[{"type":"integer"},{"type":"null"}]},"body":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"kind":{"anyOf":[{"type":"string"},{"type":"null"}]},"read_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"retry_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"telegram_status":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_object_history":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"object_key":{"anyOf":[{"type":"string"},{"type":"null"}]},"object_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"previous":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]},"version":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"Stored_object_records":{"additionalProperties":true,"properties":{"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"object_key":{"anyOf":[{"type":"string"},{"type":"null"}]},"object_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"version":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"type":"object"},"Stored_policy_history":{"additionalProperties":true,"properties":{"action":{"anyOf":[{"type":"string"},{"type":"null"}]},"after_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"before_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"object_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"object_type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_policy_rules":{"additionalProperties":true,"properties":{"action":{"anyOf":[{"type":"string"},{"type":"null"}]},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}]},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_security_events":{"additionalProperties":true,"properties":{"asset":{"anyOf":[{"type":"string"},{"type":"null"}]},"confidence":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}]},"evidence":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"rule_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"severity":{"anyOf":[{"type":"string"},{"type":"null"}]},"source_ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_service_observations":{"additionalProperties":true,"properties":{"asset_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"confidence":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"evidence":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"port":{"anyOf":[{"type":"integer"},{"type":"null"}]},"service":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]},"transport":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_sessions":{"additionalProperties":true,"properties":{"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"expires_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_source_sync_runs":{"additionalProperties":true,"properties":{"count":{"anyOf":[{"type":"integer"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"finished_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]},"snapshot":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_system_state":{"additionalProperties":true,"properties":{"key":{"anyOf":[{"type":"string"},{"type":"null"}]},"updated_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"value":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]}},"type":"object"},"Stored_tor_entries":{"additionalProperties":true,"properties":{"active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"first_seen_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_seen_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_users":{"additionalProperties":true,"properties":{"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"role":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"Stored_webhook_deliveries":{"additionalProperties":true,"properties":{"attempts":{"anyOf":[{"type":"integer"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"event_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"next_attempt_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}]},"response_status":{"anyOf":[{"type":"integer"},{"type":"null"}]},"status":{"anyOf":[{"type":"string"},{"type":"null"}]},"webhook_id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]}},"type":"object"},"Stored_webhook_targets":{"additionalProperties":true,"properties":{"active":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"created_at":{"anyOf":[{"format":"date-time","type":"string"},{"type":"null"}]},"id":{"anyOf":[{"format":"uuid","type":"string"},{"type":"null"}]},"revision":{"anyOf":[{"type":"integer"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"type":"object"},"UserEdit":{"additionalProperties":false,"properties":{"blocked":{"type":"boolean"},"role":{"enum":["user","admin"],"type":"string"}},"required":["blocked"],"type":"object"},"WebhookCreate":{"additionalProperties":false,"properties":{"url":{"format":"uri","maxLength":2000,"type":"string"}},"required":["url"],"type":"object"}},"securitySchemes":{"bearerAuth":{"scheme":"bearer","type":"http"},"cookieAuth":{"in":"cookie","name":"zov_session","type":"apiKey"}}},"info":{"description":"IPv4/IPv6 intelligence, account policy/events/reports, supervised CatBoost and isolated Shadow Mode. Null means unknown. GeoIP by DB-IP Lite, CC BY 4.0. Cookie mutations require same Origin and X-Zov-CSRF: 1. Administrator actions require an admin session.","title":"ZOV AntiProxy API","version":"0.2.0"},"openapi":"3.1.0","paths":{"/abuse/{ip}":{"get":{"operationId":"get_abuse__ip_","parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /abuse/{ip}","tags":["abuse"]}},"/admin/audit":{"get":{"operationId":"get_admin_audit","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_audit_logs"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/audit","tags":["admin"]}},"/admin/incidents":{"post":{"operationId":"post_admin_incidents","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Incident"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/incidents","tags":["admin"]}},"/admin/incidents/{id}/resolve":{"post":{"operationId":"post_admin_incidents__id__resolve","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/incidents/{id}/resolve","tags":["admin"]}},"/admin/jobs":{"get":{"operationId":"get_admin_jobs","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_background_jobs"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/jobs","tags":["admin"]}},"/admin/keys":{"get":{"operationId":"get_admin_keys","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_api_keys"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/keys"}},"/admin/ml/feedback":{"get":{"operationId":"get_admin_ml_feedback","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_ml_feedback"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/ml/feedback","tags":["admin"]}},"/admin/ml/feedback/{id}":{"post":{"operationId":"post_admin_ml_feedback_id","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackDecision"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"reviewed":{"type":"boolean"},"verified":{"type":"boolean"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Reviewed"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"}},"security":[{"cookieAuth":[]}],"summary":"Review a user suggestion with independent evidence"}},"/admin/ml/labels":{"get":{"operationId":"get_admin_ml_labels","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_ml_labels"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/ml/labels","tags":["admin"]},"post":{"operationId":"post_admin_ml_labels","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Label"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/ml/labels","tags":["admin"]}},"/admin/ml/models/{id}/{action}":{"post":{"operationId":"post_admin_ml_models__id___action_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"path","name":"action","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/ml/models/{id}/{action}","tags":["admin"]}},"/admin/ml/review":{"get":{"operationId":"get_admin_ml_review","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_ml_review_queue"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Result"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Scope or admin role required"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/ml/review"}},"/admin/ml/review/{id}":{"post":{"operationId":"post_admin_ml_review__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Result"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Scope or admin role required"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/ml/review/{id}"}},"/admin/ml/shadow":{"post":{"operationId":"post_admin_ml_shadow","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Shadow"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/ml/shadow","tags":["admin"]}},"/admin/ml/shadow/stop":{"post":{"operationId":"post_admin_ml_shadow_stop","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/ml/shadow/stop","tags":["admin"]}},"/admin/ml/train":{"post":{"operationId":"post_admin_ml_train","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/ml/train","tags":["admin"]}},"/admin/overview":{"get":{"operationId":"get_admin_overview","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/overview","tags":["admin"]}},"/admin/telegram":{"get":{"operationId":"get_admin_telegram","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/telegram","tags":["admin"]}},"/admin/telegram/test":{"post":{"operationId":"post_admin_telegram_test","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/telegram/test","tags":["admin"]}},"/admin/users":{"get":{"operationId":"get_admin_users","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_users"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /admin/users","tags":["admin"]}},"/admin/users/{id}":{"post":{"operationId":"post_admin_users__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEdit"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /admin/users/{id}","tags":["admin"]}},"/allowlist":{"get":{"operationId":"get_allowlist","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_list_entries"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /allowlist","tags":["allowlist"]},"post":{"operationId":"post_allowlist","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /allowlist","tags":["allowlist"]}},"/analytics/query":{"post":{"operationId":"post_analytics_query","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportConfig"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/AnalyticsResult"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /analytics/query"}},"/analytics/registry":{"get":{"operationId":"get_analytics_registry","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /analytics/registry","tags":["analytics"]}},"/analytics/reports":{"get":{"operationId":"get_analytics_reports","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_analytics_reports"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /analytics/reports","tags":["analytics"]},"post":{"operationId":"post_analytics_reports","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"config":{"$ref":"#/components/schemas/ReportConfig"},"description":{"maxLength":2000,"type":["string","null"]},"name":{"maxLength":100,"minLength":1,"type":"string"}},"required":["name","config"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /analytics/reports","tags":["analytics"]}},"/analytics/reports/{id}":{"delete":{"operationId":"delete_analytics_reports__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"revoked":{"type":"boolean"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"DELETE /analytics/reports/{id}","tags":["analytics"]},"get":{"operationId":"get_analytics_reports__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /analytics/reports/{id}","tags":["analytics"]},"patch":{"operationId":"patch_analytics_reports__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Report"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"PATCH /analytics/reports/{id}","tags":["analytics"]}},"/analytics/reports/{id}/copy":{"post":{"operationId":"post_analytics_reports__id__copy","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /analytics/reports/{id}/copy","tags":["analytics"]}},"/analytics/reports/{id}/queue":{"post":{"operationId":"post_analytics_reports__id__queue","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /analytics/reports/{id}/queue"}},"/analytics/reports/{id}/run":{"post":{"operationId":"post_analytics_reports__id__run","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /analytics/reports/{id}/run","tags":["analytics"]}},"/analytics/reports/{id}/runs":{"get":{"operationId":"get_analytics_reports__id__runs","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_analytics_report_runs"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /analytics/reports/{id}/runs","tags":["analytics"]}},"/asn/{asn}":{"get":{"operationId":"get_asn__asn_","parameters":[{"in":"path","name":"asn","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/ASNRecord"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /asn/{asn}","tags":["asn"]}},"/assets":{"get":{"operationId":"get_assets","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_assets"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /assets","tags":["assets"]},"post":{"operationId":"post_assets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Asset"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /assets","tags":["assets"]}},"/assets/{id}/scan":{"post":{"operationId":"post_assets__id__scan","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Scan"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /assets/{id}/scan","tags":["assets"]}},"/audit":{"get":{"operationId":"get_audit","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_audit_logs"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /audit","tags":["audit"]}},"/auth/login":{"post":{"operationId":"post_auth_login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Credentials"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"email":{"type":"string"},"id":{"format":"uuid","type":"string"},"role":{"type":"string"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /auth/login","tags":["auth"]}},"/auth/logout":{"post":{"operationId":"post_auth_logout","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /auth/logout","tags":["auth"]}},"/auth/me":{"get":{"operationId":"get_auth_me","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"created_at":{"format":"date-time","type":"string"},"email":{"type":"string"},"id":{"format":"uuid","type":"string"},"role":{"type":"string"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /auth/me","tags":["auth"]}},"/auth/password":{"post":{"operationId":"post_auth_password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChange"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /auth/password","tags":["auth"]}},"/auth/register":{"post":{"operationId":"post_auth_register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Credentials"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"email":{"type":"string"},"id":{"format":"uuid","type":"string"},"role":{"type":"string"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /auth/register","tags":["auth"]}},"/denylist":{"get":{"operationId":"get_denylist","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_list_entries"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /denylist","tags":["denylist"]},"post":{"operationId":"post_denylist","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /denylist","tags":["denylist"]}},"/events":{"get":{"operationId":"get_events","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_security_events"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /events","tags":["events"]},"post":{"operationId":"post_events","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /events","tags":["events"]}},"/events/detectors":{"get":{"operationId":"get_events_detectors","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/Detectors"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /events/detectors","tags":["events"]},"post":{"operationId":"post_events_detectors","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Detectors"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /events/detectors","tags":["events"]}},"/events/ingest":{"post":{"operationId":"post_events_ingest","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CollectorEvent"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"accepted":{"type":"boolean"},"classification_unchanged":{"type":"boolean"},"detector_exception":{"type":"boolean"},"duplicate":{"type":"boolean"},"id":{"format":"uuid","type":"string"}},"required":["id","accepted"],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /events/ingest","tags":["events"]}},"/events/{id}":{"patch":{"operationId":"patch_events__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventEdit"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"PATCH /events/{id}"}},"/exports/{kind}":{"get":{"operationId":"get_exports__kind_","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/JsonObject"},"type":"array"}},"application/x-ndjson":{"schema":{"type":"string"}},"text/csv":{"schema":{"type":"string"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /exports/{kind}"}},"/health":{"get":{"operationId":"get_health","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /health","tags":["health"]}},"/health/ready":{"get":{"operationId":"get_health_ready","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /health/ready","tags":["health"]}},"/history/objects":{"get":{"operationId":"get_history_objects","parameters":[{"in":"query","name":"fields","schema":{"type":"string"}},{"in":"query","name":"exclude","schema":{"type":"string"}},{"in":"query","name":"include","schema":{"type":"string"}},{"in":"query","name":"missing","schema":{"type":"string"}},{"in":"query","name":"sources","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"kind","schema":{"type":"string"}},{"in":"query","name":"key","schema":{"type":"string"}},{"in":"query","name":"refresh","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_object_history"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /history/objects","tags":["history"]}},"/ip":{"get":{"operationId":"get_ip","parameters":[{"in":"query","name":"fields","schema":{"type":"string"}},{"in":"query","name":"exclude","schema":{"type":"string"}},{"in":"query","name":"include","schema":{"type":"string"}},{"in":"query","name":"missing","schema":{"type":"string"}},{"in":"query","name":"sources","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"refresh","schema":{"type":"boolean"}},{"description":"Previous meta.pagination.next_cursor, stable lexical IP order","in":"query","name":"cursor","schema":{"type":"string"}},{"description":"Allowed filter","in":"query","name":"country","schema":{"type":"string"}},{"description":"Allowed filter","in":"query","name":"continent","schema":{"type":"string"}},{"description":"Allowed filter","in":"query","name":"asn","schema":{"type":"integer"}},{"description":"Allowed filter","in":"query","name":"category","schema":{"type":"string"}},{"description":"Allowed filter","in":"query","name":"confidence_min","schema":{"type":"number"}},{"description":"Allowed filter","in":"query","name":"confidence_max","schema":{"type":"number"}},{"description":"Allowed filter","in":"query","name":"from","schema":{"type":"string"}},{"description":"Allowed filter","in":"query","name":"to","schema":{"type":"string"}},{"description":"ip or ip_desc","in":"query","name":"sort","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/IPRecord"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ip","tags":["ip"]}},"/ip/batch":{"post":{"operationId":"post_ip_batch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Batch"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/BatchResult"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /ip/batch","tags":["ip"]}},"/ip/{ip}":{"get":{"operationId":"get_ip__ip_","parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"}},{"in":"query","name":"fields","schema":{"type":"string"}},{"in":"query","name":"exclude","schema":{"type":"string"}},{"in":"query","name":"include","schema":{"type":"string"}},{"in":"query","name":"missing","schema":{"type":"string"}},{"in":"query","name":"sources","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"refresh","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/IPRecord"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ip/{ip}","tags":["ip"]}},"/ip/{ip}/history":{"get":{"operationId":"get_ip__ip__history","parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"}},{"in":"query","name":"sources","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"cursor","schema":{"type":"string"}},{"in":"query","name":"from","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"to","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"sort","schema":{"enum":["version_desc","version_asc"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_ip_history"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ip/{ip}/history","tags":["ip"]}},"/ip/{ip}/history/{version}":{"get":{"operationId":"get_ip__ip__history__version_","parameters":[{"in":"path","name":"ip","required":true,"schema":{"type":"string"}},{"in":"path","name":"version","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/Stored_ip_history"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ip/{ip}/history/{version}","tags":["ip"]}},"/jobs":{"get":{"operationId":"get_jobs","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_background_jobs"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /jobs"}},"/keys":{"get":{"operationId":"get_keys","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_api_keys"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /keys","tags":["keys"]},"post":{"operationId":"post_keys","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyInput"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"id":{"format":"uuid","type":"string"},"key":{"type":"string"},"message":{"type":"string"}},"required":["id","key"],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /keys","tags":["keys"]}},"/keys/{id}":{"delete":{"operationId":"delete_keys__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"revoked":{"type":"boolean"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"DELETE /keys/{id}","tags":["keys"]},"patch":{"operationId":"patch_keys__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyEdit"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"PATCH /keys/{id}"}},"/keys/{id}/rotate":{"post":{"operationId":"post_keys_id_rotate","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"id":{"format":"uuid","type":"string"},"key":{"type":"string"},"message":{"type":"string"}},"required":["id","key"],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"cookieAuth":[]}],"summary":"Atomically replace an active API credential without changing quotas or scopes"}},"/lists/import":{"post":{"operationId":"post_lists_import","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bulk"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /lists/import","tags":["lists"]}},"/lists/{id}":{"delete":{"operationId":"delete_lists__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"revoked":{"type":"boolean"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"DELETE /lists/{id}","tags":["lists"]},"patch":{"operationId":"patch_lists__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEdit"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"PATCH /lists/{id}"}},"/meta":{"get":{"operationId":"get_meta","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /meta","tags":["meta"]}},"/metrics":{"get":{"operationId":"get_metrics","responses":{"200":{"content":{"text/plain":{"schema":{"type":"string"}}},"description":"Prometheus exposition; administrator session required"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /metrics","tags":["metrics"]}},"/ml/drift":{"get":{"operationId":"get_ml_drift","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Result"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Scope or admin role required"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ml/drift"}},"/ml/feedback":{"post":{"operationId":"post_ml_feedback","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Feedback"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /ml/feedback","tags":["ml"]}},"/ml/model":{"get":{"operationId":"get_ml_model","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/MLStatus"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ml/model","tags":["ml"]}},"/ml/shadow/comparison":{"get":{"operationId":"get_ml_shadow_comparison","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ml/shadow/comparison","tags":["ml"]}},"/ml/shadow/status":{"get":{"operationId":"get_ml_shadow_status","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/MLStatus"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ml/shadow/status","tags":["ml"]}},"/ml/status":{"get":{"operationId":"get_ml_status","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/MLStatus"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /ml/status","tags":["ml"]}},"/notifications":{"get":{"operationId":"get_notifications","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_notifications"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /notifications","tags":["notifications"]}},"/notifications/{id}/read":{"post":{"operationId":"post_notifications__id__read","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /notifications/{id}/read","tags":["notifications"]}},"/openapi.json":{"get":{"operationId":"get_openapi_json","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"components":{"$ref":"#/components/schemas/JsonObject"},"info":{"$ref":"#/components/schemas/JsonObject"},"openapi":{"type":"string"},"paths":{"$ref":"#/components/schemas/JsonObject"}},"required":["openapi","info","paths"],"type":"object"}}},"description":"OpenAPI3.1 document"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /openapi.json","tags":["openapi.json"]}},"/policy/history":{"get":{"operationId":"get_policy_history","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_policy_history"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /policy/history","tags":["policy"]}},"/policy/history/{id}/rollback":{"post":{"operationId":"post_policy_history__id__rollback","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /policy/history/{id}/rollback","tags":["policy"]}},"/preferences":{"get":{"operationId":"get_preferences","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /preferences","tags":["preferences"]},"post":{"operationId":"post_preferences","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /preferences","tags":["preferences"]}},"/rules":{"get":{"operationId":"get_rules","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_policy_rules"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /rules","tags":["rules"]},"post":{"operationId":"post_rules","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rule"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /rules","tags":["rules"]}},"/rules/preview":{"post":{"operationId":"post_rules_preview","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rule"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /rules/preview","tags":["rules"]}},"/rules/{id}":{"delete":{"operationId":"delete_rules__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"revoked":{"type":"boolean"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"DELETE /rules/{id}","tags":["rules"]},"patch":{"operationId":"patch_rules__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rule"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"PATCH /rules/{id}","tags":["rules"]}},"/services":{"get":{"operationId":"get_services","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_service_observations"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /services","tags":["services"]}},"/sources":{"get":{"operationId":"get_sources","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"runs":{"items":{"$ref":"#/components/schemas/Stored_source_sync_runs"},"type":"array"},"sources":{"items":{"$ref":"#/components/schemas/Stored_data_sources"},"type":"array"},"versions":{"items":{"additionalProperties":true,"properties":{"added_count":{"type":"integer"},"checksum":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"removed_count":{"type":"integer"},"source_id":{"type":"string"},"version":{"type":"integer"}},"required":[],"type":"object"},"type":"array"}},"required":["sources","runs","versions"],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /sources","tags":["sources"]}},"/sources/tor/sync":{"post":{"operationId":"post_sources_tor_sync","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonObject"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /sources/tor/sync","tags":["sources"]}},"/sources/{id}/entries":{"get":{"operationId":"get_sources__id__entries","parameters":[{"in":"path","name":"id","required":true,"schema":{"format":"uuid","type":"string"}},{"in":"query","name":"fields","schema":{"type":"string"}},{"in":"query","name":"exclude","schema":{"type":"string"}},{"in":"query","name":"include","schema":{"type":"string"}},{"in":"query","name":"missing","schema":{"type":"string"}},{"in":"query","name":"sources","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"refresh","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"additionalProperties":true,"properties":{"kind":{"type":"string"},"network":{"type":"string"},"proxy_type":{"type":"string"},"source_id":{"type":"string"}},"required":[],"type":"object"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /sources/{id}/entries","tags":["sources"]}},"/sources/{id}/sync":{"post":{"operationId":"post_sources__id__sync","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /sources/{id}/sync"}},"/stats/asn":{"get":{"operationId":"get_stats_asn","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/AnalyticsRow"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /stats/asn"}},"/stats/categories":{"get":{"operationId":"get_stats_categories","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/AnalyticsRow"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /stats/categories"}},"/stats/countries":{"get":{"operationId":"get_stats_countries","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/AnalyticsRow"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /stats/countries"}},"/stats/distribution":{"get":{"operationId":"get_stats_distribution","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/AnalyticsRow"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /stats/distribution","tags":["stats"]}},"/stats/overview":{"get":{"operationId":"get_stats_overview","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /stats/overview","tags":["stats"]}},"/stats/timeseries":{"get":{"operationId":"get_stats_timeseries","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"additionalProperties":true,"properties":{"errors":{"type":"integer"},"latency_ms":{"type":"number"},"requests":{"type":"integer"},"time":{"format":"date-time","type":"string"}},"required":[],"type":"object"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /stats/timeseries","tags":["stats"]}},"/status/summary":{"get":{"operationId":"get_status_summary","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/StatusSummary"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /status/summary","tags":["status"]}},"/tor/entries":{"get":{"operationId":"get_tor_entries","parameters":[{"in":"query","name":"fields","schema":{"type":"string"}},{"in":"query","name":"exclude","schema":{"type":"string"}},{"in":"query","name":"include","schema":{"type":"string"}},{"in":"query","name":"missing","schema":{"type":"string"}},{"in":"query","name":"sources","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}},{"in":"query","name":"offset","schema":{"type":"integer"}},{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"refresh","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_tor_entries"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /tor/entries","tags":["tor"]}},"/tor/status":{"get":{"operationId":"get_tor_status","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /tor/status","tags":["tor"]}},"/webhooks":{"get":{"operationId":"get_webhooks","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_webhook_targets"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /webhooks"},"post":{"operationId":"post_webhooks","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"id":{"format":"uuid","type":"string"},"message":{"type":"string"},"secret":{"type":"string"},"url":{"type":"string"}},"required":["id","secret"],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /webhooks"}},"/webhooks/{id}":{"delete":{"operationId":"delete_webhooks__id_","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"properties":{"data":{"additionalProperties":true,"properties":{"deleted":{"type":"boolean"},"revoked":{"type":"boolean"}},"required":[],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"DELETE /webhooks/{id}"}},"/webhooks/{id}/deliveries":{"get":{"operationId":"get_webhooks__id__deliveries","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Stored_webhook_deliveries"},"type":"array"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"GET /webhooks/{id}/deliveries"}},"/webhooks/{id}/rotate":{"post":{"operationId":"post_webhooks__id__rotate","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"properties":{"secret":{"type":"string"}},"required":["secret"],"type":"object"},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["data","meta"],"type":"object"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /webhooks/{id}/rotate"}},"/webhooks/{id}/test":{"post":{"operationId":"post_webhooks__id__test","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"400 error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"401 error"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"403 error"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"404 error"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"409 error"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"413 error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"415 error"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"422 error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"429 error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"503 error"}},"security":[{"bearerAuth":[]},{"cookieAuth":[]}],"summary":"POST /webhooks/{id}/test"}}},"servers":[{"url":"https://api.zov.lat/v1"},{"url":"https://zov.lat/v1"}]}