{"openapi":"3.1.0","info":{"title":"Validate Agent","description":"Validation & sanitization micro-service for the agent economy. Validates emails, URLs, UUIDs, phones, JSON Schema, SQL syntax. Sanitizes HTML/XSS, detects prompt injections and PII.","version":"0.7.0"},"paths":{"/health":{"get":{"summary":"Health","description":"Health check with DB connectivity verification — required for Cloud Run.\nReturns 503 during graceful shutdown so the load balancer stops routing traffic.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent-card.json":{"get":{"summary":"Agent Card","description":"A2A agent card (legacy path).","operationId":"agent_card__well_known_agent_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent.json":{"get":{"summary":"Agent Card A2A","description":"A2A agent card (IANA-registered path).","operationId":"agent_card_a2a__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/messages/send":{"post":{"summary":"A2A Messages Send","description":"A2A protocol messages/send endpoint.\n\nAccepts a JSON-RPC 2.0 request, routes to the appropriate skill handler,\nand returns a JSON-RPC 2.0 response wrapping the result.","operationId":"a2a_messages_send_messages_send_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/a2a":{"post":{"summary":"A2A Messages Send","description":"A2A protocol messages/send endpoint.\n\nAccepts a JSON-RPC 2.0 request, routes to the appropriate skill handler,\nand returns a JSON-RPC 2.0 response wrapping the result.","operationId":"a2a_messages_send_api_a2a_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/usage":{"get":{"summary":"Get Usage","description":"Check current usage for the calling agent.","operationId":"get_usage_api_v1_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/security/status":{"get":{"summary":"Security Status","description":"Check security status for the calling agent (admin/debug).","operationId":"security_status_api_v1_security_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/debug/reset":{"post":{"summary":"Debug Reset","description":"Reset ALL usage counters, rate limiters, and security monitor state.\n\nOnly available when running locally (non-production). Used by exploit test suite\nto ensure each test run starts from a completely clean state.\nClears data for ALL agents, not just the calling agent.","operationId":"debug_reset_api_v1_debug_reset_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/validate/simple":{"post":{"summary":"Api Simple Validate","description":"Validate a single value (email, URL, UUID, phone, IPv4).","operationId":"api_simple_validate_api_v1_validate_simple_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/batch":{"post":{"summary":"Api Batch Validate","description":"Validate multiple values in a single request.\n\nBatch trial: First 10 batch requests per agent count as 1 credit each\n(regardless of item count). After 10, per-item billing resumes.","operationId":"api_batch_validate_api_v1_validate_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/json-schema":{"post":{"summary":"Api Json Schema Validate","description":"Validate data against a JSON Schema.","operationId":"api_json_schema_validate_api_v1_validate_json_schema_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonSchemaValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/sql":{"post":{"summary":"Api Sql Validate","description":"Validate SQL syntax and detect injection patterns.","operationId":"api_sql_validate_api_v1_validate_sql_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SqlValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sanitize/html":{"post":{"summary":"Api Html Sanitize","description":"Sanitize HTML content, removing XSS vectors.","operationId":"api_html_sanitize_api_v1_sanitize_html_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HtmlSanitizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detect/prompt-injection":{"post":{"summary":"Api Prompt Injection","description":"Detect prompt injection patterns in text.","operationId":"api_prompt_injection_api_v1_detect_prompt_injection_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptInjectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detect/pii":{"post":{"summary":"Api Pii Detect","description":"Detect and optionally redact PII in text.","operationId":"api_pii_detect_api_v1_detect_pii_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PiiRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detect/pii/deep":{"post":{"summary":"Api Pii Deep Detect","description":"Deep PII scan: lower threshold (0.2), contextual patterns run unconditionally, per-detection spans.\nPremium endpoint for compliance-heavy workloads that need maximum recall.","operationId":"api_pii_deep_detect_api_v1_detect_pii_deep_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PiiDeepRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/ip-geo":{"post":{"summary":"Api Ip Geo","description":"Validate IP address and look up geo-reputation and sanctions status.","operationId":"api_ip_geo_api_v1_validate_ip_geo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpGeoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detect/secrets":{"post":{"summary":"Api Secret Sweep","description":"Scan text for secrets, API keys, tokens, and credentials.","operationId":"api_secret_sweep_api_v1_detect_secrets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretSweepRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair/text":{"post":{"summary":"Api Repair Text","description":"Repair broken JSON or markdown table formatting.","operationId":"api_repair_text_api_v1_repair_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/web-assets":{"post":{"summary":"Api Web Assets","description":"Validate URLs and markdown link formatting in text.","operationId":"api_web_assets_api_v1_validate_web_assets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAssetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detect/language-toxicity":{"post":{"summary":"Api Language Toxicity","description":"Detect language and check for toxicity in text.","operationId":"api_language_toxicity_api_v1_detect_language_toxicity_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageToxicityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/normalize/datetime":{"post":{"summary":"Api Normalize Datetime","description":"Normalize a raw date/time string to UTC ISO-8601.","operationId":"api_normalize_datetime_api_v1_normalize_datetime_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatetimeNormalizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/file-signature":{"post":{"summary":"Api File Signature","description":"Detect file type from leading hex bytes (magic number).","operationId":"api_file_signature_api_v1_validate_file_signature_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileSignatureRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/synthesize/json-schema":{"post":{"summary":"Api Synthesize Json Schema","description":"Generate a JSON Schema from sample objects.","operationId":"api_synthesize_json_schema_api_v1_synthesize_json_schema_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonSchemaSynthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/sql-cost":{"post":{"summary":"Api Sql Cost","description":"Profile SQL for performance anti-patterns and compute risk score.","operationId":"api_sql_cost_api_v1_validate_sql_cost_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SqlCostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/validate/regex":{"post":{"summary":"Api Validate Regex","description":"Validate a regex pattern for safety (ReDoS), correctness, and optionally test it.","operationId":"api_validate_regex_api_v1_validate_regex_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegexValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/scan/static":{"post":{"summary":"Api Scan Static","description":"Regex-based malicious string & secret detection in source code.","operationId":"api_scan_static_api_v1_scan_static_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaticScanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/tool-chain":{"post":{"summary":"Api Audit Tool Chain","description":"AST analysis of dangerous source-to-sink tool chains.","operationId":"api_audit_tool_chain_api_v1_audit_tool_chain_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolChainAuditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/probe/adversarial":{"post":{"summary":"Api Probe Adversarial","description":"Honeytoken canary leak detection in execution logs.","operationId":"api_probe_adversarial_api_v1_probe_adversarial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdversarialProbeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"402":{"description":"Payment required — free tier exhausted. Payment-Signature header needed (x402/USDC on Base)."},"429":{"description":"Rate limit exceeded — max 120 requests per 60s."},"403":{"description":"Access blocked — agent temporarily blocked due to suspicious activity."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/detect/pii":{"post":{"tags":["marketplace"],"summary":"Detect PII (marketplace)","description":"Detect and optionally redact PII in text. Payment handled by marketplace.","operationId":"marketplace_pii_detect_marketplace_v1_detect_pii_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplacePiiRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/detect/prompt-injection":{"post":{"tags":["marketplace"],"summary":"Detect prompt injection (marketplace)","description":"Detect prompt injection patterns in text. Payment handled by marketplace.","operationId":"marketplace_prompt_injection_marketplace_v1_detect_prompt_injection_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplacePromptInjectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/sanitize/html":{"post":{"tags":["marketplace"],"summary":"Sanitize HTML (marketplace)","description":"Sanitize HTML content, removing XSS vectors. Payment handled by marketplace.","operationId":"marketplace_html_sanitize_marketplace_v1_sanitize_html_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceHtmlSanitizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/validate/sql":{"post":{"tags":["marketplace"],"summary":"Validate SQL (marketplace)","description":"Validate SQL syntax and detect injection patterns. Payment handled by marketplace.","operationId":"marketplace_sql_validate_marketplace_v1_validate_sql_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceSqlValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/validate/simple":{"post":{"tags":["marketplace"],"summary":"Validate value (marketplace)","description":"Validate a single value (email, URL, UUID, phone, IPv4). Payment handled by marketplace.","operationId":"marketplace_simple_validate_marketplace_v1_validate_simple_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/validate/ip-geo":{"post":{"tags":["marketplace"],"summary":"IP geo-reputation (marketplace)","description":"Validate IP and check geo-reputation/sanctions. Payment handled by marketplace.","operationId":"marketplace_ip_geo_marketplace_v1_validate_ip_geo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceIpGeoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/detect/secrets":{"post":{"tags":["marketplace"],"summary":"Secret sweeping (marketplace)","description":"Scan text for secrets and credentials. Payment handled by marketplace.","operationId":"marketplace_secret_sweep_marketplace_v1_detect_secrets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceSecretSweepRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/repair/text":{"post":{"tags":["marketplace"],"summary":"JSON/Markdown repair (marketplace)","description":"Repair broken JSON or markdown tables. Payment handled by marketplace.","operationId":"marketplace_repair_text_marketplace_v1_repair_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceRepairRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/validate/web-assets":{"post":{"tags":["marketplace"],"summary":"Web asset validation (marketplace)","description":"Validate URLs and markdown link formatting. Payment handled by marketplace.","operationId":"marketplace_web_assets_marketplace_v1_validate_web_assets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceWebAssetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/detect/language-toxicity":{"post":{"tags":["marketplace"],"summary":"Language & toxicity triage (marketplace)","description":"Detect language and check for toxicity. Payment handled by marketplace.","operationId":"marketplace_language_toxicity_marketplace_v1_detect_language_toxicity_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceLanguageToxicityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/normalize/datetime":{"post":{"tags":["marketplace"],"summary":"Temporal normalizer (marketplace)","description":"Normalize date/time strings to UTC ISO-8601. Payment handled by marketplace.","operationId":"marketplace_normalize_datetime_marketplace_v1_normalize_datetime_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceDatetimeNormalizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/validate/file-signature":{"post":{"tags":["marketplace"],"summary":"File signature detection (marketplace)","description":"Detect file type from magic bytes. Payment handled by marketplace.","operationId":"marketplace_file_signature_marketplace_v1_validate_file_signature_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceFileSignatureRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/synthesize/json-schema":{"post":{"tags":["marketplace"],"summary":"Schema synthesizer (marketplace)","description":"Infer JSON Schema from sample objects. Payment handled by marketplace.","operationId":"marketplace_synthesize_json_schema_marketplace_v1_synthesize_json_schema_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceJsonSchemaSynthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/validate/sql-cost":{"post":{"tags":["marketplace"],"summary":"SQL cost profiler (marketplace)","description":"Profile SQL for anti-patterns and risk. Payment handled by marketplace.","operationId":"marketplace_sql_cost_marketplace_v1_validate_sql_cost_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceSqlCostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/validate/regex":{"post":{"tags":["marketplace"],"summary":"Regex safety linter (marketplace)","description":"Validate regex patterns for safety and correctness. Payment handled by marketplace.","operationId":"marketplace_validate_regex_marketplace_v1_validate_regex_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceRegexValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/scan/static":{"post":{"tags":["marketplace"],"summary":"Static security scan (marketplace)","description":"Regex-based malicious string detection. Payment handled by marketplace.","operationId":"marketplace_scan_static_marketplace_v1_scan_static_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceStaticScanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/audit/tool-chain":{"post":{"tags":["marketplace"],"summary":"Tool chain audit (marketplace)","description":"AST analysis of dangerous tool chains. Payment handled by marketplace.","operationId":"marketplace_audit_tool_chain_marketplace_v1_audit_tool_chain_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceToolChainAuditRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/marketplace/v1/probe/adversarial":{"post":{"tags":["marketplace"],"summary":"Adversarial probe (marketplace)","description":"Honeytoken canary leak detection. Payment handled by marketplace.","operationId":"marketplace_probe_adversarial_marketplace_v1_probe_adversarial_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceAdversarialProbeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/monitoring/accuracy":{"get":{"summary":"Api Monitoring Accuracy","description":"Get per-validator accuracy metrics with differential privacy noise applied.","operationId":"api_monitoring_accuracy_api_v1_monitoring_accuracy_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Hours"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback":{"post":{"summary":"Api Feedback","description":"Submit a correction report (fingerprint-based, never raw input).","operationId":"api_feedback_api_v1_feedback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/rollback":{"post":{"summary":"Api Admin Rollback","description":"Rollback pattern config to a previous version. Admin-token-gated.","operationId":"api_admin_rollback_api_v1_admin_rollback_post","parameters":[{"name":"steps","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Steps"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/block":{"post":{"summary":"Api Admin Block","description":"Manually block an agent. Admin-token-gated.","operationId":"api_admin_block_api_v1_admin_block_post","parameters":[{"name":"agent_id","in":"query","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"duration_seconds","in":"query","required":false,"schema":{"type":"integer","default":3600,"title":"Duration Seconds"}},{"name":"reason","in":"query","required":false,"schema":{"type":"string","default":"manual","title":"Reason"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/unblock":{"post":{"summary":"Api Admin Unblock","description":"Manually unblock an agent. Admin-token-gated.","operationId":"api_admin_unblock_api_v1_admin_unblock_post","parameters":[{"name":"agent_id","in":"query","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"reset_escalation","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Reset Escalation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/blocks":{"get":{"summary":"Api Admin Blocks","description":"List all active security blocks. Admin-token-gated.","operationId":"api_admin_blocks_api_v1_admin_blocks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/circuit-breaker":{"post":{"summary":"Api Admin Circuit Breaker","description":"Toggle circuit breaker (global kill switch). Admin-token-gated.","operationId":"api_admin_circuit_breaker_api_v1_admin_circuit_breaker_post","parameters":[{"name":"open","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Open"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/audit-log":{"get":{"summary":"Api Admin Audit Log","description":"Query audit log entries. Admin-token-gated.","operationId":"api_admin_audit_log_api_v1_admin_audit_log_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/metrics":{"get":{"summary":"Api Admin Metrics","description":"Get global metrics. Admin-token-gated.","operationId":"api_admin_metrics_api_v1_admin_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin":{"get":{"summary":"Admin Dashboard","description":"Serve the admin dashboard HTML page.","operationId":"admin_dashboard_admin_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AdversarialProbeRequest":{"properties":{"execution_log":{"type":"string","maxLength":500000,"minLength":1,"title":"Execution Log","description":"Execution log to scan for canary leaks"},"canary_token":{"type":"string","maxLength":256,"minLength":8,"title":"Canary Token","description":"Canary token to search for"}},"additionalProperties":false,"type":"object","required":["execution_log","canary_token"],"title":"AdversarialProbeRequest"},"BatchValidateItem":{"properties":{"value":{"type":"string","maxLength":10000,"minLength":1,"title":"Value","description":"The value to validate"},"type":{"type":"string","pattern":"^(email|url|uuid|phone|ipv4)$","title":"Type","description":"Validation type: email, url, uuid, phone, ipv4"}},"additionalProperties":false,"type":"object","required":["value","type"],"title":"BatchValidateItem"},"BatchValidateRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BatchValidateItem"},"type":"array","maxItems":1000,"minItems":1,"title":"Items","description":"List of items to validate"}},"additionalProperties":false,"type":"object","required":["items"],"title":"BatchValidateRequest"},"DatetimeNormalizeRequest":{"properties":{"raw":{"type":"string","maxLength":500,"minLength":1,"title":"Raw","description":"Raw date/time string to normalize"},"timezone_hint":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Timezone Hint","description":"IANA timezone hint (e.g. 'US/Eastern')"},"format_hint":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Format Hint","description":"strptime format string (e.g. '%Y-%m-%d')"}},"additionalProperties":false,"type":"object","required":["raw"],"title":"DatetimeNormalizeRequest"},"FeedbackRequest":{"properties":{"fingerprint":{"type":"string","maxLength":64,"minLength":1,"title":"Fingerprint","description":"Structural fingerprint of the input (from validation response)"},"validator":{"type":"string","pattern":"^(email|url|uuid|phone|ipv4|html|prompt_injection|pii)$","title":"Validator","description":"Validator type"},"expected_outcome":{"type":"string","pattern":"^(valid|invalid)$","title":"Expected Outcome","description":"What the correct outcome should have been: 'valid' or 'invalid'"}},"additionalProperties":false,"type":"object","required":["fingerprint","validator","expected_outcome"],"title":"FeedbackRequest"},"FileSignatureRequest":{"properties":{"hex_bytes":{"type":"string","maxLength":512,"minLength":2,"pattern":"^[0-9a-fA-F\\s]+$","title":"Hex Bytes","description":"Hex string of leading file bytes"}},"additionalProperties":false,"type":"object","required":["hex_bytes"],"title":"FileSignatureRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HtmlSanitizeRequest":{"properties":{"content":{"type":"string","maxLength":500000,"minLength":1,"title":"Content","description":"HTML content to sanitize"}},"additionalProperties":false,"type":"object","required":["content"],"title":"HtmlSanitizeRequest"},"IpGeoRequest":{"properties":{"ip":{"type":"string","maxLength":100,"minLength":1,"title":"Ip","description":"IP address to validate and look up"}},"additionalProperties":false,"type":"object","required":["ip"],"title":"IpGeoRequest"},"JsonSchemaSynthRequest":{"properties":{"objects":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":100,"minItems":1,"title":"Objects","description":"Sample JSON objects to infer schema from"}},"additionalProperties":false,"type":"object","required":["objects"],"title":"JsonSchemaSynthRequest"},"JsonSchemaValidateRequest":{"properties":{"data":{"title":"Data","description":"The data to validate against the schema"},"schema":{"additionalProperties":true,"type":"object","title":"Schema","description":"JSON Schema to validate against"},"draft":{"type":"string","title":"Draft","description":"JSON Schema draft version: 4, 6, 7, 2019-09, 2020-12","default":"2020-12"}},"additionalProperties":false,"type":"object","required":["data","schema"],"title":"JsonSchemaValidateRequest"},"LanguageToxicityRequest":{"properties":{"text":{"type":"string","maxLength":100000,"minLength":1,"title":"Text","description":"Text to analyze for language and toxicity"},"supported_languages":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Supported Languages","description":"List of supported language codes (null = use config default)"}},"additionalProperties":false,"type":"object","required":["text"],"title":"LanguageToxicityRequest"},"MarketplaceAdversarialProbeRequest":{"properties":{"execution_log":{"type":"string","maxLength":50000,"minLength":1,"title":"Execution Log","description":"Execution log to scan"},"canary_token":{"type":"string","maxLength":256,"minLength":8,"title":"Canary Token","description":"Canary token"}},"additionalProperties":false,"type":"object","required":["execution_log","canary_token"],"title":"MarketplaceAdversarialProbeRequest"},"MarketplaceDatetimeNormalizeRequest":{"properties":{"raw":{"type":"string","maxLength":200,"minLength":1,"title":"Raw","description":"Raw date/time string to normalize"},"timezone_hint":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Timezone Hint","description":"IANA timezone hint"},"format_hint":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Format Hint","description":"strptime format string"}},"additionalProperties":false,"type":"object","required":["raw"],"title":"MarketplaceDatetimeNormalizeRequest"},"MarketplaceFileSignatureRequest":{"properties":{"hex_bytes":{"type":"string","maxLength":512,"minLength":2,"pattern":"^[0-9a-fA-F\\s]+$","title":"Hex Bytes","description":"Hex string of leading file bytes"}},"additionalProperties":false,"type":"object","required":["hex_bytes"],"title":"MarketplaceFileSignatureRequest"},"MarketplaceHtmlSanitizeRequest":{"properties":{"content":{"type":"string","maxLength":10000,"minLength":1,"title":"Content","description":"HTML content to sanitize"}},"additionalProperties":false,"type":"object","required":["content"],"title":"MarketplaceHtmlSanitizeRequest"},"MarketplaceIpGeoRequest":{"properties":{"ip":{"type":"string","maxLength":100,"minLength":1,"title":"Ip","description":"IP address to validate and look up"}},"additionalProperties":false,"type":"object","required":["ip"],"title":"MarketplaceIpGeoRequest"},"MarketplaceJsonSchemaSynthRequest":{"properties":{"objects":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":20,"minItems":1,"title":"Objects","description":"Sample JSON objects to infer schema from"}},"additionalProperties":false,"type":"object","required":["objects"],"title":"MarketplaceJsonSchemaSynthRequest"},"MarketplaceLanguageToxicityRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text to analyze for language and toxicity"},"supported_languages":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Supported Languages","description":"List of supported language codes (null = use config default)"}},"additionalProperties":false,"type":"object","required":["text"],"title":"MarketplaceLanguageToxicityRequest"},"MarketplacePiiRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text to scan for PII"},"redact":{"type":"boolean","title":"Redact","description":"Whether to return redacted text","default":true},"language":{"type":"string","title":"Language","description":"Language for NER-based PII detection","default":"en"},"score_threshold":{"type":"number","title":"Score Threshold","description":"Minimum confidence score for PII detections (0.0-1.0)","default":0.5}},"additionalProperties":false,"type":"object","required":["text"],"title":"MarketplacePiiRequest"},"MarketplacePromptInjectionRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text to analyze for prompt injection"},"verbose":{"type":"boolean","title":"Verbose","description":"Include matched pattern labels (default false for security)","default":false},"deep_scan":{"type":"boolean","title":"Deep Scan","description":"Enable deep scan layers (base64 decode, chat tokens, etc.)","default":true}},"additionalProperties":false,"type":"object","required":["text"],"title":"MarketplacePromptInjectionRequest"},"MarketplaceRegexValidateRequest":{"properties":{"pattern":{"type":"string","maxLength":200,"minLength":1,"title":"Pattern","description":"Regex pattern to validate"},"test_string":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Test String","description":"Optional test string"}},"additionalProperties":false,"type":"object","required":["pattern"],"title":"MarketplaceRegexValidateRequest"},"MarketplaceRepairRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"JSON or markdown text to repair"},"mode":{"type":"string","pattern":"^(auto|json|markdown)$","title":"Mode","description":"Repair mode: auto, json, or markdown","default":"auto"}},"additionalProperties":false,"type":"object","required":["text"],"title":"MarketplaceRepairRequest"},"MarketplaceSecretSweepRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text to scan for secrets and credentials"},"redact":{"type":"boolean","title":"Redact","description":"Whether to return redacted text","default":true}},"additionalProperties":false,"type":"object","required":["text"],"title":"MarketplaceSecretSweepRequest"},"MarketplaceSqlCostRequest":{"properties":{"sql":{"type":"string","maxLength":5000,"minLength":1,"title":"Sql","description":"SQL statement to profile"},"dialect":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dialect","description":"SQL dialect"}},"additionalProperties":false,"type":"object","required":["sql"],"title":"MarketplaceSqlCostRequest"},"MarketplaceSqlValidateRequest":{"properties":{"sql":{"type":"string","maxLength":5000,"minLength":1,"title":"Sql","description":"SQL statement to validate"},"dialect":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dialect","description":"SQL dialect: mysql, postgres, sqlite, bigquery, etc."}},"additionalProperties":false,"type":"object","required":["sql"],"title":"MarketplaceSqlValidateRequest"},"MarketplaceStaticScanRequest":{"properties":{"source":{"type":"string","maxLength":100000,"minLength":1,"title":"Source","description":"Source code to scan"},"patterns":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":100},{"type":"null"}],"title":"Patterns","description":"Custom regex patterns"}},"additionalProperties":false,"type":"object","required":["source"],"title":"MarketplaceStaticScanRequest"},"MarketplaceToolChainAuditRequest":{"properties":{"source":{"type":"string","maxLength":50000,"minLength":1,"title":"Source","description":"Source code to audit"},"language":{"type":"string","pattern":"^(python|nodejs|javascript|js)$","title":"Language","description":"Source language","default":"python"},"tools":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":20},{"type":"null"}],"title":"Tools","description":"Tool list"}},"additionalProperties":false,"type":"object","required":["source"],"title":"MarketplaceToolChainAuditRequest"},"MarketplaceWebAssetRequest":{"properties":{"text":{"type":"string","maxLength":10000,"minLength":1,"title":"Text","description":"Text containing URLs/links to validate"}},"additionalProperties":false,"type":"object","required":["text"],"title":"MarketplaceWebAssetRequest"},"PiiDeepRequest":{"properties":{"text":{"type":"string","maxLength":500000,"minLength":1,"title":"Text","description":"Text to deep-scan for PII (lower threshold, max recall)"},"redact":{"type":"boolean","title":"Redact","description":"Whether to return redacted text","default":true},"language":{"type":"string","title":"Language","description":"Language for NER-based PII detection","default":"en"}},"additionalProperties":false,"type":"object","required":["text"],"title":"PiiDeepRequest"},"PiiRequest":{"properties":{"text":{"type":"string","maxLength":500000,"minLength":1,"title":"Text","description":"Text to scan for PII"},"redact":{"type":"boolean","title":"Redact","description":"Whether to return redacted text","default":true},"language":{"type":"string","title":"Language","description":"Language for NER-based PII detection","default":"en"},"score_threshold":{"type":"number","title":"Score Threshold","description":"Minimum confidence score for PII detections (0.0-1.0)","default":0.5}},"additionalProperties":false,"type":"object","required":["text"],"title":"PiiRequest"},"PromptInjectionRequest":{"properties":{"text":{"type":"string","maxLength":100000,"minLength":1,"title":"Text","description":"Text to analyze for prompt injection"},"verbose":{"type":"boolean","title":"Verbose","description":"Include matched pattern labels (default false for security)","default":false},"deep_scan":{"type":"boolean","title":"Deep Scan","description":"Enable deep scan layers (base64 decode, chat tokens, etc.)","default":true}},"additionalProperties":false,"type":"object","required":["text"],"title":"PromptInjectionRequest"},"RegexValidateRequest":{"properties":{"pattern":{"type":"string","maxLength":200,"minLength":1,"title":"Pattern","description":"Regex pattern to validate"},"test_string":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Test String","description":"Optional string to test the pattern against"}},"additionalProperties":false,"type":"object","required":["pattern"],"title":"RegexValidateRequest"},"RepairRequest":{"properties":{"text":{"type":"string","maxLength":100000,"minLength":1,"title":"Text","description":"JSON or markdown text to repair"},"mode":{"type":"string","pattern":"^(auto|json|markdown)$","title":"Mode","description":"Repair mode: auto, json, or markdown","default":"auto"}},"additionalProperties":false,"type":"object","required":["text"],"title":"RepairRequest"},"SecretSweepRequest":{"properties":{"text":{"type":"string","maxLength":100000,"minLength":1,"title":"Text","description":"Text to scan for secrets and credentials"},"redact":{"type":"boolean","title":"Redact","description":"Whether to return redacted text","default":true}},"additionalProperties":false,"type":"object","required":["text"],"title":"SecretSweepRequest"},"SimpleValidateRequest":{"properties":{"value":{"type":"string","maxLength":10000,"minLength":1,"title":"Value","description":"The value to validate"},"type":{"type":"string","pattern":"^(email|url|uuid|phone|ipv4)$","title":"Type","description":"Validation type: email, url, uuid, phone, ipv4"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region","description":"Default region for phone validation (ISO 3166-1 alpha-2, e.g. 'US')"}},"additionalProperties":false,"type":"object","required":["value","type"],"title":"SimpleValidateRequest"},"SqlCostRequest":{"properties":{"sql":{"type":"string","maxLength":50000,"minLength":1,"title":"Sql","description":"SQL statement to profile for cost/anti-patterns"},"dialect":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dialect","description":"SQL dialect: mysql, postgres, sqlite, bigquery, etc."}},"additionalProperties":false,"type":"object","required":["sql"],"title":"SqlCostRequest"},"SqlValidateRequest":{"properties":{"sql":{"type":"string","maxLength":50000,"minLength":1,"title":"Sql","description":"SQL statement to validate"},"dialect":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dialect","description":"SQL dialect: mysql, postgres, sqlite, bigquery, etc."}},"additionalProperties":false,"type":"object","required":["sql"],"title":"SqlValidateRequest"},"StaticScanRequest":{"properties":{"source":{"type":"string","maxLength":1000000,"minLength":1,"title":"Source","description":"Source code to scan for malicious patterns"},"patterns":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":1000},{"type":"null"}],"title":"Patterns","description":"Custom regex patterns to scan for"}},"additionalProperties":false,"type":"object","required":["source"],"title":"StaticScanRequest"},"ToolChainAuditRequest":{"properties":{"source":{"type":"string","maxLength":500000,"minLength":1,"title":"Source","description":"Source code to audit for dangerous tool chains"},"language":{"type":"string","pattern":"^(python|nodejs|javascript|js)$","title":"Language","description":"Source language: python or nodejs","default":"python"},"tools":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50},{"type":"null"}],"title":"Tools","description":"Explicit tool list with name and type fields"}},"additionalProperties":false,"type":"object","required":["source"],"title":"ToolChainAuditRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebAssetRequest":{"properties":{"text":{"type":"string","maxLength":100000,"minLength":1,"title":"Text","description":"Text containing URLs/links to validate"}},"additionalProperties":false,"type":"object","required":["text"],"title":"WebAssetRequest"}}}}