A chat message. Lives in the sender's repo, points to a channel.
Record Key
tid
Timestamp-based ID
Properties
AT-URI of the channel record this message belongs to.
Timestamp of message creation.
Embedded media or link card.
Rich text annotations (mentions, links, tags, formatting). Extends the Bluesky facet convention with additional formatting features.
Structured reply reference for threading.
Message text content.
maxLength: 3000 bytesmaxGraphemes: 1000 graphemes
View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"channel",
"text",
"createdAt"
],
"properties": {
"text": {
"type": "string",
"maxLength": 3000,
"description": "Message text content.",
"maxGraphemes": 1000
},
"embed": {
"refs": [
"#imageEmbed",
"#videoEmbed",
"#externalEmbed"
],
"type": "union",
"description": "Embedded media or link card."
},
"reply": {
"ref": "#replyRef",
"type": "ref",
"description": "Structured reply reference for threading."
},
"facets": {
"type": "array",
"items": {
"ref": "#richTextFacet",
"type": "ref"
},
"description": "Rich text annotations (mentions, links, tags, formatting). Extends the Bluesky facet convention with additional formatting features."
},
"channel": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the channel record this message belongs to."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of message creation."
}
}
},
"description": "A chat message. Lives in the sender's repo, points to a channel."
}
Width and height for layout before media loads.
Properties
No description available.
minimum: 1
No description available.
minimum: 1
View raw schema
{
"type": "object",
"required": [
"width",
"height"
],
"properties": {
"width": {
"type": "integer",
"minimum": 1
},
"height": {
"type": "integer",
"minimum": 1
}
},
"description": "Width and height for layout before media loads."
}
Facet feature for a block quotation.
This object has no properties defined.
View raw schema
{
"type": "object",
"properties": {},
"description": "Facet feature for a block quotation."
}
Facet feature for bold text.
This object has no properties defined.
View raw schema
{
"type": "object",
"properties": {},
"description": "Facet feature for bold text."
}
Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text.
Properties
No description available.
minimum: 0
No description available.
minimum: 0
View raw schema
{
"type": "object",
"required": [
"byteStart",
"byteEnd"
],
"properties": {
"byteEnd": {
"type": "integer",
"minimum": 0
},
"byteStart": {
"type": "integer",
"minimum": 0
}
},
"description": "Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text."
}
Facet feature for a code block. The text contains the code content.
Properties
Programming language for syntax highlighting.
maxLength: 50 bytes
View raw schema
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"maxLength": 50,
"description": "Programming language for syntax highlighting."
}
},
"description": "Facet feature for a code block. The text contains the code content."
}
Facet feature for inline code.
This object has no properties defined.
View raw schema
{
"type": "object",
"properties": {},
"description": "Facet feature for inline code."
}
External link card.
Properties
Description or summary.
maxLength: 1000 bytes
Thumbnail image for the link card.
maxSize: 1.0 MB
Title of the external content.
maxLength: 300 bytes
URL of the external content.
View raw schema
{
"type": "object",
"required": [
"uri",
"title"
],
"properties": {
"uri": {
"type": "string",
"format": "uri",
"description": "URL of the external content."
},
"thumb": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg"
],
"maxSize": 1000000,
"description": "Thumbnail image for the link card."
},
"title": {
"type": "string",
"maxLength": 300,
"description": "Title of the external content."
},
"description": {
"type": "string",
"maxLength": 1000,
"description": "Description or summary."
}
},
"description": "External link card."
}
Embedded images.
Properties
No description available.
maxLength: 4 items
View raw schema
{
"type": "object",
"required": [
"images"
],
"properties": {
"images": {
"type": "array",
"items": {
"ref": "#imageItem",
"type": "ref"
},
"maxLength": 4
}
},
"description": "Embedded images."
}
A single embedded image.
Properties
Alt text for accessibility.
maxLength: 2000 bytes
No description available.
Image blob reference.
maxSize: 1.0 MB
View raw schema
{
"type": "object",
"required": [
"image",
"alt"
],
"properties": {
"alt": {
"type": "string",
"maxLength": 2000,
"description": "Alt text for accessibility."
},
"image": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg",
"image/gif",
"image/webp"
],
"maxSize": 1000000,
"description": "Image blob reference."
},
"aspectRatio": {
"ref": "#aspectRatio",
"type": "ref"
}
},
"description": "A single embedded image."
}
Facet feature for italic text.
This object has no properties defined.
View raw schema
{
"type": "object",
"properties": {},
"description": "Facet feature for italic text."
}
Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
View raw schema
{
"type": "object",
"required": [
"uri"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
}
},
"description": "Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL."
}
Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.
Properties
A decentralized identifier (DID).
View raw schema
{
"type": "object",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did"
}
},
"description": "Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID."
}
Thread reply reference with root and parent for efficient deep thread traversal.
Properties
AT-URI of the direct parent message being replied to.
AT-URI of the root message in the thread.
View raw schema
{
"type": "object",
"required": [
"root",
"parent"
],
"properties": {
"root": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the root message in the thread."
},
"parent": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the direct parent message being replied to."
}
},
"description": "Thread reply reference with root and parent for efficient deep thread traversal."
}
Annotation of a sub-string within rich text.
Properties
No description available.
No description available.
View raw schema
{
"type": "object",
"required": [
"index",
"features"
],
"properties": {
"index": {
"ref": "#byteSlice",
"type": "ref"
},
"features": {
"type": "array",
"items": {
"refs": [
"#mention",
"#link",
"#tag",
"#bold",
"#italic",
"#strikethrough",
"#codeInline",
"#codeBlock",
"#blockquote"
],
"type": "union"
}
}
},
"description": "Annotation of a sub-string within rich text."
}
Facet feature for strikethrough text.
This object has no properties defined.
View raw schema
{
"type": "object",
"properties": {},
"description": "Facet feature for strikethrough text."
}
Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not.
Properties
No description available.
maxLength: 640 bytesmaxGraphemes: 64 graphemes
View raw schema
{
"type": "object",
"required": [
"tag"
],
"properties": {
"tag": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
}
},
"description": "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not."
}
Embedded video.
Properties
Alt text for accessibility.
maxLength: 2000 bytes
No description available.
Video thumbnail image.
maxSize: 1.0 MB
Video blob reference.
maxSize: 50.0 MB
View raw schema
{
"type": "object",
"required": [
"video"
],
"properties": {
"alt": {
"type": "string",
"maxLength": 2000,
"description": "Alt text for accessibility."
},
"video": {
"type": "blob",
"accept": [
"video/mp4",
"video/webm"
],
"maxSize": 50000000,
"description": "Video blob reference."
},
"thumbnail": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg"
],
"maxSize": 1000000,
"description": "Video thumbnail image."
},
"aspectRatio": {
"ref": "#aspectRatio",
"type": "ref"
}
},
"description": "Embedded video."
}