app.atmobb.forum.profile
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"font": {
"properties": {
"family": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
},
"source": {
"accept": [
"font/woff",
"font/woff2"
],
"maxSize": 2000000,
"type": "blob"
},
"style": {
"knownValues": [
"normal",
"italic"
],
"maxLength": 16,
"type": "string"
},
"weight": {
"maximum": 900,
"minimum": 100,
"type": "integer"
}
},
"required": [
"family",
"weight",
"style",
"source"
],
"type": "object"
},
"homepage": {
"properties": {
"featuredThreads": {
"items": {
"format": "at-uri",
"type": "string"
},
"maxLength": 3,
"type": "array"
},
"layout": {
"knownValues": [
"boards",
"latest",
"categories-latest"
],
"maxLength": 32,
"type": "string"
},
"sidebar": {
"type": "boolean"
},
"welcome": {
"knownValues": [
"classic",
"compact",
"hidden"
],
"maxLength": 32,
"type": "string"
}
},
"type": "object"
},
"main": {
"description": "A forum's identity and configuration. Lives in the forum account's repo; the forum's DID is the forum's identity.",
"key": "literal:self",
"record": {
"properties": {
"avatar": {
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"maxSize": 1000000,
"type": "blob"
},
"banner": {
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"maxSize": 2000000,
"type": "blob"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"customCss": {
"description": "Forum-owned CSS applied to public pages. Admin pages deliberately ignore it so a broken stylesheet can always be repaired.",
"maxLength": 100000,
"type": "string"
},
"customFonts": {
"description": "Forum-owned webfont faces available to customCss.",
"items": {
"ref": "#font",
"type": "ref"
},
"maxLength": 12,
"type": "array"
},
"description": {
"maxGraphemes": 1000,
"maxLength": 10000,
"type": "string"
},
"favicon": {
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"description": "Forum-owned browser icon.",
"maxSize": 1000000,
"type": "blob"
},
"hideCredit": {
"description": "Hide the 'powered by atmobb' badge in the page footer. Absent means shown.",
"type": "boolean"
},
"hideDefaultStamps": {
"description": "Hide the board and arrival default stamps on member rails. The 'here since' line always shows. Absent means shown.",
"type": "boolean"
},
"hideProfileSkins": {
"description": "Show every member profile page in the forum's own colors, ignoring members' profile skins. Banner patterns and headlines still show. Absent means skins show.",
"type": "boolean"
},
"homepage": {
"description": "Optional forum homepage presentation. Absent values retain the classic board index.",
"ref": "#homepage",
"type": "ref"
},
"intro": {
"description": "Rich welcome shown in the home page hero under the description. Absent means the hero shows the name and description only.",
"items": {
"refs": [
"app.atmobb.richtext.block#text",
"app.atmobb.richtext.block#quote",
"app.atmobb.richtext.block#code"
],
"type": "union"
},
"maxLength": 50,
"type": "array"
},
"links": {
"items": {
"format": "uri",
"type": "string"
},
"maxLength": 20,
"type": "array"
},
"membership": {
"description": "How people join. Absent means open: declaring membership is joining.",
"ref": "#membership",
"type": "ref"
},
"name": {
"maxGraphemes": 100,
"maxLength": 1000,
"type": "string"
},
"ogImage": {
"accept": [
"image/png"
],
"description": "Forum-owned 1200 by 630 PNG used as the forum landing page's social preview image.",
"maxSize": 2000000,
"type": "blob"
},
"ogTheme": {
"description": "Visual preset used by the generated forum landing page social preview.",
"knownValues": [
"classic",
"midnight",
"ocean",
"forest",
"plum"
],
"maxLength": 32,
"type": "string"
},
"ranks": {
"description": "Deprecated and no longer rendered: post-count ranks gave way to stamps (app.atmobb.forum.stamp). Kept so older records still validate.",
"items": {
"ref": "#rank",
"type": "ref"
},
"maxLength": 50,
"type": "array"
},
"rules": {
"items": {
"refs": [
"app.atmobb.richtext.block#text",
"app.atmobb.richtext.block#quote",
"app.atmobb.richtext.block#code"
],
"type": "union"
},
"maxLength": 50,
"type": "array"
},
"theme": {
"description": "Built-in color theme preset. Absent means the classic atmobb skin. Custom CSS loads after the preset and may override it.",
"knownValues": [
"classic",
"sky",
"bubblegum",
"midnight",
"forest"
],
"maxLength": 32,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "record"
},
"membership": {
"description": "Join policy for a forum. In the apply and invite modes only accounts the forum has accepted (an acceptMember moderation action) may post; reading stays public.",
"properties": {
"gatedSince": {
"description": "When the forum last entered a gated mode. Posts written while the forum was open are served regardless of membership.",
"format": "datetime",
"type": "string"
},
"inviteCap": {
"description": "Open invites an ordinary member may hold at once. 0 means only staff mint invites.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"inviteDays": {
"description": "Days before an unredeemed invite expires.",
"maximum": 365,
"minimum": 1,
"type": "integer"
},
"mode": {
"knownValues": [
"open",
"apply",
"invite"
],
"maxLength": 32,
"type": "string"
},
"prompt": {
"description": "The one question shown on the application form in apply mode.",
"maxGraphemes": 300,
"maxLength": 3000,
"type": "string"
}
},
"type": "object"
},
"rank": {
"properties": {
"minPosts": {
"minimum": 0,
"type": "integer"
},
"title": {
"maxGraphemes": 64,
"maxLength": 640,
"type": "string"
}
},
"required": [
"title",
"minPosts"
],
"type": "object"
}
},
"id": "app.atmobb.forum.profile",
"lexicon": 1
}
Metadata
- DID
-
did:plc:dqnwiguwsbb6uwrm7a2rsff2 - CID
-
bafyreifspsdwjy4acan7tbakulittsd2vwo5fftdqhuumextqjjktvnkza - Indexed At
- 2026-10-07 04:30 UTC
- AT-URI
-
at://did:plc:dqnwiguwsbb6uwrm7a2rsff2/com.atproto.lexicon.schema/app.atmobb.forum.profile
Version History (6 versions)
Referenced Schemas (3)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
app.atmobb.actor.profile record
A user's atmoBB account defaults and per-forum overrides. Lives in the user's repo.
-
app.atmobb.forum.membership record
Declares membership in a forum. Lives in the member's own repo, pointing at the forum's DID — joining is an act of the member, leaving is deleting this record.
-
app.atmobb.forum.board record
A board within a forum. Lives in the forum account's repo. Subforums reference their parent board.