{
  "openapi": "3.1.0",
  "info": {
    "title": "KamatAI API",
    "version": "1.0.0",
    "description": "Ingyenes Ptk. késedelmi kamat kalkulátor. Nincs API-kulcs, nincs süti. Az eredmény tájékoztató, nem jogi tanácsadás.",
    "contact": { "email": "info@kamatai.hu" }
  },
  "servers": [{ "url": "https://kamatai.hu" }],
  "paths": {
    "/api": {
      "get": {
        "summary": "API felfedezés",
        "responses": { "200": { "description": "Végpontlista" } }
      }
    },
    "/api/calculate": {
      "get": {
        "summary": "Késedelmi kamat számítása",
        "parameters": [
          { "name": "toke", "in": "query", "required": true, "schema": { "type": "number" }, "description": "Tőke forintban (alias: principal)" },
          { "name": "kezd", "in": "query", "required": true, "schema": { "type": "string", "format": "date" }, "description": "Késedelem kezdete YYYY-MM-DD (alias: start)" },
          { "name": "zar", "in": "query", "required": false, "schema": { "type": "string", "format": "date" }, "description": "Záró nap, alapból ma (alias: end)" },
          { "name": "felek", "in": "query", "schema": { "type": "string", "enum": ["b2b", "person"] }, "description": "b2b = vállalkozások, person = magánszemély" },
          { "name": "mod", "in": "query", "schema": { "type": "string", "enum": ["auto", "fix", "mnbplus", "mnb", "mnb2", "mnb5"] } },
          { "name": "x", "in": "query", "schema": { "type": "number" }, "description": "Fix % vagy MNB+x" },
          { "name": "ptk", "in": "query", "schema": { "type": "string", "enum": ["new", "old"] } },
          { "name": "atalany", "in": "query", "schema": { "type": "string", "enum": ["0", "1"] }, "description": "Behajtási költségátalány, csak b2b" }
        ],
        "responses": {
          "200": { "description": "Számítás" },
          "400": { "description": "Hibás bemenet" }
        }
      },
      "post": {
        "summary": "Késedelmi kamat számítása JSON-nal",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["principal", "start"],
                "properties": {
                  "principal": { "type": "number" },
                  "start": { "type": "string", "format": "date" },
                  "end": { "type": "string", "format": "date" },
                  "party": { "type": "string", "enum": ["b2b", "person"] },
                  "rateMode": { "type": "string", "enum": ["auto", "fix", "mnbplus", "mnb", "mnb2", "mnb5"] },
                  "customRate": { "type": "number" },
                  "regime": { "type": "string", "enum": ["new", "old2004"] },
                  "recovery": { "type": "boolean" }
                }
              }
            }
          }
        },
        "responses": {
          "200": { "description": "Számítás" },
          "400": { "description": "Hibás bemenet" }
        }
      }
    }
  }
}
