social.colibri.community.migrate

colibri.social

Schema Diff

+22 -0

From

CID
bafyreicj4ls3r5s...
Indexed At
2026-07-29 16:12 UTC
View this version

To

CID
bafyreiavipjj27n...
Indexed At
2026-07-31 21:22 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "channelMapping": {
5 5
      "description": "A single channel's old AT-URI mapped to its new AT-URI.",
6 6
      "properties": {
7 7
        "new": {
8 8
          "format": "at-uri",
9 9
          "type": "string"
10 10
        },
11 11
        "old": {
12 12
          "format": "at-uri",
13 13
          "type": "string"
14 14
        }
15 15
      },
16 16
      "required": [
17 17
        "old",
18 18
        "new"
19 19
      ],
20 20
      "type": "object"
21 21
    },
22 22
    "main": {
23 23
      "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).",
24 +
      "errors": [
25 +
        {
26 +
          "description": "Missing, malformed, or unverifiable service auth.",
27 +
          "name": "AuthRequired"
28 +
        },
29 +
        {
30 +
          "description": "The caller lacks the permission this method requires.",
31 +
          "name": "Forbidden"
32 +
        },
33 +
        {
34 +
          "description": "A parameter or body field was missing or malformed.",
35 +
          "name": "InvalidRequest"
36 +
        },
37 +
        {
38 +
          "description": "The referenced record does not exist.",
39 +
          "name": "NotFound"
40 +
        },
41 +
        {
42 +
          "description": "A service outside this AppView failed.",
43 +
          "name": "UpstreamFailure"
44 +
        }
45 +
      ],
24 46
      "input": {
25 47
        "description": "Optional replacement community picture blob, as a `picture` part. Migrated communities have no banner.",
26 48
        "encoding": "multipart/form-data"
27 49
      },
28 50
      "output": {
29 51
        "encoding": "application/json",
30 52
        "schema": {
31 53
          "properties": {
32 54
            "channelMap": {
33 55
              "description": "Maps each cloned channel from its old AT-URI to its new AT-URI.",
34 56
              "items": {
35 57
                "ref": "lex:social.colibri.community.migrate#channelMapping",
36 58
                "type": "ref"
37 59
              },
38 60
              "type": "array"
39 61
            },
40 62
            "community": {
41 63
              "format": "at-uri",
42 64
              "type": "string"
43 65
            },
44 66
            "did": {
45 67
              "format": "did",
46 68
              "type": "string"
47 69
            }
48 70
          },
49 71
          "required": [
50 72
            "did",
51 73
            "community",
52 74
            "channelMap"
53 75
          ],
54 76
          "type": "object"
55 77
        }
56 78
      },
57 79
      "parameters": {
58 80
        "properties": {
59 81
          "description": {
60 82
            "type": "string"
61 83
          },
62 84
          "identifier": {
63 85
            "description": "Bring-your-own DID or handle.",
64 86
            "type": "string"
65 87
          },
66 88
          "kind": {
67 89
            "description": "The migration to run. 'legacy-community' migrates a pre-rework community record.",
68 90
            "knownValues": [
69 91
              "legacy-community"
70 92
            ],
71 93
            "type": "string"
72 94
          },
73 95
          "name": {
74 96
            "type": "string"
75 97
          },
76 98
          "password": {
77 99
            "description": "Bring-your-own account password.",
78 100
            "type": "string"
79 101
          },
80 102
          "pds": {
81 103
            "description": "Bring-your-own PDS endpoint.",
82 104
            "type": "string"
83 105
          },
84 106
          "requiresApprovalToJoin": {
85 107
            "type": "boolean"
86 108
          },
87 109
          "source": {
88 110
            "description": "The record being migrated (e.g. the legacy community).",
89 111
            "format": "at-uri",
90 112
            "type": "string"
91 113
          }
92 114
        },
93 115
        "required": [
94 116
          "kind",
95 117
          "source"
96 118
        ],
97 119
        "type": "params"
98 120
      },
99 121
      "type": "procedure"
100 122
    }
101 123
  },
102 124
  "id": "social.colibri.community.migrate",
103 125
  "lexicon": 1
104 126
}

Compare Other Versions

Lexicon Garden

@