at.margin.readingRoom

margin.at

Documentation

Presentational configuration for a user's public reading room — a curated, themed view over their annotations. One per user.

main record

Presentational configuration for a user's public reading room — a curated, themed view over their annotations. One per user.

Record Key literal:self Fixed literal value

Properties

createdAt string datetime Required

An RFC 3339 formatted timestamp.

description string Optional

Longer description of what the room collects.

maxLength: 2000 bytesmaxGraphemes: 600 graphemes
featuredUris array of string at-uri Optional

AT URIs of annotations pinned to the top of the room.

maxLength: 12 items
showExternalBookmarks boolean Optional

Whether bookmarks from external services (Semble, Lichen, etc.) are shown in the room.

Default: true
subtitle string Optional

Tagline shown beneath the title.

maxLength: 300 bytesmaxGraphemes: 150 graphemes
theme ref #theme Optional

Visual theme for the room.

title string Optional

Title shown at the top of the reading room.

maxLength: 200 bytesmaxGraphemes: 100 graphemes
View raw schema
{
  "key": "literal:self",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "createdAt"
    ],
    "properties": {
      "theme": {
        "ref": "#theme",
        "type": "ref",
        "description": "Visual theme for the room."
      },
      "title": {
        "type": "string",
        "maxLength": 200,
        "description": "Title shown at the top of the reading room.",
        "maxGraphemes": 100
      },
      "subtitle": {
        "type": "string",
        "maxLength": 300,
        "description": "Tagline shown beneath the title.",
        "maxGraphemes": 150
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      },
      "description": {
        "type": "string",
        "maxLength": 2000,
        "description": "Longer description of what the room collects.",
        "maxGraphemes": 600
      },
      "featuredUris": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "at-uri"
        },
        "maxLength": 12,
        "description": "AT URIs of annotations pinned to the top of the room."
      },
      "showExternalBookmarks": {
        "type": "boolean",
        "default": true,
        "description": "Whether bookmarks from external services (Semble, Lichen, etc.) are shown in the room."
      }
    }
  },
  "description": "Presentational configuration for a user's public reading room — a curated, themed view over their annotations. One per user."
}
theme object

Visual theme for a reading room. Omitted fields fall back to app defaults.

Properties

accentColor string Optional

Accent color as a hex string (e.g. #3b82f6).

maxLength: 20 bytes
backgroundColor string Optional

Page background color as a hex string (e.g. #fcfcfc).

maxLength: 20 bytes
fontFamily string Optional

CSS font family identifier for body text.

maxLength: 100 bytes
layout string Optional

Arrangement of notes on the room page.

Known values: masonry, grid, list
View raw schema
{
  "type": "object",
  "properties": {
    "layout": {
      "type": "string",
      "default": "masonry",
      "description": "Arrangement of notes on the room page.",
      "knownValues": [
        "masonry",
        "grid",
        "list"
      ]
    },
    "fontFamily": {
      "type": "string",
      "maxLength": 100,
      "description": "CSS font family identifier for body text."
    },
    "accentColor": {
      "type": "string",
      "maxLength": 20,
      "description": "Accent color as a hex string (e.g. #3b82f6)."
    },
    "backgroundColor": {
      "type": "string",
      "maxLength": 20,
      "description": "Page background color as a hex string (e.g. #fcfcfc)."
    }
  },
  "description": "Visual theme for a reading room. Omitted fields fall back to app defaults."
}

Lexicon Garden

@