{
  "openapi": "3.1.0",
  "info": {
    "title": "MEMBERBRUNCH Public API",
    "version": "1.0.0",
    "description": "memberbrunch ist die unabhängige Entscheidungsmaschine für Kursplattformen, Creator-Tools und Partnerprogramme im DACH-Markt. Alle Antworten enthalten Quellenangaben, Datenstand und Lizenz (CC BY 4.0, Namensnennung memberbrunch.de). Affiliate-Beziehungen sind offengelegt und beeinflussen Scores nicht."
  },
  "servers": [
    {
      "url": "https://memberbrunch.de"
    }
  ],
  "paths": {
    "/api/v1/platforms": {
      "get": {
        "summary": "Alle Kursplattformen (Liste)",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/platforms/{slug}": {
      "get": {
        "summary": "Plattform-Detail mit Feature-Matrix (Evidence-Levels) und Alternativen",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "404": {
            "description": "Unbekannter Slug"
          }
        }
      }
    },
    "/api/v1/tools": {
      "get": {
        "summary": "Creator-Tools-Verzeichnis (alle Kategorien)",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/programs": {
      "get": {
        "summary": "Alle Partnerprogramme mit Konditionen und Quellen",
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/recommendations": {
      "get": {
        "summary": "Kursplattform-Empfehlung (erklärbares Scoring)",
        "description": "Wichtigkeiten 0–3 je Dimension: community, mobile_app, integrated_checkout, email_automation, funnel_landingpages, quiz_certificates, live_webinar, eu_hosting_dsgvo, german_ui, white_label_branding. Plus budget (EUR/Monat) und wants_trial (1/0).",
        "responses": {
          "200": {
            "description": "Ranked Empfehlungen mit Begründungen"
          }
        }
      }
    }
  }
}