{
  "openapi": "3.1.0",
  "info": {
    "title": "Agentic School Read API",
    "version": "1.0.0",
    "description": "Free, read-only, static JSON API for AI agents to consume the Agentic School. All responses are pre-generated from a static catalog and served from a CDN. English content lives at the unprefixed paths; German content lives under /api/v1/de. Every content page also has a Markdown twin at its human URL plus a .md suffix."
  },
  "x-llms-txt": "/llms.txt",
  "x-markdown-pattern": "<page-url>.md",
  "x-fair-use": {
    "policy": "fair-use",
    "note": "This is a free, fully static, read-only surface served from a CDN. There are no authentication or hard rate limits. Please cache responses, prefer the JSON or .md endpoints over scraping HTML, and identify your agent with a descriptive User-Agent. Use /llms-full.txt for a one-shot full corpus instead of crawling every page.",
    "requestsPerMinuteSuggested": 60
  },
  "servers": [
    {
      "url": "https://agenticschool.dev"
    }
  ],
  "paths": {
    "/api/v1/openapi.json": {
      "get": {
        "summary": "This OpenAPI document",
        "responses": {
          "200": {
            "description": "This OpenAPI document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenApi"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/index.json": {
      "get": {
        "summary": "API discovery document",
        "responses": {
          "200": {
            "description": "API discovery document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Discovery"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/courses.json": {
      "get": {
        "summary": "List all courses",
        "responses": {
          "200": {
            "description": "List all courses",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Course"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/courses/{slug}.json": {
      "get": {
        "summary": "Course detail with lessons",
        "responses": {
          "200": {
            "description": "Course detail with lessons",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Course"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/lessons.json": {
      "get": {
        "summary": "List all lessons (metadata)",
        "responses": {
          "200": {
            "description": "List all lessons (metadata)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lesson"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/lessons/{slug}.json": {
      "get": {
        "summary": "Full lesson detail",
        "responses": {
          "200": {
            "description": "Full lesson detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lesson"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/resources.json": {
      "get": {
        "summary": "List all resources",
        "responses": {
          "200": {
            "description": "List all resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Resource"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/resources/{slug}.json": {
      "get": {
        "summary": "Full resource detail",
        "responses": {
          "200": {
            "description": "Full resource detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Resource"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/articles.json": {
      "get": {
        "summary": "List all knowledge articles",
        "responses": {
          "200": {
            "description": "List all knowledge articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/articles/{slug}.json": {
      "get": {
        "summary": "Full article detail",
        "responses": {
          "200": {
            "description": "Full article detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Article"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/fundamentals.json": {
      "get": {
        "summary": "List all fundamentals (beginner reference pages)",
        "responses": {
          "200": {
            "description": "List all fundamentals (beginner reference pages)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Fundamental"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/fundamentals/{slug}.json": {
      "get": {
        "summary": "Full fundamental detail",
        "responses": {
          "200": {
            "description": "Full fundamental detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Fundamental"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/builds.json": {
      "get": {
        "summary": "List all builds (founder project case studies)",
        "responses": {
          "200": {
            "description": "List all builds (founder project case studies)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Build"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/builds/{slug}.json": {
      "get": {
        "summary": "Full build detail",
        "responses": {
          "200": {
            "description": "Full build detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Build"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/glossary.json": {
      "get": {
        "summary": "List all glossary terms (AI and agent vocabulary)",
        "responses": {
          "200": {
            "description": "List all glossary terms (AI and agent vocabulary)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryTerm"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/glossary/{slug}.json": {
      "get": {
        "summary": "Full glossary term detail",
        "responses": {
          "200": {
            "description": "Full glossary term detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryTerm"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/comparisons.json": {
      "get": {
        "summary": "List all comparisons (X vs Y pages)",
        "responses": {
          "200": {
            "description": "List all comparisons (X vs Y pages)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comparison"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/comparisons/{slug}.json": {
      "get": {
        "summary": "Full comparison detail",
        "responses": {
          "200": {
            "description": "Full comparison detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comparison"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/guides.json": {
      "get": {
        "summary": "List all guides (editorial and how-to)",
        "responses": {
          "200": {
            "description": "List all guides (editorial and how-to)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Guide"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/guides/{slug}.json": {
      "get": {
        "summary": "Full guide detail",
        "responses": {
          "200": {
            "description": "Full guide detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Guide"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/tools.json": {
      "get": {
        "summary": "List all free interactive tools",
        "responses": {
          "200": {
            "description": "List all free interactive tools",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tool"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/tools/{slug}.json": {
      "get": {
        "summary": "Full tool detail",
        "responses": {
          "200": {
            "description": "Full tool detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tool"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/changelog.json": {
      "get": {
        "summary": "List all changelog entries",
        "responses": {
          "200": {
            "description": "List all changelog entries",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChangelogEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/search-index.json": {
      "get": {
        "summary": "Flat search index",
        "responses": {
          "200": {
            "description": "Flat search index",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchIndexEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/index.json": {
      "get": {
        "summary": "API discovery document",
        "responses": {
          "200": {
            "description": "API discovery document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Discovery"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/courses.json": {
      "get": {
        "summary": "List all courses",
        "responses": {
          "200": {
            "description": "List all courses",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Course"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/courses/{slug}.json": {
      "get": {
        "summary": "Course detail with lessons",
        "responses": {
          "200": {
            "description": "Course detail with lessons",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Course"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/lessons.json": {
      "get": {
        "summary": "List all lessons (metadata)",
        "responses": {
          "200": {
            "description": "List all lessons (metadata)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Lesson"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/lessons/{slug}.json": {
      "get": {
        "summary": "Full lesson detail",
        "responses": {
          "200": {
            "description": "Full lesson detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Lesson"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/resources.json": {
      "get": {
        "summary": "List all resources",
        "responses": {
          "200": {
            "description": "List all resources",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Resource"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/resources/{slug}.json": {
      "get": {
        "summary": "Full resource detail",
        "responses": {
          "200": {
            "description": "Full resource detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Resource"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/articles.json": {
      "get": {
        "summary": "List all knowledge articles",
        "responses": {
          "200": {
            "description": "List all knowledge articles",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/articles/{slug}.json": {
      "get": {
        "summary": "Full article detail",
        "responses": {
          "200": {
            "description": "Full article detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Article"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/fundamentals.json": {
      "get": {
        "summary": "List all fundamentals (beginner reference pages)",
        "responses": {
          "200": {
            "description": "List all fundamentals (beginner reference pages)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Fundamental"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/fundamentals/{slug}.json": {
      "get": {
        "summary": "Full fundamental detail",
        "responses": {
          "200": {
            "description": "Full fundamental detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Fundamental"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/builds.json": {
      "get": {
        "summary": "List all builds (founder project case studies)",
        "responses": {
          "200": {
            "description": "List all builds (founder project case studies)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Build"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/builds/{slug}.json": {
      "get": {
        "summary": "Full build detail",
        "responses": {
          "200": {
            "description": "Full build detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Build"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/glossary.json": {
      "get": {
        "summary": "List all glossary terms (AI and agent vocabulary)",
        "responses": {
          "200": {
            "description": "List all glossary terms (AI and agent vocabulary)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GlossaryTerm"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/glossary/{slug}.json": {
      "get": {
        "summary": "Full glossary term detail",
        "responses": {
          "200": {
            "description": "Full glossary term detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryTerm"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/comparisons.json": {
      "get": {
        "summary": "List all comparisons (X vs Y pages)",
        "responses": {
          "200": {
            "description": "List all comparisons (X vs Y pages)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comparison"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/comparisons/{slug}.json": {
      "get": {
        "summary": "Full comparison detail",
        "responses": {
          "200": {
            "description": "Full comparison detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comparison"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/guides.json": {
      "get": {
        "summary": "List all guides (editorial and how-to)",
        "responses": {
          "200": {
            "description": "List all guides (editorial and how-to)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Guide"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/guides/{slug}.json": {
      "get": {
        "summary": "Full guide detail",
        "responses": {
          "200": {
            "description": "Full guide detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Guide"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/tools.json": {
      "get": {
        "summary": "List all free interactive tools",
        "responses": {
          "200": {
            "description": "List all free interactive tools",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tool"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/tools/{slug}.json": {
      "get": {
        "summary": "Full tool detail",
        "responses": {
          "200": {
            "description": "Full tool detail",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tool"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "slug",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ]
    },
    "/api/v1/de/changelog.json": {
      "get": {
        "summary": "List all changelog entries",
        "responses": {
          "200": {
            "description": "List all changelog entries",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChangelogEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/de/search-index.json": {
      "get": {
        "summary": "Flat search index",
        "responses": {
          "200": {
            "description": "Flat search index",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchIndexEntry"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/{path}.md": {
      "get": {
        "summary": "Markdown twin of any content page (append .md to the human URL, both locales)",
        "responses": {
          "200": {
            "description": "Markdown twin of any content page (append .md to the human URL, both locales)",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "name": "path",
          "in": "path",
          "required": true,
          "schema": {
            "type": "string"
          },
          "description": "A content page path without the .md suffix, e.g. courses/foundations or de/kurse/foundations."
        }
      ]
    },
    "/llms.txt": {
      "get": {
        "summary": "llms.txt discovery file (English)",
        "responses": {
          "200": {
            "description": "llms.txt discovery file (English)",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Full content corpus as Markdown (English)",
        "responses": {
          "200": {
            "description": "Full content corpus as Markdown (English)",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/de/llms.txt": {
      "get": {
        "summary": "llms.txt discovery file (German)",
        "responses": {
          "200": {
            "description": "llms.txt discovery file (German)",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/de/llms-full.txt": {
      "get": {
        "summary": "Full content corpus as Markdown (German)",
        "responses": {
          "200": {
            "description": "Full content corpus as Markdown (German)",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Discovery": {
        "type": "object",
        "additionalProperties": true
      },
      "OpenApi": {
        "type": "object",
        "additionalProperties": true
      },
      "Course": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "level": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "lessonCount": {
            "type": "integer"
          },
          "estimatedMinutes": {
            "type": "integer"
          },
          "order": {
            "type": "integer"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "title",
          "description",
          "level",
          "locale",
          "url"
        ]
      },
      "Lesson": {
        "type": "object",
        "properties": {
          "order": {
            "type": "integer"
          },
          "number": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "courseSlug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "duration": {
            "type": "string"
          },
          "durationIso": {
            "type": "string"
          },
          "level": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "whatCovered": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transcript": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "number",
          "courseSlug",
          "title",
          "status",
          "locale"
        ]
      },
      "Resource": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "difficulty": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "lastReviewedAt": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "title",
          "type",
          "body",
          "locale",
          "url"
        ]
      },
      "Article": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "seoTitle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "datePublished": {
            "type": "string"
          },
          "dateModified": {
            "type": "string"
          },
          "readingMinutes": {
            "type": "integer"
          },
          "intro": {
            "type": "string"
          },
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "heading": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                }
              },
              "required": [
                "heading",
                "body"
              ]
            }
          },
          "faq": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ]
            }
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "title",
          "category",
          "intro",
          "sections",
          "locale"
        ]
      },
      "Fundamental": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "seoTitle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "tools",
              "concepts",
              "workflow"
            ]
          },
          "intro": {
            "type": "string"
          },
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                }
              },
              "required": [
                "title",
                "body"
              ]
            }
          },
          "faq": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ]
            }
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updatedAt": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "title",
          "category",
          "intro",
          "sections",
          "locale"
        ]
      },
      "Build": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "saas",
              "automation",
              "tool",
              "content"
            ]
          },
          "stack": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "live",
              "internal",
              "archived"
            ]
          },
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                }
              },
              "required": [
                "title",
                "body"
              ]
            }
          },
          "lessonsLearned": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updatedAt": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "title",
          "tagline",
          "category",
          "status",
          "sections",
          "locale"
        ]
      },
      "GlossaryTerm": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "term": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "seoTitle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "intro": {
            "type": "string"
          },
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                }
              },
              "required": [
                "title",
                "body"
              ]
            }
          },
          "faq": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ]
            }
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updatedAt": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "term",
          "title",
          "intro",
          "sections",
          "locale"
        ]
      },
      "Comparison": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "seoTitle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "intro": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "tagline": {
                  "type": "string"
                },
                "bestFor": {
                  "type": "string"
                },
                "pros": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "cons": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "key",
                "name"
              ]
            }
          },
          "dimensions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "values": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "label",
                "values"
              ]
            }
          },
          "verdict": {
            "type": "string"
          },
          "faq": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ]
            }
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "datePublished": {
            "type": "string"
          },
          "dateModified": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "title",
          "intro",
          "options",
          "dimensions",
          "locale"
        ]
      },
      "Guide": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "seoTitle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "intro": {
            "type": "string"
          },
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "heading": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                }
              },
              "required": [
                "heading",
                "body"
              ]
            }
          },
          "howToSteps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "text"
              ]
            }
          },
          "faq": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ]
            }
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "datePublished": {
            "type": "string"
          },
          "dateModified": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "title",
          "category",
          "intro",
          "sections",
          "locale"
        ]
      },
      "Tool": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "toolKey": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "seoTitle": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "intro": {
            "type": "string"
          },
          "sections": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "body": {
                  "type": "string"
                }
              },
              "required": [
                "title",
                "body"
              ]
            }
          },
          "faq": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                }
              },
              "required": [
                "question",
                "answer"
              ]
            }
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updatedAt": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "toolKey",
          "title",
          "intro",
          "sections",
          "locale"
        ]
      },
      "ChangelogEntry": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "tool": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "excerpt": {
            "type": "string"
          },
          "impact": {
            "type": "string"
          },
          "publishedAt": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "locale": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "tool",
          "title",
          "impact",
          "locale"
        ]
      },
      "SearchIndexEntry": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "locale": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type",
          "slug",
          "title",
          "url",
          "locale"
        ]
      }
    }
  }
}
