social.colibri.beta.community.migrate
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "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 authors' repos and only their authors can move them.",
"errors": [
{
"description": "The request is missing, malformed, or unverifiable service auth.",
"name": "AuthRequired"
},
{
"description": "The requesting user lacks permission to migrate this community.",
"name": "Forbidden"
},
{
"description": "No community exists at the legacy record's DID.",
"name": "CommunityNotFound"
},
{
"description": "This legacy community has already been migrated.",
"name": "AlreadyExists"
},
{
"description": "The AppView's stored credentials for this community are missing or unusable.",
"name": "CredentialsUnavailable"
},
{
"description": "A PDS or third-party call the AppView depends on failed.",
"name": "UpstreamFailure"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"community": {
"description": "The legacy community to migrate, by handle or DID. Only a community that holds its own DID can be migrated, so the DID is the whole address: the record to read is always social.colibri.community at self in that repo.",
"format": "at-identifier",
"type": "string"
}
},
"required": [
"community"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"community": {
"description": "The newly created, space-backed community.",
"ref": "social.colibri.beta.community.defs#communityView",
"type": "ref"
}
},
"required": [
"community"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "social.colibri.beta.community.migrate",
"lexicon": 1
}
Metadata
- DID
-
did:plc:mprdjqjluoswa7awzggaggj3 - CID
-
bafyreidenb6x2yfonkhgdb5mui4ww476uo5al4gpphzuf3vyoj7jkzfyvq - Indexed At
- 2026-08-23 17:25 UTC
- AT-URI
-
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.beta.community.migrate
Version History (2 versions)
Referenced Schemas (1)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Migrates a source record into a fresh community, cloning its structure and importing its members. The 'kind' discriminator selects the migration; today only legacy communities are supported, but the endpoint is designed…
-
Lists the repo-backed communities the requesting user belongs to that have not been migrated onto spaces yet, so a client can offer them as a choice rather than asking for a handle. The AppView reads this live from the …
-
social.colibri.beta.community.delete procedure
Deletes the community's spaces and its account. Members' own records stay in their own repos and simply become unreadable.
-
social.colibri.beta.community.adopt procedure
Adopts an existing account as a community: this AppView takes custody of its credentials, creates the four community spaces on whichever PDS already hosts it, and seeds the same starter layout social.colibri.beta.commun…
-
social.colibri.beta.thread.moveMessages procedure
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 destinat…