A public expression of interest in a listing. Coordination of pickup happens off-app via direct message.
tid
Timestamp-based ID
Properties
createdAt
string
datetime
Required
An RFC 3339 formatted timestamp.
facets
array
of
ref
app.bsky.richtext.facet
Optional
Annotations over `message` (mentions, links) keyed by UTF-8 byte range. Reuses app.bsky.richtext.facet for atmosphere-wide interop. Author-asserted at compose time; clients MUST treat them as display hints, re-validate ranges, and never trust a facet URI over the visible text. Addresses and phone numbers are deliberately NOT faceted here — those affordances are direct-message-only.
langs
array
of
string
language
Optional
Language(s) the message is written in, as BCP-47 language tags. Author-asserted; clients default from the composer's locale.
maxLength: 3 itemsmessage
string
Optional
Optional short public note (e.g. 'still available?'). Pickup details belong in direct messages, not here.
maxLength: 600 bytesmaxGraphemes: 300 graphemessubject
ref
com.atproto.repo.strongRef
Required
Strong reference (URI + CID) to the listing this interest refers to.
View raw schema
{
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"subject",
"createdAt"
],
"properties": {
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Language(s) the message is written in, as BCP-47 language tags. Author-asserted; clients default from the composer's locale."
},
"facets": {
"type": "array",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
},
"description": "Annotations over `message` (mentions, links) keyed by UTF-8 byte range. Reuses app.bsky.richtext.facet for atmosphere-wide interop. Author-asserted at compose time; clients MUST treat them as display hints, re-validate ranges, and never trust a facet URI over the visible text. Addresses and phone numbers are deliberately NOT faceted here — those affordances are direct-message-only."
},
"message": {
"type": "string",
"maxLength": 600,
"description": "Optional short public note (e.g. 'still available?'). Pickup details belong in direct messages, not here.",
"maxGraphemes": 300
},
"subject": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "Strong reference (URI + CID) to the listing this interest refers to."
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"description": "A public expression of interest in a listing. Coordination of pickup happens off-app via direct message."
}