{
"id": "chat.yakka.resolveMessage",
"defs": {
"main": {
"type": "query",
"output": {
"schema": {
"ref": "#output",
"type": "ref"
},
"encoding": "application/json"
},
"parameters": {
"type": "params",
"required": [
"channel",
"tid"
],
"properties": {
"tid": {
"type": "string"
},
"author": {
"type": "string",
"format": "did",
"description": "Disambiguates when two authors minted the same TID in this channel."
},
"channel": {
"type": "string"
}
}
},
"description": "Resolve a permalink fragment's message ref within a channel.\n\n`ambiguous` is the case the explicit fragment form exists to avoid: two authors can in principle mint the same TID in one channel. Rare at any single channel's scale, not impossible across many — so it is a case, not an assumption."
},
"output": {
"type": "object",
"required": [
"kind"
],
"properties": {
"seq": {
"type": "integer",
"description": "A deleted message keeps its sequence so the timeline can still scroll to it (ADR 0010)."
},
"kind": {
"type": "string",
"knownValues": [
"ok",
"ambiguous",
"gone",
"notFound"
]
},
"message": {
"ref": "chat.yakka.defs#messageView",
"type": "ref"
},
"candidates": {
"type": "array",
"items": {
"ref": "chat.yakka.defs#messageView",
"type": "ref"
}
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}