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.

Repository @colibri.social did:plc:mprdjqjluoswa7awzggaggj3 namespace authority
Details · procedure
Kindprocedure
Authoritycommunity.beta.colibri.social
Indexed

Showing version bafyreicxpyt33vqainpbwc5d7jdx3m3eg3radpwlee2v6xr5wh72ctknpm. Show the latest

cid bafyreicxpyt33vqainpbwc5d7jdx3m3eg3radpwlee2v6xr5wh72ctknpm

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "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.",
      "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 community cannot move onto spaces, for example because it lives inside its owner's repo.",
          "name": "NotMigratable"
        },
        {
          "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 legacy community, in state migrating with its progress.",
              "ref": "social.colibri.beta.community.defs#legacyCommunityView",
              "type": "ref"
            }
          },
          "required": [
            "community"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "social.colibri.beta.community.migrate",
  "lexicon": 1
}