lol.dids.sites.defs

ngerakines.me

{
  "id": "lol.dids.sites.defs",
  "defs": {
    "manifest": {
      "type": "object",
      "required": [
        "resources"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 1000,
          "description": "Bundle name. Required when the manifest is a tile's content; optional for an inline site source.",
          "maxGraphemes": 100
        },
        "resources": {
          "type": "unknown",
          "description": "Map of absolute request path (beginning with '/') to lol.dids.sites.defs#resource. Lexicon has no map type. A '/' entry is required for tile content and recommended for sites."
        }
      },
      "description": "A path-keyed bundle of resources — bard's camelCase subset of a MASL bundle-mode document. The inline source of a site, or the content of a tile."
    },
    "redirect": {
      "type": "object",
      "required": [
        "from",
        "to"
      ],
      "properties": {
        "to": {
          "type": "string",
          "maxLength": 2048,
          "description": "Destination path. Must be an absolute path on this site that exists as a manifest key."
        },
        "from": {
          "type": "string",
          "maxLength": 2048,
          "description": "The request path to match, optionally including a query string. Matching is exact."
        },
        "status": {
          "type": "integer",
          "description": "Redirect status. Defaults to 302.",
          "knownValues": [
            301,
            302,
            307,
            308
          ]
        }
      }
    },
    "resource": {
      "type": "object",
      "required": [
        "src"
      ],
      "properties": {
        "src": {
          "type": "blob",
          "description": "The blob holding this resource's bytes."
        },
        "status": {
          "type": "integer",
          "description": "Response status. Defaults to 200 for manifest entries and 404 for the notFound resource.",
          "knownValues": [
            200,
            404,
            410
          ]
        },
        "contentType": {
          "type": "string",
          "maxLength": 255,
          "description": "Serve the asset with this content type instead of the blob's mimeType."
        },
        "contentEncoding": {
          "type": "string",
          "description": "Declares the stored blob is already encoded with this algorithm; the origin serves it as-is with a matching Content-Encoding header.",
          "knownValues": [
            "gzip",
            "br",
            "zstd",
            "identity"
          ]
        }
      },
      "description": "A single addressable resource within a manifest."
    },
    "wellKnown": {
      "type": "object",
      "properties": {
        "rasl": {
          "type": "boolean",
          "description": "Serve GET /.well-known/rasl/{cid} for every CID this site references. Default true."
        },
        "atproto": {
          "type": "boolean",
          "description": "Serve GET /.well-known/atproto-did with the site's owning DID. Default true."
        }
      },
      "description": "Controls the responses bard synthesizes under /.well-known/. Every field defaults to true; the object exists only to turn things off."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against lol.dids.sites.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:cbkjy5n7bk3ax2wplmtjofq2
CID
bafyreig4vb7ee3ax4gpuakrm4o7lrsf3lbtwxtlkhbzdfedczskhsce5ye
Indexed At
2026-08-30 03:06 UTC
AT-URI
at://did:plc:cbkjy5n7bk3ax2wplmtjofq2/com.atproto.lexicon.schema/lol.dids.sites.defs

Lexicon Garden

@