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
multipart/form-dataAccepts raw binary data
Output
application/jsonchannelMap
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.
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"
}