app.atmobb.actor.profile

lexicons.atmobb.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "avatarBuilder": {
      "description": "Legacy built avatar as part + colour choices. Kept so existing records stay valid.",
      "properties": {
        "accessory": {
          "ref": "#part",
          "type": "ref"
        },
        "eyebrows": {
          "ref": "#part",
          "type": "ref"
        },
        "eyes": {
          "ref": "#part",
          "type": "ref"
        },
        "facialFeature": {
          "ref": "#part",
          "type": "ref"
        },
        "facialHair": {
          "ref": "#part",
          "type": "ref"
        },
        "hairBack": {
          "ref": "#part",
          "type": "ref"
        },
        "hairFront": {
          "ref": "#part",
          "type": "ref"
        },
        "hat": {
          "ref": "#part",
          "type": "ref"
        },
        "mouth": {
          "ref": "#part",
          "type": "ref"
        },
        "neckwear": {
          "ref": "#garment",
          "type": "ref"
        },
        "nose": {
          "ref": "#part",
          "type": "ref"
        },
        "skin": {
          "description": "Skin tone id; drives body, head, nose and facial-feature colouring.",
          "type": "string"
        },
        "top": {
          "ref": "#garment",
          "type": "ref"
        },
        "v": {
          "description": "Recipe schema version.",
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "v",
        "skin"
      ],
      "type": "object"
    },
    "banner": {
      "description": "A CSS-drawn banner: a pattern over a color swatch.",
      "properties": {
        "pattern": {
          "knownValues": [
            "plain",
            "stars",
            "scanlines",
            "checker"
          ],
          "maxLength": 32,
          "type": "string"
        },
        "swatch": {
          "knownValues": [
            "coral",
            "rust",
            "plum",
            "berry",
            "navy",
            "teal",
            "pine",
            "slate"
          ],
          "maxLength": 32,
          "type": "string"
        }
      },
      "type": "object"
    },
    "forumProfile": {
      "properties": {
        "about": {
          "items": {
            "refs": [
              "app.atmobb.richtext.block#text",
              "app.atmobb.richtext.block#quote",
              "app.atmobb.richtext.block#code",
              "app.atmobb.richtext.block#image"
            ],
            "type": "union"
          },
          "maxLength": 20,
          "type": "array"
        },
        "avatar": {
          "accept": [
            "image/png",
            "image/jpeg",
            "image/webp",
            "image/gif"
          ],
          "maxSize": 1000000,
          "type": "blob"
        },
        "banner": {
          "ref": "#banner",
          "type": "ref"
        },
        "currently": {
          "maxGraphemes": 80,
          "maxLength": 800,
          "type": "string"
        },
        "description": {
          "maxGraphemes": 256,
          "maxLength": 2560,
          "type": "string"
        },
        "displayName": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "fields": {
          "description": "Only listed fields override defaults. A listed field with no value explicitly clears it (avatar falls back to Bluesky); remove it from this list to inherit again.",
          "items": {
            "knownValues": [
              "displayName",
              "description",
              "pronouns",
              "website",
              "signature",
              "avatar",
              "title",
              "notifications",
              "profileSkin",
              "banner",
              "headline",
              "currently",
              "about",
              "panels"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "forum": {
          "format": "did",
          "type": "string"
        },
        "headline": {
          "maxGraphemes": 80,
          "maxLength": 800,
          "type": "string"
        },
        "notifications": {
          "type": "boolean"
        },
        "panels": {
          "items": {
            "ref": "#panel",
            "type": "ref"
          },
          "maxLength": 32,
          "type": "array"
        },
        "profileSkin": {
          "knownValues": [
            "classic",
            "sky",
            "bubblegum",
            "midnight",
            "forest"
          ],
          "maxLength": 64,
          "type": "string"
        },
        "pronouns": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "signature": {
          "items": {
            "refs": [
              "app.atmobb.richtext.block#text",
              "app.atmobb.richtext.block#quote",
              "app.atmobb.richtext.block#code",
              "app.atmobb.richtext.block#image"
            ],
            "type": "union"
          },
          "maxLength": 3,
          "type": "array"
        },
        "title": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "website": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "forum",
        "fields"
      ],
      "type": "object"
    },
    "forumTheme": {
      "properties": {
        "forum": {
          "format": "did",
          "type": "string"
        },
        "theme": {
          "knownValues": [
            "",
            "classic",
            "sky",
            "bubblegum",
            "midnight",
            "forest"
          ],
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "forum",
        "theme"
      ],
      "type": "object"
    },
    "garment": {
      "description": "A garment choice: which type (e.g. jacket, tie) in which colour.",
      "properties": {
        "color": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type",
        "color"
      ],
      "type": "object"
    },
    "main": {
      "description": "A user's atmoBB account defaults and per-forum overrides. Lives in the user's repo.",
      "key": "literal:self",
      "record": {
        "properties": {
          "about": {
            "description": "Long-form About me on the profile page, separate from the short bio in description.",
            "items": {
              "refs": [
                "app.atmobb.richtext.block#text",
                "app.atmobb.richtext.block#quote",
                "app.atmobb.richtext.block#code",
                "app.atmobb.richtext.block#image"
              ],
              "type": "union"
            },
            "maxLength": 20,
            "type": "array"
          },
          "avatar": {
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp",
              "image/gif"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "avatarBuilder": {
            "description": "Legacy layered-avatar recipe from an earlier builder. atmobb ignores it; clients should read the `avatar` blob.",
            "ref": "#avatarBuilder",
            "type": "ref"
          },
          "banner": {
            "description": "Patterned banner across the top of the profile page.",
            "ref": "#banner",
            "type": "ref"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "currently": {
            "description": "What the member is up to right now, shown under the headline.",
            "maxGraphemes": 80,
            "maxLength": 800,
            "type": "string"
          },
          "description": {
            "description": "Default free-text bio, shown on the profile's About panel unless overridden for a forum.",
            "maxGraphemes": 256,
            "maxLength": 2560,
            "type": "string"
          },
          "displayName": {
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "forumProfiles": {
            "description": "Per-forum overrides for profile fields and notification preferences. Other fields inherit account defaults.",
            "items": {
              "ref": "#forumProfile",
              "type": "ref"
            },
            "type": "array"
          },
          "forumThemes": {
            "description": "Per-forum personal theme overrides. Omit a forum to use the global theme; an empty theme preserves that forum's own styling.",
            "items": {
              "ref": "#forumTheme",
              "type": "ref"
            },
            "type": "array"
          },
          "headline": {
            "description": "Short line shown under the member's name on their profile page.",
            "maxGraphemes": 80,
            "maxLength": 800,
            "type": "string"
          },
          "notifications": {
            "description": "Whether connected forums may notify this account. Defaults to true; never grants relay permission.",
            "type": "boolean"
          },
          "panels": {
            "description": "Profile page panels in display order. Panels missing from the list follow in the default order; unknown ids are ignored.",
            "items": {
              "ref": "#panel",
              "type": "ref"
            },
            "maxLength": 32,
            "type": "array"
          },
          "profileSkin": {
            "description": "Color skin visitors see on this member's profile page. Omit to use the forum's look; forums may turn skins off.",
            "knownValues": [
              "classic",
              "sky",
              "bubblegum",
              "midnight",
              "forest"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "pronouns": {
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "signature": {
            "description": "Rendered under every post, phpBB style. Keep it short; clients may truncate.",
            "items": {
              "refs": [
                "app.atmobb.richtext.block#text",
                "app.atmobb.richtext.block#quote",
                "app.atmobb.richtext.block#code",
                "app.atmobb.richtext.block#image"
              ],
              "type": "union"
            },
            "maxLength": 3,
            "type": "array"
          },
          "theme": {
            "description": "Personal color theme across forums. Omit to follow each forum's default styling.",
            "knownValues": [
              "classic",
              "sky",
              "bubblegum",
              "midnight",
              "forest"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "title": {
            "description": "Self-chosen user title, shown under the username where the forum allows it.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "website": {
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "type": "record"
    },
    "panel": {
      "properties": {
        "hidden": {
          "description": "Hidden from visitors. Absent means shown.",
          "type": "boolean"
        },
        "id": {
          "knownValues": [
            "about",
            "pinned",
            "stamps",
            "regulars",
            "activity",
            "guestbook",
            "bluesky",
            "signature"
          ],
          "maxLength": 32,
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "type": "object"
    },
    "part": {
      "description": "A part choice: a shape id and, where the part is colourable, a palette colour id.",
      "properties": {
        "color": {
          "type": "string"
        },
        "shape": {
          "type": "string"
        }
      },
      "required": [
        "shape"
      ],
      "type": "object"
    }
  },
  "id": "app.atmobb.actor.profile",
  "lexicon": 1
}

Validate Record

Validate a record against app.atmobb.actor.profile

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

Metadata

DID
did:plc:dqnwiguwsbb6uwrm7a2rsff2
CID
bafyreihifpmqhfl7kkfg5vzbuoczr6vw6cajo343igh6jfzm4kqbhstbzu
Indexed At
2026-10-07 04:30 UTC
AT-URI
at://did:plc:dqnwiguwsbb6uwrm7a2rsff2/com.atproto.lexicon.schema/app.atmobb.actor.profile

Version History (6 versions)

Referenced Schemas (4)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@