social.colibri.beta.community.migrate
Starts moving a repo-backed community onto spaces and returns once the move is queued. Structure, roles, members and bans are recreated in spaces stamped with migratedFrom. Message history of current members is copied from their public repos and served alongside as read-only legacy messages. The move runs in the background and reports progress through social.colibri.beta.sync.defs#communityProgressEvent. Calling it again while it runs returns the current state, and calling it after a failed attempt resumes from the last finished step.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | community.beta.colibri.social |
| Indexed |
Procedure
procedure · POSTInput
application/jsonThe 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.
Output
application/jsonThe legacy community, in state migrating with its progress.
Errors
AuthRequired
The request is missing, malformed, or unverifiable service auth.
Forbidden
The requesting user lacks permission to migrate this community.
CommunityNotFound
No community exists at the legacy record's DID.
AlreadyExists
This legacy community has already been migrated.
NotMigratable
The community cannot move onto spaces, for example because it lives inside its owner's repo.
CredentialsUnavailable
The AppView's stored credentials for this community are missing or unusable.
UpstreamFailure
A PDS or third-party call the AppView depends on failed.
Similar lexicons
semantic matchLexicons 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 to host future migrations. Provisioning mirrors community.create (managed when no PDS credentials are supplied, bring-your-own otherwise).
-
Lists the repo-backed communities the requesting user belongs to that have not finished moving onto spaces. The AppView reads this live from the user's own public repo and each candidate's public repo. A community that cannot move, such as one inside its owner's repo or one whose repo did not respond, is listed in state blocked with a reason.
-
social.colibri.beta.thread.moveMessages
procedureMoves 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.
-
social.colibri.beta.community.delete
procedureDeletes the community's spaces and its account. Members' own records stay in their own repos and simply become unreadable.
-
social.colibri.beta.community.adopt
procedureAdopts 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.community.create does. The account keeps its own DID, handle and PDS, and the caller becomes its owner. Use this instead of community.create to bring your own DID.