{
  "openapi": "3.1.0",
  "info": {
    "title": "Artem Novichkov Blog API",
    "version": "1.0.0",
    "description": "Blog post content API for agents. Send Accept: text/markdown to receive posts as markdown."
  },
  "servers": [{ "url": "https://artemnovichkov.com" }],
  "paths": {
    "/blog/{slug}": {
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": { "type": "string" },
          "description": "Blog post slug"
        }
      ],
      "get": {
        "summary": "Get blog post",
        "operationId": "getPost",
        "parameters": [
          {
            "name": "Accept",
            "in": "header",
            "schema": {
              "type": "string",
              "enum": ["text/html", "text/markdown"]
            },
            "description": "Use text/markdown to receive the post as markdown"
          }
        ],
        "responses": {
          "200": {
            "description": "Blog post content",
            "content": {
              "text/html": {
                "schema": { "type": "string" }
              },
              "text/markdown": {
                "schema": { "type": "string" }
              }
            }
          },
          "404": {
            "description": "Post not found"
          }
        }
      }
    }
  }
}
