social.colibri.beta.thread.moveMessages
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Moves messages into another thread or channel. A message lives in its author's own repo and cannot be rewritten by a moderator, so the move is a `moved` label written into the source space for each message. The destination serves each moved message at its own record key, so a selection keeps the order it was written in and reads among the destination's own messages by send time. The AppView withholds a moved message from the space it came from.",
"errors": [
{
"description": "The request has no valid service auth.",
"name": "AuthRequired"
},
{
"description": "The requesting user lacks the thread.move permission, or may not read the source or post in the destination.",
"name": "Forbidden"
},
{
"description": "No space exists at the source or destination reference.",
"name": "SpaceNotFound"
},
{
"description": "One of the subjects is not a message in the source space.",
"name": "MessageNotFound"
},
{
"description": "The destination is the source, belongs to another community, or a subject is not a message.",
"name": "InvalidRequest"
},
{
"description": "The AppView cannot act as the community because its stored credentials are missing or unusable.",
"name": "CredentialsUnavailable"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"destination": {
"description": "The space to move them to, either a channel or a thread in the same community.",
"format": "space-ref",
"type": "string"
},
"reason": {
"description": "Human-readable reason, recorded on every label in the batch.",
"maxLength": 512,
"type": "string"
},
"source": {
"description": "The space the messages are in now, either a channel or a thread.",
"format": "space-ref",
"type": "string"
},
"subjects": {
"description": "The messages to move, at most fifty in one call.",
"items": {
"description": "A message to move.",
"ref": "social.colibri.beta.label#subject",
"type": "ref"
},
"maxLength": 50,
"minLength": 1,
"type": "array"
}
},
"required": [
"source",
"destination",
"subjects"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"batch": {
"description": "The batch key shared by every label this call wrote, which groups the move for auditing.",
"format": "tid",
"type": "string"
},
"count": {
"description": "How many messages were moved.",
"type": "integer"
}
},
"required": [
"batch",
"count"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "social.colibri.beta.thread.moveMessages",
"lexicon": 1
}
Metadata
- DID
-
did:plc:mprdjqjluoswa7awzggaggj3 - CID
-
bafyreiglgva626xiycxawrraietioptgbkwqje2i6lf2fhyojuy2wrnkui - Indexed At
- 2026-09-08 06:52 UTC
- AT-URI
-
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.beta.thread.moveMessages
Version History (2 versions)
- 2026-09-08 06:52 UTC (current)
- 2026-09-01 11:12 UTC diff
Referenced Schemas (1)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
social.colibri.beta.thread.repoint procedure
Moves a thread to another channel by rewriting the channel its record links to, and optionally repoints it at another message. Who may read the thread follows the new channel. Left without an anchor the thread keeps the…
-
net.atchan.moderation.move record
A moderator's declaration that a thread belongs on a different board. The AppView honours a move only once a trusted labeler has countersigned this record with `net.atchan.moderation.defs#move`. The thread's own `board`…
-
social.colibri.beta.community.migrate procedure
Migrates a repo-backed community onto spaces. Structure is recreated in new spaces and stamped with migratedFrom. Message history stays in the legacy public repos and is served alongside, because messages live in their …
-
Deletes a thread's space. Messages members wrote in it stay in their own repos and become unreadable to everyone but their authors, the same way deleting a channel works. Messages that were moved into the thread go with…