app.didpic.chat.defs

lexicons.didpic.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "conversationView": {
      "properties": {
        "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 (app.didpic.chat.setMuted) - push notifications only, unread counts are unaffected.",
          "type": "boolean"
        },
        "otherLastReadAt": {
          "description": "The other participant's last_read_at, for a 1:1 'Seen' indicator. Only present when participantCount is 2.",
          "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 only when participantCount is 2 and a block exists either direction between the viewer and the other participant - the conversation is frozen, no new messages can be sent.",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "participants",
        "participantCount",
        "createdAt"
      ],
      "type": "object"
    },
    "messageView": {
      "properties": {
        "author": {
          "ref": "app.didpic.actor.defs#profileBasic",
          "type": "ref"
        },
        "conversationId": {
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "imageHeight": {
          "type": "integer"
        },
        "imageUrl": {
          "type": "string"
        },
        "imageWidth": {
          "type": "integer"
        },
        "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 this message shared a post that has since been deleted/taken down - sharedPost is omitted in that case.",
          "type": "boolean"
        },
        "takedown": {
          "type": "boolean"
        },
        "text": {
          "type": "string"
        }
      },
      "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"
        },
        "id": {
          "type": "string"
        },
        "imageHeight": {
          "type": "integer"
        },
        "imageUrl": {
          "type": "string"
        },
        "imageWidth": {
          "type": "integer"
        },
        "sharedPost": {
          "ref": "app.didpic.feed.defs#postView",
          "type": "ref"
        },
        "sharedPostUnavailable": {
          "description": "True when the replied-to message shared a post that has since been deleted/taken down - sharedPost is omitted in that case.",
          "type": "boolean"
        },
        "textSnippet": {
          "type": "string"
        },
        "unavailable": {
          "description": "True when the replied-to message has since been taken down - every other field is omitted in that case.",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "unavailable"
      ],
      "type": "object"
    }
  },
  "id": "app.didpic.chat.defs",
  "lexicon": 1
}

Validate Record

Validate a record against app.didpic.chat.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
bafyreidkaosir37wcnxrfu2qsrezheiefyk5gqv6dpksx7yj5cmsmsowd4
Indexed At
2026-10-11 00:41 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.

Lexicon Garden

@