app.zeens.notification.listNotifications
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"actor": {
"properties": {
"avatar": {
"type": "string"
},
"did": {
"format": "did",
"type": "string"
},
"displayName": {
"type": "string"
},
"handle": {
"type": "string"
}
},
"required": [
"did"
],
"type": "object"
},
"main": {
"description": "List notifications for the authenticated Zeens user. Merges likes, replies, follows, group-membership and group-photo events from the firehose.",
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cursor": {
"type": "string"
},
"notifications": {
"items": {
"ref": "#notification",
"type": "ref"
},
"type": "array"
},
"seenAt": {
"format": "datetime",
"type": "string"
}
},
"required": [
"notifications"
],
"type": "object"
}
},
"parameters": {
"properties": {
"actors": {
"description": "Required comma-separated allowlist of author DIDs (the Zeens membership set). Only notifications authored by one of these DIDs are returned, so activity that reached the repo from Bluesky or another atproto client is excluded. An empty list returns nothing.",
"type": "string"
},
"cursor": {
"description": "Pagination cursor (ISO-8601 timestamp of the oldest notification in the previous page).",
"type": "string"
},
"limit": {
"default": 50,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"recipient": {
"description": "DID whose notifications to fetch. The AppView trusts this value; auth is enforced at the SvelteKit layer.",
"format": "did",
"type": "string"
}
},
"required": [
"recipient",
"actors"
],
"type": "params"
},
"type": "query"
},
"notification": {
"properties": {
"author": {
"description": "Who caused the notification (the liker, replier, follower, inviter, etc.).",
"ref": "#actor",
"type": "ref"
},
"extra": {
"description": "Reason-specific payload (e.g. group DID, role, accept/decline flag).",
"type": "unknown"
},
"indexedAt": {
"format": "datetime",
"type": "string"
},
"isRead": {
"type": "boolean"
},
"labels": {
"items": {
"type": "unknown"
},
"type": "array"
},
"reason": {
"description": "The type of notification.",
"knownValues": [
"like",
"reply",
"follow",
"article-like",
"article-reply",
"comment_like",
"comment_reply",
"group-member-added",
"group-photo-added",
"group-invite",
"group-photo-invite",
"group-photo-invite-accepted"
],
"type": "string"
},
"reasonSubject": {
"description": "For like/reply/article-like: AT-URI of the subject post/article. For group events: AT-URI of the group record.",
"format": "at-uri",
"type": "string"
},
"recordUri": {
"description": "Same as uri — present for compatibility with bsky notification shape.",
"format": "at-uri",
"type": "string"
},
"uri": {
"description": "AT-URI of the triggering record (the like, reply, follow, groupMember, etc.).",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"author",
"reason",
"recordUri",
"isRead",
"indexedAt"
],
"type": "object"
}
},
"id": "app.zeens.notification.listNotifications",
"lexicon": 1
}
Metadata
- DID
-
did:plc:pwpuqwge6g7xrjmfbw73uycw - CID
-
bafyreidalie367wcg76xtzy6p2rc3xhsoqxnljcporeetyncrqukifj5wq - Indexed At
- 2026-10-22 16:31 UTC
- AT-URI
-
at://did:plc:pwpuqwge6g7xrjmfbw73uycw/com.atproto.lexicon.schema/app.zeens.notification.listNotifications
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Paginated notifications addressed to the requesting viewer, newest first. The viewer DID is read from the service-auth JWT (`iss` claim) — no `?viewer=` query parameter.
-
Enumerate notifications for the requesting account. Requires auth.
-
Enumerate notifications for the requesting account. Requires auth.
-
Enumerate notifications for the requesting account. Requires auth.
-
Get the authenticated member's notifications, paginated by cursor.