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

Compare Other Versions

Lexicon Garden

@