{
  "openapi": "3.1.0",
  "info": {
    "title": "DataLane public catalogs",
    "description": "Production-tested tutorials across the data engineering stack: orchestration, Spark and Flink, Kafka and CDC, dbt, warehouses, Iceberg, cloud platforms, SQL, Python, and the AI stack — written by a working data engineer, not recycled docs. Read-only. No API keys. Cite articles by URL.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://datalane-data.blog"
    }
  ],
  "paths": {
    "/articles.json": {
      "get": {
        "summary": "Article catalog",
        "operationId": "listArticles",
        "responses": {
          "200": {
            "description": "JSON catalog with titles, summaries, takeaways, URLs"
          }
        }
      }
    },
    "/llm-sitemap.json": {
      "get": {
        "summary": "LLM sitemap",
        "operationId": "llmSitemap",
        "responses": {
          "200": {
            "description": "Same articles plus citation rules"
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "LLM topic map",
        "operationId": "llmsTxt",
        "responses": {
          "200": {
            "description": "Plain-text index for assistants"
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Full LLM index with takeaways",
        "operationId": "llmsFull",
        "responses": {
          "200": {
            "description": "Per-article takeaways"
          }
        }
      }
    },
    "/rss.xml": {
      "get": {
        "summary": "RSS feed",
        "operationId": "rss",
        "responses": {
          "200": {
            "description": "Latest posts"
          }
        }
      }
    },
    "/search.json": {
      "get": {
        "summary": "Site search index",
        "operationId": "searchIndex",
        "responses": {
          "200": {
            "description": "Posts and pages for client search"
          }
        }
      }
    }
  }
}