{
  "openapi": "3.1.0",
  "info": {
    "title": "Rohit Ghumare Portfolio API",
    "version": "1.0.0",
    "summary": "Read-only public data for rohitghumare.com",
    "description": "The public portfolio API exposes current project and profile metrics used by rohitghumare.com. It requires no authentication. The separate MCP endpoint is documented at /developers/ and uses MCP 2026-07-28 Streamable HTTP rather than OpenAPI.",
    "contact": {
      "name": "Rohit Ghumare",
      "url": "https://rohitghumare.com/contact/",
      "email": "ghumare64@gmail.com"
    }
  },
  "servers": [
    {
      "url": "https://rohitghumare.com",
      "description": "Production"
    }
  ],
  "externalDocs": {
    "description": "Rohit Ghumare Developer Resources",
    "url": "https://rohitghumare.com/developers/"
  },
  "tags": [
    {
      "name": "Portfolio",
      "description": "Public, read-only portfolio data"
    }
  ],
  "paths": {
    "/api/stats": {
      "get": {
        "operationId": "getPortfolioStats",
        "summary": "Get current public project statistics",
        "description": "Returns the latest metrics available from GitHub, PyPI, and Docker Hub. Upstream failures are omitted, so clients must treat every metric except the github object as optional. Responses are cached at the edge for one hour.",
        "tags": ["Portfolio"],
        "security": [],
        "responses": {
          "200": {
            "description": "Current metrics available from public upstream services",
            "headers": {
              "Cache-Control": {
                "description": "Shared-cache and stale-while-revalidate policy",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortfolioStats"
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "RepositoryStats": {
        "type": "object",
        "additionalProperties": false,
        "required": ["stars", "forks"],
        "properties": {
          "stars": {
            "type": "integer",
            "minimum": 0
          },
          "forks": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "PortfolioStats": {
        "type": "object",
        "additionalProperties": false,
        "required": ["github"],
        "properties": {
          "github": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/RepositoryStats"
            }
          },
          "followers": {
            "type": "integer",
            "minimum": 0
          },
          "pypi": {
            "type": "integer",
            "minimum": 0
          },
          "docker": {
            "type": "integer",
            "minimum": 0
          }
        }
      }
    }
  }
}
