space.highport.sites.tile

lexicons.highport.space

{
  "id": "space.highport.sites.tile",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "content"
        ],
        "properties": {
          "icon": {
            "type": "blob",
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "maxSize": 1048576
          },
          "name": {
            "type": "string",
            "maxLength": 1000,
            "description": "Display name. Limits match the Web Tiles specification.",
            "maxGraphemes": 100
          },
          "params": {
            "type": "array",
            "items": {
              "ref": "#param",
              "type": "ref"
            },
            "maxLength": 32,
            "description": "Parameters a binding site must or may supply. Names must be unique within the tile."
          },
          "content": {
            "ref": "space.highport.sites.defs#manifest",
            "type": "ref",
            "description": "The tile's resources. Must have a bundle name and a '/' entry."
          },
          "description": {
            "type": "string",
            "maxLength": 3000,
            "maxGraphemes": 300
          }
        }
      }
    },
    "param": {
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "properties": {
        "enum": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64,
          "description": "For string: a closed set of allowed values."
        },
        "name": {
          "type": "string",
          "maxLength": 64,
          "description": "Key in the site record's parameters map. Must match [A-Za-z][A-Za-z0-9_]*, so it cannot start with an underscore."
        },
        "type": {
          "type": "string",
          "maxLength": 317,
          "description": "One of string, integer, boolean, blob or array, or an NSID naming the $type a value must have. A value of NSID type may also be given by strong reference."
        },
        "items": {
          "ref": "#itemSchema",
          "type": "ref",
          "description": "For array: the element type. Required when type is array and not allowed otherwise. An item is never itself an array."
        },
        "accept": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 16,
          "description": "For blob: accepted MIME types, with wildcards as in Lexicon (image/*)."
        },
        "format": {
          "type": "string",
          "description": "For string: a Lexicon string format.",
          "knownValues": [
            "at-identifier",
            "at-uri",
            "cid",
            "datetime",
            "did",
            "handle",
            "language",
            "nsid",
            "record-key",
            "tid",
            "uri"
          ]
        },
        "maxSize": {
          "type": "integer",
          "minimum": 1,
          "description": "For blob: the maximum size in bytes."
        },
        "maximum": {
          "type": "integer",
          "description": "For integer: the maximum value."
        },
        "minimum": {
          "type": "integer",
          "description": "For integer: the minimum value."
        },
        "required": {
          "type": "boolean",
          "description": "Defaults to false. An optional parameter that is left out stays absent, and the tile's code supplies the default."
        },
        "maxLength": {
          "type": "integer",
          "minimum": 1,
          "description": "For string, the maximum UTF-8 bytes; for array, the maximum number of items."
        },
        "description": {
          "type": "string",
          "maxLength": 1000
        },
        "knownValues": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64,
          "description": "For string: an open, advisory set of values."
        },
        "maxGraphemes": {
          "type": "integer",
          "minimum": 1,
          "description": "For string: the maximum graphemes."
        }
      },
      "description": "A parameter a binding site supplies. type is a Lexicon primitive or an NSID. The constraint fields work like Lexicon's and apply only where Lexicon applies them; using one on a type it does not govern makes the tile invalid."
    },
    "itemSchema": {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "enum": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64
        },
        "type": {
          "type": "string",
          "maxLength": 317
        },
        "accept": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 16
        },
        "format": {
          "type": "string",
          "knownValues": [
            "at-identifier",
            "at-uri",
            "cid",
            "datetime",
            "did",
            "handle",
            "language",
            "nsid",
            "record-key",
            "tid",
            "uri"
          ]
        },
        "maxSize": {
          "type": "integer",
          "minimum": 1
        },
        "maximum": {
          "type": "integer"
        },
        "minimum": {
          "type": "integer"
        },
        "maxLength": {
          "type": "integer",
          "minimum": 1
        },
        "knownValues": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxLength": 64
        },
        "maxGraphemes": {
          "type": "integer",
          "minimum": 1
        }
      },
      "description": "Element type of an array parameter: any #param type except array, with the same constraint fields."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A reusable, parameterized web tile: a bundle of static resources that a space.highport.sites.site can bind to a domain by strong reference. Authors publish tiles under a TID key, and a tile is never tied to a domain."
}

Validate Record

Validate a record against space.highport.sites.tile

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:ciygg5hma4q7ah2kxaszkyob
CID
bafyreidmjlc2zi6fqeipqkmm4xgeohqqkrt7gp5kqnbxwnsbekrpgnby4u
Indexed At
2026-09-17 17:54 UTC
AT-URI
at://did:plc:ciygg5hma4q7ah2kxaszkyob/com.atproto.lexicon.schema/space.highport.sites.tile

Version History (2 versions)

Referenced Schemas (1)

Lexicon Garden

@