{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/majr-app/json-schema/majr-app-head-request-schema.json",
  "title": "HeadRequest",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/seo-openapi.json#/components/schemas/HeadRequest",
  "properties": {
    "title": {
      "type": "string",
      "title": "Title",
      "description": "Page title — becomes <title> and the og:title/twitter:title fallback."
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Description",
      "description": "Meta description; the tag is omitted when absent."
    },
    "canonical_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Canonical Path",
      "description": "Path joined with site_url into an absolute rel=canonical."
    },
    "site_url": {
      "type": "string",
      "title": "Site Url",
      "description": "Site origin used to absolutize canonical_path.",
      "default": ""
    },
    "robots": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Robots",
      "description": "Value for <meta name=\"robots\">, e.g. \"index,follow\"; omit for engine default."
    },
    "og": {
      "anyOf": [
        {
          "$ref": "#/$defs/OpenGraph"
        },
        {
          "type": "null"
        }
      ],
      "description": "Open Graph block; when present, Twitter card tags mirror it."
    },
    "twitter_card": {
      "type": "string",
      "title": "Twitter Card",
      "description": "Twitter card type; emitted only when `og` is present.",
      "default": "summary_large_image"
    },
    "json_ld": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array",
      "title": "Json Ld",
      "description": "schema.org JSON-LD blocks, each serialized into its own <script> tag."
    },
    "source": {
      "type": "string",
      "title": "Source",
      "default": ""
    }
  },
  "type": "object",
  "required": [
    "title"
  ],
  "$defs": {
    "OpenGraph": {
      "properties": {
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Title",
          "description": "og:title; falls back to the page title."
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Description",
          "description": "og:description; falls back to the page description."
        },
        "type": {
          "type": "string",
          "title": "Type",
          "description": "og:type.",
          "default": "website"
        },
        "image": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Image",
          "description": "og:image — absolute URL of the share image."
        },
        "image_alt": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Image Alt",
          "description": "og:image:alt."
        },
        "image_width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Image Width",
          "description": "og:image:width, pixels."
        },
        "image_height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Image Height",
          "description": "og:image:height, pixels."
        }
      },
      "type": "object",
      "title": "OpenGraph"
    }
  }
}