social.colibri.beta.message

colibri.social

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "attachment": {
      "description": "A file attached to a message.",
      "properties": {
        "blob": {
          "description": "The attached file.",
          "type": "blob"
        },
        "name": {
          "description": "The original filename.",
          "maxLength": 256,
          "type": "string"
        }
      },
      "required": [
        "blob"
      ],
      "type": "object"
    },
    "forward": {
      "description": "Another message's content, copied and frozen when the forward was made. The copy does not follow later edits, deletions or labels on the message it came from. Never itself nested: forwarding a forwarded message carries this content over and repoints `source` at the message it was forwarded from.",
      "properties": {
        "attachments": {
          "description": "The copied files, re-uploaded into the forwarding author's own repo so the forward stands on its own.",
          "items": {
            "description": "A copied file.",
            "ref": "#attachment",
            "type": "ref"
          },
          "type": "array"
        },
        "createdAt": {
          "description": "When the message this content came from was sent.",
          "format": "datetime",
          "type": "string"
        },
        "facets": {
          "description": "The copied annotations. A mention here does not notify anyone, because the AppView reads only a message's own facets.",
          "items": {
            "description": "An annotation.",
            "ref": "social.colibri.beta.richtext.facet",
            "type": "ref"
          },
          "type": "array"
        },
        "source": {
          "description": "The message this content was copied from.",
          "ref": "social.colibri.beta.defs#spaceRecordRef",
          "type": "ref"
        },
        "text": {
          "description": "The copied message body. Empty when the message that was forwarded carried only attachments.",
          "maxLength": 2048,
          "type": "string"
        }
      },
      "required": [
        "source",
        "createdAt",
        "text"
      ],
      "type": "object"
    },
    "main": {
      "description": "A message in a channel. Lives in the author's own permissioned repo for the channel's space.",
      "key": "tid",
      "record": {
        "properties": {
          "attachments": {
            "description": "Files attached to this message.",
            "items": {
              "ref": "#attachment",
              "type": "ref"
            },
            "type": "array"
          },
          "bridged": {
            "description": "Who sent this message on another service. Honoured only when the community itself wrote the record.",
            "ref": "social.colibri.beta.bridge.defs#attribution",
            "type": "ref"
          },
          "createdAt": {
            "description": "When the message was sent.",
            "format": "datetime",
            "type": "string"
          },
          "facets": {
            "description": "Annotations over ranges of the text.",
            "items": {
              "ref": "social.colibri.beta.richtext.facet",
              "type": "ref"
            },
            "type": "array"
          },
          "forward": {
            "description": "Content copied here from another message. Present only on a forwarded message.",
            "ref": "#forward",
            "type": "ref"
          },
          "parent": {
            "description": "The message this one replies to.",
            "ref": "social.colibri.beta.defs#recordRef",
            "type": "ref"
          },
          "suppressedEmbeds": {
            "description": "URLs from this message's link facets whose preview the author chose not to show. Moderator suppression is a label instead.",
            "items": {
              "format": "uri",
              "type": "string"
            },
            "type": "array"
          },
          "text": {
            "description": "The message body.",
            "maxLength": 2048,
            "type": "string"
          },
          "updatedAt": {
            "description": "When the message was last edited. Absent means never edited.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "text",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "social.colibri.beta.message",
  "lexicon": 1
}

Validate Record

Validate a record against social.colibri.beta.message

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

Metadata

DID
did:plc:mprdjqjluoswa7awzggaggj3
CID
bafyreia5cgy75s7loeeifrauaklfbkffsr5mdrd3s5t3fk4foncjn4fnce
Indexed At
2026-09-24 08:31 UTC
AT-URI
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.beta.message

Version History (2 versions)

Referenced Schemas (4)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@