ch.openlegal.annotation

martingajdos.ch

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "key": "tid",
      "record": {
        "properties": {
          "body": {
            "closed": false,
            "description": "The annotation content (WADM body): inline text (with richtext), or an embedded external/record resource. Absent for a bare highlight.",
            "refs": [
              "ch.openlegal.defs#textBody",
              "app.bsky.embed.external",
              "app.bsky.embed.record"
            ],
            "type": "union"
          },
          "createdAt": {
            "description": "When the annotation was created (WADM created).",
            "format": "datetime",
            "type": "string"
          },
          "motivation": {
            "description": "Why the annotation exists (WADM motivation).",
            "knownValues": [
              "commenting",
              "highlighting",
              "describing",
              "classifying",
              "linking",
              "editing",
              "assessing",
              "questioning",
              "replying"
            ],
            "type": "string"
          },
          "reply": {
            "description": "For threaded annotations: the parent ch.openlegal.annotation being replied to (WADM replying / AS2 inReplyTo).",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "target": {
            "description": "What is being annotated (WADM target — source + selector + version).",
            "ref": "ch.openlegal.defs#target",
            "type": "ref"
          }
        },
        "required": [
          "target",
          "motivation",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "An annotation of a legal document, modelled on the W3C Web Annotation Data Model (dokieli-flavoured) and expressed as an AT Protocol record. The creator is the record's repo (DID); collaboration is per-repo (each annotator holds their own records, aggregated by an AppView). Composes app.bsky.richtext + app.bsky.embed rather than forking them.",
  "id": "ch.openlegal.annotation",
  "lexicon": 1
}

Validate Record

Validate a record against ch.openlegal.annotation

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

Metadata

DID
did:plc:63agxubxktwdumdrwhegyk2h
CID
bafyreiechn5qp4q65ndzhr2ofsqzot6yyfn37yftz5rwg73dlqc7tximpu
Indexed At
2026-07-20 14:37 UTC
AT-URI
at://did:plc:63agxubxktwdumdrwhegyk2h/com.atproto.lexicon.schema/ch.openlegal.annotation

Referenced Schemas (4)

Similar Lexicons

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

  • Shared objects for openlegal.ch legal-annotation lexicons. Field shapes follow the W3C Web Annotation Data Model (WADM); AT Protocol lexicon + IPLD is the wire format (not WADM JSON-LD). A projection to WADM JSON-LD is …

  • W3C Web Annotation Data Model compliant unified note record for ATProto

  • A reply to an annotation or another reply

  • Inline annotation on a specific text span in an eprint

  • site.filae.chorus.note recordnot from the namespace authority

    A community note/annotation on any AT-URI

Lexicon Garden

@