app.didpic.notification.defs

lexicons.didpic.app

{
  "id": "app.didpic.notification.defs",
  "defs": {
    "notificationView": {
      "type": "object",
      "required": [
        "id",
        "reason",
        "author",
        "recordUri",
        "recordCid",
        "count",
        "isRead",
        "createdAt",
        "indexedAt"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Server-issued opaque identifier for this notification within the recipient's stream."
        },
        "post": {
          "ref": "app.didpic.feed.defs#postView",
          "type": "ref",
          "description": "Server-hydrated thread-root post for any reason involving a post (like / comment / reply). Lets clients render a thumbnail preview inline without an extra fetch."
        },
        "count": {
          "type": "integer",
          "minimum": 1,
          "description": "Number of underlying records collapsed into this notification. Always 1 for comment / reply / follow; for like notifications it counts repeat likes on the same subject (a viral post that gets many likes produces a single row with count incrementing)."
        },
        "author": {
          "ref": "app.didpic.actor.defs#profileBasic",
          "type": "ref",
          "description": "Most recent actor responsible for this notification. For collapsed likes this is the latest liker; the UI typically reads 'author and (count - 1) others ...'."
        },
        "isRead": {
          "type": "boolean",
          "description": "True if this notification's indexedAt is at or before the viewer's stored seenAt boundary."
        },
        "reason": {
          "type": "string",
          "knownValues": [
            "like",
            "comment",
            "reply",
            "follow"
          ]
        },
        "comment": {
          "ref": "app.didpic.feed.defs#commentView",
          "type": "ref",
          "description": "Server-hydrated comment for cases where the subject is a comment: reply (the parent comment) and like (when the like targets a comment rather than a post). Lets clients render the snippet text inline."
        },
        "postUri": {
          "type": "string",
          "format": "at-uri",
          "description": "Denormalised thread-root post URI for all post-context reasons (like / comment / reply). Lets clients route directly to the post view without a lookup. Absent for follow notifications."
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "indexedAt": {
          "type": "string",
          "format": "datetime"
        },
        "recordCid": {
          "type": "string",
          "format": "cid"
        },
        "recordUri": {
          "type": "string",
          "format": "at-uri",
          "description": "URI of the most recent underlying interaction record. For collapsed likes earlier likes are not enumerated."
        },
        "subjectCid": {
          "type": "string",
          "format": "cid"
        },
        "subjectUri": {
          "type": "string",
          "format": "at-uri",
          "description": "URI of the thing the interaction targeted: post for top-level comments and post-likes, comment for comment-likes and replies. Absent for follow notifications."
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against app.didpic.notification.defs

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

Metadata

DID
did:plc:an2jtp4jgkkbtmwfzhpbxawd
CID
bafyreievootbsnghylez6nofnhpavvksktktggkuvfyvigqxpslicqjugu
Indexed At
2026-05-16 07:07 UTC
AT-URI
at://did:plc:an2jtp4jgkkbtmwfzhpbxawd/com.atproto.lexicon.schema/app.didpic.notification.defs

Version History (5 versions)

Referenced Schemas (3)

Lexicon Garden

@