{
  "openapi": "3.1.0",
  "info": {
    "title": "Home Invest Public API",
    "version": "1.0.0",
    "description": "Unauthenticated discovery API for Home Invest. Use MCP at /mcp for tool calling.",
    "contact": {
      "email": "support@homeinvest.com",
      "url": "https://homeinvest.com"
    }
  },
  "servers": [
    {
      "url": "https://homeinvest.com"
    }
  ],
  "paths": {
    "/api/health": {
      "get": {
        "summary": "Health check",
        "operationId": "getHealth",
        "responses": {
          "200": {
            "description": "Service is up",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/agent": {
      "get": {
        "summary": "Company overview for agents",
        "operationId": "getAgentOverview",
        "responses": {
          "200": {
            "description": "Structured Home Invest overview"
          }
        }
      }
    },
    "/api/agent/register": {
      "post": {
        "summary": "Register an agent and receive a correspondence api_key",
        "operationId": "registerAgent",
        "responses": {
          "200": {
            "description": "Registration acknowledged with next steps"
          }
        }
      }
    },
    "/api/agent/claim": {
      "post": {
        "summary": "Claim an agent registration for a human operator",
        "operationId": "claimAgent",
        "responses": {
          "200": {
            "description": "Claim instructions for a human operator"
          }
        }
      }
    },
    "/api/agent/revoke": {
      "post": {
        "summary": "Request revocation of an agent registration",
        "operationId": "revokeAgent",
        "responses": {
          "200": {
            "description": "Revocation request acknowledged"
          }
        }
      }
    },
    "/mcp": {
      "post": {
        "summary": "MCP Streamable HTTP JSON-RPC",
        "operationId": "mcpJsonRpc",
        "responses": {
          "200": {
            "description": "JSON-RPC result"
          }
        }
      }
    }
  }
}
