town.laugh.user.list

A user-curated list of events, venues, and/or comedians. The favorites list is the one with purpose "favorites".

Repository @laugh.town did:plc:k6owgpe2rkkchoiivxhzp2t4 not from the namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authorityuser.laugh.town
Indexed
cid bafyreido5l2ish6z4orln6yqcgavk2rzy2gxqmkphscc2tublutlu4zwpi

Checks

Valid
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A user-curated list of events, venues, and/or comedians. The favorites list is the one with purpose \"favorites\".",
      "key": "tid",
      "record": {
        "properties": {
          "blockedContributors": {
            "description": "DIDs the owner has blocked from contributing; applies in \"open\" mode (and harmlessly in \"invite\" mode too)",
            "items": {
              "format": "did",
              "type": "string"
            },
            "maxLength": 200,
            "type": "array"
          },
          "calendar": {
            "description": "Show a derived calendar of upcoming shows for the list's items. Off by default.",
            "type": "boolean"
          },
          "collab": {
            "description": "Who can add items to this list: \"owner\" (only the list owner, the default when absent), \"invite\" (DIDs on `contributors`), or \"open\" (anyone signed in)",
            "knownValues": [
              "owner",
              "invite",
              "open"
            ],
            "type": "string"
          },
          "contributors": {
            "description": "DID allowlist for collab \"invite\". Kept (but ignored) when collab is \"open\"/\"owner\", so toggling modes doesn't lose the list",
            "items": {
              "format": "did",
              "type": "string"
            },
            "maxLength": 50,
            "type": "array"
          },
          "createdAt": {
            "description": "Timestamp of when the list was created",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Optional list description",
            "maxLength": 2048,
            "type": "string"
          },
          "forkedFrom": {
            "description": "AT-URI of the town.laugh.user.list record this list was duplicated from",
            "format": "at-uri",
            "type": "string"
          },
          "itemOrder": {
            "description": "Owner-set positions for contributed items only (a contributor's own listitem `order` field is ignored)",
            "items": {
              "properties": {
                "item": {
                  "description": "AT-URI of the contributed town.laugh.user.listitem record",
                  "format": "at-uri",
                  "type": "string"
                },
                "order": {
                  "description": "Fractional-index position key",
                  "type": "string"
                }
              },
              "required": [
                "item",
                "order"
              ],
              "type": "object"
            },
            "maxLength": 500,
            "type": "array"
          },
          "name": {
            "description": "Display name",
            "maxLength": 256,
            "type": "string"
          },
          "numbered": {
            "description": "Show items as a ranked, numbered list",
            "type": "boolean"
          },
          "place": {
            "description": "laugh.town place slug (e.g. \"los-angeles\") the list is about. When set, the derived calendar is fixed to this place and its descendants; when absent, viewers pick the place themselves.",
            "maxLength": 64,
            "type": "string"
          },
          "purpose": {
            "description": "Advisory list purpose; \"favorites\" marks the singular favorites list",
            "knownValues": [
              "curated",
              "favorites"
            ],
            "type": "string"
          },
          "removedItems": {
            "description": "AT-URIs of town.laugh.user.listitem records the owner suppressed from a contributor's contribution",
            "items": {
              "format": "at-uri",
              "type": "string"
            },
            "maxLength": 500,
            "type": "array"
          },
          "slug": {
            "description": "URL slug, lowercase alphanumeric with single-hyphen separators (e.g. \"best-of-2026\"). Derived from the name at creation and frozen thereafter; unique per did.",
            "maxLength": 64,
            "type": "string"
          },
          "sort": {
            "description": "Default item ordering for viewers; \"manual\" (the default when absent) uses each listitem's fractional order",
            "knownValues": [
              "manual",
              "alpha",
              "added",
              "date"
            ],
            "type": "string"
          }
        },
        "required": [
          "name",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "town.laugh.user.list",
  "lexicon": 1
}