social.colibri.community.migrate

colibri.social

{
  "id": "social.colibri.community.migrate",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "encoding": "*/*",
        "description": "Optional replacement community picture image bytes."
      },
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "did",
            "community",
            "channelMap"
          ],
          "properties": {
            "did": {
              "type": "string",
              "format": "did"
            },
            "community": {
              "type": "string",
              "format": "at-uri"
            },
            "channelMap": {
              "type": "array",
              "items": {
                "ref": "lex:social.colibri.community.migrate#channelMapping",
                "type": "ref"
              },
              "description": "Maps each cloned channel from its old AT-URI to its new AT-URI."
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "required": [
          "kind",
          "source"
        ],
        "properties": {
          "pds": {
            "type": "string",
            "description": "Bring-your-own PDS endpoint."
          },
          "kind": {
            "type": "string",
            "description": "The migration to run. 'legacy-community' migrates a pre-rework community record.",
            "knownValues": [
              "legacy-community"
            ]
          },
          "name": {
            "type": "string"
          },
          "source": {
            "type": "string",
            "format": "at-uri",
            "description": "The record being migrated (e.g. the legacy community)."
          },
          "mimeType": {
            "type": "string",
            "description": "MIME type of the picture body, if provided."
          },
          "password": {
            "type": "string",
            "description": "Bring-your-own account password."
          },
          "identifier": {
            "type": "string",
            "description": "Bring-your-own DID or handle."
          },
          "description": {
            "type": "string"
          },
          "requiresApprovalToJoin": {
            "type": "boolean"
          }
        }
      },
      "description": "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)."
    },
    "channelMapping": {
      "type": "object",
      "required": [
        "old",
        "new"
      ],
      "properties": {
        "new": {
          "type": "string",
          "format": "at-uri"
        },
        "old": {
          "type": "string",
          "format": "at-uri"
        }
      },
      "description": "A single channel's old AT-URI mapped to its new AT-URI."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against social.colibri.community.migrate

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:mprdjqjluoswa7awzggaggj3
CID
bafyreidhbbtq5xjh4ohqnkmlvtg5pyio5exfywiafz6ykkqzvi3x3vdega
Indexed At
2026-07-24 14:44 UTC
AT-URI
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.community.migrate

Version History (3 versions)

Referenced Schemas (1)

  • lex:social.colibri.community.migrate#channelMapping

Lexicon Garden

@