wiki.lichen.noteRevision

lichen.wiki

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A revision to a note. It holds either a diff from the previous revision or the complete new body, depending on diffFormat.",
      "key": "tid",
      "record": {
        "properties": {
          "blobs": {
            "description": "Blobs the content references. Each is identified by the uploading repo's DID and the blob CID, which lichen serves at /blob/<did>/<cid>, and content points at one with ![alt](/blob/<did>/<cid>). Listing the ref here keeps the blob alive in the PDS.",
            "items": {
              "accept": [
                "image/jpeg",
                "image/png",
                "image/gif",
                "image/webp"
              ],
              "maxSize": 2097152,
              "type": "blob"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "When this revision was created.",
            "format": "datetime",
            "type": "string"
          },
          "diff": {
            "description": "The revision payload. With \"diff-match-patch\" it is a patch against parentRevision. With \"full-text\" it is the note's whole new body, and it is only accepted when parentRevision is the current head.",
            "maxLength": 1000000,
            "type": "string"
          },
          "diffFormat": {
            "description": "How to read the diff field. \"diff-match-patch\" means a patch against parentRevision. \"full-text\" means the whole note body.",
            "knownValues": [
              "diff-match-patch",
              "full-text"
            ],
            "maxLength": 32,
            "type": "string"
          },
          "message": {
            "description": "Optional commit message describing this revision.",
            "maxGraphemes": 1024,
            "maxLength": 10240,
            "type": "string"
          },
          "noteRef": {
            "description": "AT-URI of the parent note record.",
            "format": "at-uri",
            "type": "string"
          },
          "parentRevision": {
            "description": "AT-URI of the previous revision. Omitted for the first revision of a note.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "noteRef",
          "diff",
          "diffFormat",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "wiki.lichen.noteRevision",
  "lexicon": 1
}

Validate Record

Validate a record against wiki.lichen.noteRevision

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:xfs42pjf3n7imvgrdrp7xvez
CID
bafyreigmrogxx2ri3tiwifpd2mbinyaa3zexpzud2zkerdf4hgqllaqhqu
Indexed At
2026-09-08 05:54 UTC
AT-URI
at://did:plc:xfs42pjf3n7imvgrdrp7xvez/com.atproto.lexicon.schema/wiki.lichen.noteRevision

Version History (4 versions)

Similar Lexicons

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

  • A contributor's full copy of a note as they last saved it. Revisions define the note. The rkey is the note's rkey.

  • A note within a wiki. The rkey is a TID. Human-readable slug lives in the record body.

  • Get a note's current content and the head revision to write against. Public wikis only.

  • Supplemental text for a node. Shares the node's record key and repository, so the note for at://{did}/app.bulleted.node/{rkey} lives at at://{did}/app.bulleted.note/{rkey}.

  • List a public wiki's notes, each with its head revision. Compare latestRevisionUri with what you hold, then call getNote for the notes that changed.

Lexicon Garden

@