{
  "openapi": "3.1.0",
  "info": {
    "title": "Abdellah EL MEKKI Site API",
    "version": "1.0.0",
    "description": "Read-only JSON API for profile, publications, blog posts, search index, and service health."
  },
  "servers": [
    {
      "url": "https://elmekki.me"
    }
  ],
  "paths": {
    "/api/index.json": {
      "get": {
        "summary": "Get API service metadata",
        "operationId": "getApiIndex",
        "responses": {
          "200": {
            "description": "API metadata document"
          }
        }
      }
    },
    "/api/profile.json": {
      "get": {
        "summary": "Get site profile",
        "operationId": "getProfile",
        "responses": {
          "200": {
            "description": "Site profile, links, and research areas"
          }
        }
      }
    },
    "/api/publications.json": {
      "get": {
        "summary": "List publications",
        "operationId": "listPublications",
        "responses": {
          "200": {
            "description": "Publication metadata"
          }
        }
      }
    },
    "/api/posts.json": {
      "get": {
        "summary": "List blog posts",
        "operationId": "listPosts",
        "responses": {
          "200": {
            "description": "Blog post metadata"
          }
        }
      }
    },
    "/api/search.json": {
      "get": {
        "summary": "Get the static search index",
        "operationId": "getSearchIndex",
        "responses": {
          "200": {
            "description": "Combined search index across pages, publications, and blog posts"
          }
        }
      }
    },
    "/api/health.json": {
      "get": {
        "summary": "Get service health",
        "operationId": "getHealth",
        "responses": {
          "200": {
            "description": "Health and readiness status"
          }
        }
      }
    }
  }
}
