app.didpic.chat.defs
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"conversationView": {
"properties": {
"blockedParticipantDids": {
"description": "DIDs of other participants the viewer blocks or is blocked by.",
"items": {
"type": "string"
},
"type": "array"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"id": {
"type": "string"
},
"lastMessageAt": {
"format": "datetime",
"type": "string"
},
"lastMessagePreview": {
"type": "string"
},
"muted": {
"description": "True if the viewer has muted this conversation.",
"type": "boolean"
},
"nickname": {
"description": "Shared conversation name, if set.",
"type": "string"
},
"otherLastReadAt": {
"description": "The other participant's last-read time, for a 1:1 Seen indicator.",
"format": "datetime",
"type": "string"
},
"participantCount": {
"maximum": 10,
"minimum": 2,
"type": "integer"
},
"participants": {
"items": {
"ref": "app.didpic.actor.defs#profileBasic",
"type": "ref"
},
"type": "array"
},
"unreadCount": {
"minimum": 0,
"type": "integer"
},
"viewerBlocked": {
"description": "True if this 1:1 conversation is frozen by a block.",
"type": "boolean"
}
},
"required": [
"id",
"participants",
"participantCount",
"createdAt"
],
"type": "object"
},
"linkPreview": {
"properties": {
"description": {
"type": "string"
},
"imageHeight": {
"type": "integer"
},
"imageUrl": {
"type": "string"
},
"imageWidth": {
"type": "integer"
},
"title": {
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"messageView": {
"properties": {
"author": {
"ref": "app.didpic.actor.defs#profileBasic",
"type": "ref"
},
"blocked": {
"description": "True when the author is blocked by or blocking the viewer.",
"type": "boolean"
},
"conversationId": {
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"id": {
"type": "string"
},
"imageHeight": {
"type": "integer"
},
"imageUrl": {
"type": "string"
},
"imageWidth": {
"type": "integer"
},
"linkPreview": {
"ref": "app.didpic.chat.defs#linkPreview",
"type": "ref"
},
"reactions": {
"items": {
"ref": "app.didpic.chat.defs#reactionSummary",
"type": "ref"
},
"type": "array"
},
"replyTo": {
"ref": "app.didpic.chat.defs#replyPreview",
"type": "ref"
},
"sharedPost": {
"ref": "app.didpic.feed.defs#postView",
"type": "ref"
},
"sharedPostUnavailable": {
"description": "True when the shared post is gone.",
"type": "boolean"
},
"takedown": {
"type": "boolean"
},
"text": {
"type": "string"
},
"unavailable": {
"description": "True when the author's account is unavailable.",
"type": "boolean"
}
},
"required": [
"id",
"conversationId",
"author",
"createdAt"
],
"type": "object"
},
"reactionSummary": {
"properties": {
"count": {
"minimum": 1,
"type": "integer"
},
"reaction": {
"type": "string"
},
"viewerReacted": {
"type": "boolean"
}
},
"required": [
"reaction",
"count",
"viewerReacted"
],
"type": "object"
},
"replyPreview": {
"properties": {
"authorDid": {
"type": "string"
},
"blocked": {
"description": "True when the replied-to message's author is blocked.",
"type": "boolean"
},
"id": {
"type": "string"
},
"imageHeight": {
"type": "integer"
},
"imageUrl": {
"type": "string"
},
"imageWidth": {
"type": "integer"
},
"linkPreview": {
"ref": "app.didpic.chat.defs#linkPreview",
"type": "ref"
},
"sharedPost": {
"ref": "app.didpic.feed.defs#postView",
"type": "ref"
},
"sharedPostUnavailable": {
"description": "True when the shared post is gone.",
"type": "boolean"
},
"textSnippet": {
"type": "string"
},
"unavailable": {
"description": "True when the replied-to message is gone or unavailable.",
"type": "boolean"
}
},
"required": [
"id",
"unavailable"
],
"type": "object"
}
},
"id": "app.didpic.chat.defs",
"lexicon": 1
}
Metadata
- DID
-
did:plc:an2jtp4jgkkbtmwfzhpbxawd - CID
-
bafyreih2w6vvgqdwyj7iculmejpdzbkck4ucqjkbnpehb3bp75dcx2h7aa - Indexed At
- 2026-10-11 02:28 UTC
- AT-URI
-
at://did:plc:an2jtp4jgkkbtmwfzhpbxawd/com.atproto.lexicon.schema/app.didpic.chat.defs
Version History (8 versions)
Referenced Schemas (2)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Viewer state, kept apart from the channel because it changes on every read while the channel rarely changes.
-
Event indicating the viewer accepted a convo, and it can be moved out of the request inbox. Can be direct or group.
-
View of a pinned chat record with hydrated message data.
-
A file attached to a message.