app.tempomusic.notification.defs

lexicons.tempomusic.fan

{
  "id": "app.tempomusic.notification.defs",
  "defs": {
    "notificationView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "reason",
        "record",
        "isRead",
        "indexedAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the source record (the like or reply) that produced this notification."
        },
        "author": {
          "ref": "app.tempomusic.feed.defs#authorView",
          "type": "ref",
          "description": "The actor whose action produced this notification."
        },
        "isRead": {
          "type": "boolean",
          "description": "Server-computed from indexedAt and the recipient's stored seenAt; true when this notification predates seenAt."
        },
        "reason": {
          "type": "string",
          "maxLength": 100,
          "description": "Why this notification was produced. knownValues is informational; clients should accept unknown values and skip them.",
          "knownValues": [
            "post-liked",
            "post-replied",
            "reply-liked"
          ]
        },
        "record": {
          "type": "unknown",
          "description": "The underlying app.tempomusic.feed.like or app.tempomusic.feed.reply record carried verbatim with its $type discriminator. Lexicon-typed as unknown to match the AT Protocol convention for embedded records."
        },
        "indexedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Timestamp at which the AppView indexed the source record."
        },
        "reasonSubject": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the post or reply that was acted upon (the recipient's own record). Matches Bluesky's reasonSubject semantics."
        },
        "subjectRootUri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the root post for navigation. For post-liked / post-replied this equals reasonSubject; for reply-liked this is the root post the liked reply hangs off, letting clients open the right thread without a second lookup."
        }
      },
      "description": "A single notification surfaced to the recipient. Server-projected from indexed like/reply records; recipients are scoped server-side from the viewer parameter."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against app.tempomusic.notification.defs

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

Metadata

DID
did:plc:pxsuqmultto34oks44m2lgxm
CID
bafyreiggygy6sistytlq4if2lb2ufzdr3x2vn3h6piszk4ujax4lqzgymu
Indexed At
2026-08-24 09:06 UTC
AT-URI
at://did:plc:pxsuqmultto34oks44m2lgxm/com.atproto.lexicon.schema/app.tempomusic.notification.defs

Referenced Schemas (1)

Lexicon Garden

@