social.colibri.community.migrate

colibri.social

Documentation

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).

main procedure

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).

Parameters

description string Optional

No description available.

identifier string Optional

Bring-your-own DID or handle.

kind string Required

The migration to run. 'legacy-community' migrates a pre-rework community record.

name string Optional

No description available.

password string Optional

Bring-your-own account password.

pds string Optional

Bring-your-own PDS endpoint.

requiresApprovalToJoin boolean Optional

No description available.

source stringat-uri Required

The record being migrated (e.g. the legacy community).

Input

Encodingmultipart/form-data

Accepts raw binary data

Output

Encodingapplication/json
channelMap array Required

Maps each cloned channel from its old AT-URI to its new AT-URI.

community stringat-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

did stringdid Required

A decentralized identifier (DID).

Errors

AuthRequired Missing, malformed, or unverifiable service auth.
Forbidden The caller lacks the permission this method requires.
InvalidRequest A parameter or body field was missing or malformed.
NotFound The referenced record does not exist.
UpstreamFailure A service outside this AppView failed.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "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).",
  "errors": [
    {
      "description": "Missing, malformed, or unverifiable service auth.",
      "name": "AuthRequired"
    },
    {
      "description": "The caller lacks the permission this method requires.",
      "name": "Forbidden"
    },
    {
      "description": "A parameter or body field was missing or malformed.",
      "name": "InvalidRequest"
    },
    {
      "description": "The referenced record does not exist.",
      "name": "NotFound"
    },
    {
      "description": "A service outside this AppView failed.",
      "name": "UpstreamFailure"
    }
  ],
  "input": {
    "description": "Optional replacement community picture blob, as a `picture` part. Migrated communities have no banner.",
    "encoding": "multipart/form-data"
  },
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "channelMap": {
          "description": "Maps each cloned channel from its old AT-URI to its new AT-URI.",
          "items": {
            "ref": "lex:social.colibri.community.migrate#channelMapping",
            "type": "ref"
          },
          "type": "array"
        },
        "community": {
          "format": "at-uri",
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        }
      },
      "required": [
        "did",
        "community",
        "channelMap"
      ],
      "type": "object"
    }
  },
  "parameters": {
    "properties": {
      "description": {
        "type": "string"
      },
      "identifier": {
        "description": "Bring-your-own DID or handle.",
        "type": "string"
      },
      "kind": {
        "description": "The migration to run. 'legacy-community' migrates a pre-rework community record.",
        "knownValues": [
          "legacy-community"
        ],
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "password": {
        "description": "Bring-your-own account password.",
        "type": "string"
      },
      "pds": {
        "description": "Bring-your-own PDS endpoint.",
        "type": "string"
      },
      "requiresApprovalToJoin": {
        "type": "boolean"
      },
      "source": {
        "description": "The record being migrated (e.g. the legacy community).",
        "format": "at-uri",
        "type": "string"
      }
    },
    "required": [
      "kind",
      "source"
    ],
    "type": "params"
  },
  "type": "procedure"
}
channelMapping object

A single channel's old AT-URI mapped to its new AT-URI.

Properties

new string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

old string at-uri Required

An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).

View raw schema
{
  "description": "A single channel's old AT-URI mapped to its new AT-URI.",
  "properties": {
    "new": {
      "format": "at-uri",
      "type": "string"
    },
    "old": {
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "old",
    "new"
  ],
  "type": "object"
}

Lexicon Garden

@