{"openapi":"3.1.0","info":{"title":"Mifori CertAgent API","description":"Real-time latency, accuracy, and quality verification oracle for autonomous agents. Powered by HTTP 402 (x402) USDC micropayments on Base Mainnet.","version":"1.0.0"},"paths":{"/v1/health":{"get":{"tags":["System"],"summary":"Health Check","description":"Retorna el estado operativo del oráculo Mifori CertAgent.","operationId":"health_check_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Check V1 Health Get"}}}}}}},"/v1/verify":{"post":{"tags":["Verification Oracle"],"summary":"Verify Agent Endpoint","description":"Verifica un agente autónomo en tiempo real.\n- Valida primero que `target_bot_url` sea público y seguro (Anti-SSRF).\n- Si NO incluye `X-PAYMENT-PROOF` o `Authorization`, responde con HTTP `402 Payment Required`.\n- Si incluye un `reward_token` (`mfr_fbk_...`), verifica que sea válido y de uso único (fail-closed).\n- Si incluye un hash de transacción `0x...`, verifica formato hexadecimal de 66 caracteres y protección Anti-Replay.","operationId":"verify_agent_endpoint_v1_verify_post","parameters":[{"name":"X-PAYMENT-PROOF","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Payment-Proof"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyBotRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify/{certificate_id}":{"get":{"tags":["Verification Oracle"],"summary":"Get Certificate Verification Endpoint","description":"Verifica criptográficamente un certificado emitido previamente por su `certificate_id` (eval_id).\nPermite a terceros y agentes autónomos validar el estado e integridad de la firma HMAC-SHA256.","operationId":"get_certificate_verification_endpoint_v1_verify__certificate_id__get","parameters":[{"name":"certificate_id","in":"path","required":true,"schema":{"type":"string","title":"Certificate Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Certificate Verification Endpoint V1 Verify  Certificate Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feedback":{"post":{"tags":["Telemetry & Governance"],"summary":"Submit Agent Feedback","description":"Recibe disputas o telemetría de otros agentes autónomos para calibrar los algoritmos\nde evaluación y otorga un token criptográfico de respuesta/recompensa (1 free audit credit).\nProtegido con rate-limiting por IP y límites de tamaño de payload.","operationId":"submit_agent_feedback_v1_feedback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Submit Agent Feedback V1 Feedback Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/leaderboard":{"get":{"tags":["Telemetry & Governance"],"summary":"Get Leaderboard Endpoint","description":"Devuelve los agentes auditados desde PostgreSQL ordenados por `synthetic_iq` (DESC)\ny `latency_ms` (ASC), deduplicados en SQL por `target_bot_url` y paginados.","operationId":"get_leaderboard_endpoint_v1_leaderboard_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number (1-indexed)","default":1,"title":"Page"},"description":"Page number (1-indexed)"},{"name":"page_size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":1},{"type":"null"}],"description":"Items per page","title":"Page Size"},"description":"Items per page"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Legacy limit parameter","default":25,"title":"Limit"},"description":"Legacy limit parameter"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Legacy offset parameter","default":0,"title":"Offset"},"description":"Legacy offset parameter"},{"name":"tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"description":"Filter by reliability tier (AAA, AA, REJECTED)","title":"Tier"},"description":"Filter by reliability tier (AAA, AA, REJECTED)"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"description":"Search by target_bot_url, agent_id, or eval_id","title":"Q"},"description":"Search by target_bot_url, agent_id, or eval_id"},{"name":"envelope","in":"query","required":false,"schema":{"type":"boolean","description":"When true, returns {items, total, page, page_size, total_pages}","default":false,"title":"Envelope"},"description":"When true, returns {items, total, page, page_size, total_pages}"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Leaderboard Endpoint V1 Leaderboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stats":{"get":{"tags":["Telemetry & Governance"],"summary":"Get Stats Endpoint","description":"Devuelve las métricas globales agregadas en tiempo real desde PostgreSQL:\n- total_audits_count\n- avg_latency_ms\n- global_pass_rate","operationId":"get_stats_endpoint_v1_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Stats Endpoint V1 Stats Get"}}}}}}},"/v1/demo-agent":{"post":{"tags":["Reference Agent"],"summary":"Reference Demo Agent","description":"Agente autónomo de referencia de Mifori. Resuelve en tiempo real los desafíos\nmatemáticos/lógicos del oráculo (con motor determinista rápido + fallback GPT-4o-mini\nprotegido contra ataques Denial-of-Wallet).","operationId":"reference_demo_agent_v1_demo_agent_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Reference Demo Agent V1 Demo Agent Post"}}}}}}},"/v1/cron/auto-verify":{"post":{"tags":["System"],"summary":"Cron Auto Verify Endpoint","description":"Ejecuta un ciclo rotativo de auto-verificación en vivo sobre agentes de referencia,\nservidores MCP públicos y agentes previamente verificados (AAA/AA) en el Leaderboard.\nDiseñado para ser invocado por GitHub Actions Cron, Vercel Cron o monitores externos.","operationId":"cron_auto_verify_endpoint_v1_cron_auto_verify_post","parameters":[{"name":"batch_size","in":"query","required":false,"schema":{"type":"integer","maximum":4,"minimum":1,"description":"Number of agents to re-verify in this batch","default":2,"title":"Batch Size"},"description":"Number of agents to re-verify in this batch"},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Bypass cooldown when authorized","default":false,"title":"Force"},"description":"Bypass cooldown when authorized"},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cron Auto Verify Endpoint V1 Cron Auto Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["System"],"summary":"Cron Auto Verify Endpoint","description":"Ejecuta un ciclo rotativo de auto-verificación en vivo sobre agentes de referencia,\nservidores MCP públicos y agentes previamente verificados (AAA/AA) en el Leaderboard.\nDiseñado para ser invocado por GitHub Actions Cron, Vercel Cron o monitores externos.","operationId":"cron_auto_verify_endpoint_v1_cron_auto_verify_post","parameters":[{"name":"batch_size","in":"query","required":false,"schema":{"type":"integer","maximum":4,"minimum":1,"description":"Number of agents to re-verify in this batch","default":2,"title":"Batch Size"},"description":"Number of agents to re-verify in this batch"},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Bypass cooldown when authorized","default":false,"title":"Force"},"description":"Bypass cooldown when authorized"},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cron Auto Verify Endpoint V1 Cron Auto Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mcp":{"get":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_v1_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_v1_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_v1_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_v1_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_v1_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp":{"get":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp.json":{"get":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/mcp/server-card.json":{"get":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"options":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"head":{"tags":["M2M Discovery"],"summary":"Mcp Streamable Http Endpoint","description":"Endpoint MCP Streamable HTTP (JSON-RPC 2.0) y Static Server Card (SEP-1649)\ncompatible con Smithery.ai, Glama.ai y clientes MCP.\nSoporta `initialize`, `tools/list`, `tools/call`, `resources/list`, `resources/read`,\n`prompts/list`, `prompts/get` y `ping`.","operationId":"mcp_streamable_http_endpoint__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"tags":["M2M Discovery"],"summary":"Serve Llms Txt","description":"Sirve la documentación M2M en texto plano para descubrimiento autónomo por LLMs.","operationId":"serve_llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/.well-known/agent.json":{"get":{"tags":["M2M Discovery"],"summary":"Serve A2A Agent Card","description":"Sirve el manifiesto Agent-to-Agent (A2A Agent Card) en /.well-known/agent.json\npara descubrimiento autónomo por enrutadores M2M y directorios A2A.","operationId":"serve_a2a_agent_card__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"FeedbackRequest":{"properties":{"eval_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Eval Id","description":"UUID del certificado o evaluación sobre la que se envía feedback (estándar MCP)."},"reported_issue":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Reported Issue","description":"Descripción M2M de la disputa o reporte de telemetría (estándar MCP)."},"suggested_metric":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Suggested Metric","description":"Métricas sugeridas o telemetría opcional estructurada (estándar MCP)."},"agent_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Agent Id","description":"Identificador del agente autónomo que reporta la disputa o telemetría.","default":"did:mifori:mcp-client","examples":["did:mifori:agent-alpha-01"]},"verification_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Verification Id","description":"Alias de eval_id (UUID del certificado)."},"feedback_type":{"type":"string","maxLength":32,"title":"Feedback Type","description":"Tipo de reporte: 'dispute', 'telemetry' o 'calibration'.","default":"telemetry","examples":["dispute","telemetry"]},"telemetry_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Telemetry Data","description":"Datos estructurados de la disputa, trazas de latencia o sugerencias de calibración."}},"type":"object","title":"FeedbackRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"},"VerifyBotRequest":{"properties":{"target_bot_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Target Bot Url","description":"Endpoint HTTP POST público del agente autónomo que será evaluado.","examples":["https://my-autonomous-agent.vercel.app/api/solve"]},"agent_id":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Agent Id","description":"Identificador opcional del agente o DID (Decentralized Identifier).","examples":["did:mifori:agent-alpha-01"]},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Metadatos opcionales del agente (versión, modelo base, proveedor)."}},"type":"object","required":["target_bot_url"],"title":"VerifyBotRequest"}}}}