{"openapi":"3.1.0","info":{"title":"health","version":"0.1.1"},"paths":{"/verify":{"get":{"summary":"Verify","description":"FREE: how to verify this agent's Agent Card was issued by getvda.ai.\n\nThe card at /.well-known/agent.json carries a detached JWS in its `proof`. The\nsigned bytes are the card with `proof` and `signatures` removed, serialised with sorted keys and no\nwhitespace — reproduce that exactly or the digest will differ.","operationId":"verify_verify_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/selftest":{"get":{"summary":"Selftest","description":"FREE capability proof: runs the real executor on a canned input. Cached ~45s\n(so it can't be abused as a free LLM endpoint) and never paywalled — this is how\nthe Portfolio Router verifies the agent and captures a real example output.","operationId":"selftest_selftest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Selftest","description":"FREE capability proof: runs the real executor on a canned input. Cached ~45s\n(so it can't be abused as a free LLM endpoint) and never paywalled — this is how\nthe Portfolio Router verifies the agent and captures a real example output.","operationId":"selftest_selftest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp-metered/{credits}":{"post":{"summary":"Mcp","operationId":"mcp_mcp_metered__credits__post","parameters":[{"name":"credits","in":"path","required":true,"schema":{"type":"integer","title":"Credits"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp-free":{"post":{"summary":"Mcp","operationId":"mcp_mcp_free_post","parameters":[{"name":"credits","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Credits"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp":{"post":{"summary":"Mcp","operationId":"mcp_mcp_post","parameters":[{"name":"credits","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Credits"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent-card.json":{"get":{"summary":"Agent Card","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","operationId":"agent_card__well_known_agent_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rssa/websub":{"get":{"summary":"Rssa Websub Verify","operationId":"rssa_websub_verify_rssa_websub_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Rssa Websub Push","operationId":"rssa_websub_push_rssa_websub_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/rssa/websub/status":{"get":{"summary":"Rssa Websub Status","operationId":"rssa_websub_status_rssa_websub_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","description":"What this agent is, for an LLM that found it without a human in the loop.","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/copilot-studio.yaml":{"get":{"summary":"Copilot Studio Connector","description":"A ready-to-import Power Apps custom connector for Microsoft Copilot Studio.\n\nCopilot Studio's second onboarding path takes an OpenAPI file, so serving one turns\n\"follow five wizard steps\" into \"import this URL\". `x-ms-agentic-protocol:\nmcp-streamable-1.0` is what marks the operation as MCP streamable — the only\ntransport Copilot Studio still supports (SSE was dropped after August 2025).\n\nNo authentication is declared because none is required: discovery and `selftest` are\nfree, so a maker can import this and verify the agent before any payment exists.","operationId":"copilot_studio_connector_copilot_studio_yaml_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/robots.txt":{"get":{"summary":"Robots Txt","description":"Crawl policy for this agent.\n\nEvery agent is its own host (`<name>.getvda.ai`), so the portfolio's robots.txt\nat agents.getvda.ai does not apply here — each one needs its own. Without it\ncrawlers get a 404: OAI-SearchBot was observed requesting this and finding\nnothing, which is a bad first impression for the one file a crawler reads first.\n\nDeliberately NOT added to FREE_PATHS: that set is what the 10 req/s limiter\npolices, and a 429 on robots.txt tells Google the host is unavailable and makes\nit back off crawling *everything* here. The body is a fixed string, so there is\nnothing to protect.\n\n`/mcp-metered/` is disallowed because it always answers 402 without payment —\nletting crawlers spend budget discovering that helps nobody.","operationId":"robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/governance.md":{"get":{"summary":"Governance","operationId":"governance_governance_md_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"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"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}