social.colibri.community.migrate

colibri.social

Schema Diff

+24 -6

From

CID
bafyreidhbbtq5xj...
Indexed At
2026-07-24 14:44 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 -
        "description": "Optional replacement community picture image bytes.",
26 -
        "encoding": "*/*"
47 +
        "description": "Optional replacement community picture blob, as a `picture` part. Migrated communities have no banner.",
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 -
            "type": "string"
72 -
          },
73 -
          "mimeType": {
74 -
            "description": "MIME type of the picture body, if provided.",
75 93
            "type": "string"
76 94
          },
77 95
          "name": {
78 96
            "type": "string"
79 97
          },
80 98
          "password": {
81 99
            "description": "Bring-your-own account password.",
82 100
            "type": "string"
83 101
          },
84 102
          "pds": {
85 103
            "description": "Bring-your-own PDS endpoint.",
86 104
            "type": "string"
87 105
          },
88 106
          "requiresApprovalToJoin": {
89 107
            "type": "boolean"
90 108
          },
91 109
          "source": {
92 110
            "description": "The record being migrated (e.g. the legacy community).",
93 111
            "format": "at-uri",
94 112
            "type": "string"
95 113
          }
96 114
        },
97 115
        "required": [
98 116
          "kind",
99 117
          "source"
100 118
        ],
101 119
        "type": "params"
102 120
      },
103 121
      "type": "procedure"
104 122
    }
105 123
  },
106 124
  "id": "social.colibri.community.migrate",
107 125
  "lexicon": 1
108 126
}

Compare Other Versions

Lexicon Garden

@