{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://koddi.com/contracts/published-schema-envelope.schema.json",
  "title": "PublishedSchemaEnvelope",
  "type": "object",
  "required": [
    "schemaId",
    "siteKey",
    "hostname",
    "urlPattern",
    "publishedAt",
    "schema"
  ],
  "properties": {
    "schemaId": {
      "type": "string"
    },
    "siteKey": {
      "type": "string"
    },
    "hostname": {
      "type": "string"
    },
    "urlPattern": {
      "type": "string"
    },
    "publishedAt": {
      "type": "string",
      "format": "date-time"
    },
    "schema": {
      "$ref": "#/$defs/PageSchema"
    }
  },
  "$defs": {
    "PageSchema": {
      "type": "object",
      "required": ["version", "createdAt", "updatedAt", "signature", "rendering"],
      "properties": {
        "version": {
          "const": 1
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "updatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "signature": {
          "type": "object"
        },
        "rendering": {
          "type": "object"
        },
        "extractions": {
          "type": "object"
        },
        "placements": {
          "type": "array"
        }
      }
    }
  }
}
