{
  "openapi": "3.1.0",
  "info": {
    "title": "KerenNet Read-only API",
    "version": "1.0.0",
    "description": "Public read-only access to Israeli training-fund data and comparisons. No lead or personal-data operations are exposed."
  },
  "servers": [{ "url": "https://keren-net.thekpshow.chatgpt.site" }],
  "paths": {
    "/api/funds": {
      "get": {
        "summary": "Search active funds",
        "parameters": [
          { "name": "query", "in": "query", "schema": { "type": "string" }, "description": "Fund or managing-company name" },
          { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 1000, "default": 1000 } }
        ],
        "responses": { "200": { "description": "Matching active funds" } }
      }
    },
    "/api/funds/{id}": {
      "get": {
        "summary": "Get a stable fund record",
        "parameters": [{ "name": "id", "in": "path", "required": true, "schema": { "type": "string" } }],
        "responses": { "200": { "description": "Fund details" }, "404": { "description": "Fund not found" } }
      }
    },
    "/api/compare": {
      "get": {
        "summary": "Compare one to five funds over a complete month range",
        "parameters": [
          { "name": "fundIds", "in": "query", "required": true, "schema": { "type": "string", "examples": ["883,963"] } },
          { "name": "start", "in": "query", "required": true, "schema": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}$", "examples": ["2021-08"] } },
          { "name": "end", "in": "query", "required": true, "schema": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}$", "examples": ["2026-07"] } }
        ],
        "responses": { "200": { "description": "Comparison series and calculated performance" }, "400": { "description": "Invalid selection or period" } }
      }
    },
    "/api/top-funds": {
      "get": {
        "summary": "Find comparable leading funds in the same specialization and size range",
        "parameters": [
          { "name": "primaryFundId", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "start", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "end", "in": "query", "required": true, "schema": { "type": "string" } },
          { "name": "limit", "in": "query", "schema": { "type": "integer", "minimum": 1, "maximum": 10, "default": 5 } }
        ],
        "responses": { "200": { "description": "Comparable funds ranked by cumulative return" } }
      }
    }
  }
}
