{
  "path": "/3mbtj66hk2c2w",
  "site": "at://did:plc:cbkjy5n7bk3ax2wplmtjofq2/site.standard.publication/3lqpqvbdoas2z",
  "tags": [
    "ATProtocol",
    "Lexicon"
  ],
  "$type": "site.standard.document",
  "title": "Lexicon Validation",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "id": "019b9667-f2fc-766a-8806-422b79b4891e",
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Lexicon Garden lets you fully validate schemas and records. You can check if a lexicon schema is valid and, if you want, also validate record data against it."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 46,
                    "byteStart": 32
                  },
                  "features": [
                    {
                      "uri": "https://github.com/bluesky-social/indigo",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "We built this feature using the indigo project as a guide for both parsing and testing. Our aim was to match real-world validation, so you can spot problems before they reach production."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreihnfqwffx7bnwnhtflpx2ouod5pn6k2cvp4ews76jg5ec7wcw662i"
                },
                "mimeType": "image/png",
                "size": 361641
              },
              "aspectRatio": {
                "width": 1665,
                "height": 1392
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Validation is available throughout the site. When you create or edit a lexicon in the management interface, you can check your schema before saving. Each lexicon has a \"Validate Schema\" button to check its definition. You can also validate example records against their schema with one click."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreidxv22ik2vge44iz6jwk5afbc7s2kko6io5u5fkmqgj6c5fjoaixm"
                },
                "mimeType": "image/png",
                "size": 367677
              },
              "aspectRatio": {
                "width": 1665,
                "height": 1392
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "You can also use the standalone validation page at lexicon.garden/validate. Just paste in a schema and click validate, or include record data to check both at once. This helps when you're drafting a new lexicon and want to test ideas quickly before creating anything."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.image",
              "image": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreiesoc35pvm6rjjwoothqbfrwte33pfcdakad2wci67n44f7m2oxtm"
                },
                "mimeType": "image/png",
                "size": 384302
              },
              "aspectRatio": {
                "width": 1665,
                "height": 1392
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "The validator works with all lexicon definition types: records, objects, arrays, queries, procedures, and subscriptions. If validation fails, you'll see clear error messages showing what needs fixing. If it passes, you'll get a green confirmation and a ready-to-use curl example for calling the validation endpoint programmatically."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          }
        ]
      }
    ]
  },
  "description": "Validate both lexicon schemas and records against those schemas.",
  "publishedAt": "2026-01-07T12:53:44.277Z"
}