fyi.opensocial.updateProfile

lexicons.opensocial.fyi

Schema Diff

+10 -10

From

CID
bafyreidt2l3gtt2...
Indexed At
2026-09-23 23:24 UTC
View this version

To

CID
bafyreifo2uxr6w5...
Indexed At
2026-09-24 00:10 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

3 breaking changes, 1 non-breaking change.

Breaking Changes (3)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.group", kind: "prop", name: Some("group") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.community", kind: "prop", name: Some("community") }
  • RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.updateProfile:input.community" }
Non-Breaking Changes (1)
  • AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.group" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "fyi.opensocial.updateProfile:input.community" }

Added Elements

  • AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.group" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.group", kind: "prop", name: Some("group") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.community", kind: "prop", name: Some("community") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "Replace the profile: name, description, join policy. Requires community.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createCommunity.",
5 +
      "description": "Replace the profile: name, description, join policy. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.",
6 6
      "input": {
7 7
        "encoding": "application/json",
8 8
        "schema": {
9 9
          "properties": {
10 10
            "avatar": {
11 11
              "accept": [
12 12
                "image/png",
13 13
                "image/jpeg"
14 14
              ],
15 -
              "description": "The community's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.",
15 +
              "description": "The group's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.",
16 16
              "maxSize": 1000000,
17 17
              "type": "blob"
18 18
            },
19 19
            "banner": {
20 20
              "accept": [
21 21
                "image/png",
22 22
                "image/jpeg"
23 23
              ],
24 -
              "description": "The community's banner, as returned by uploadImage. Omit to keep the current one; null to clear it.",
24 +
              "description": "The group's banner, as returned by uploadImage. Omit to keep the current one; null to clear it.",
25 25
              "maxSize": 1000000,
26 26
              "type": "blob"
27 -
            },
28 -
            "community": {
29 -
              "description": "The community DID. Every method is served by the community's host and authorized against that community's roles.",
30 -
              "format": "did",
31 -
              "type": "string"
32 27
            },
33 28
            "description": {
34 29
              "maxGraphemes": 300,
35 30
              "maxLength": 3000,
36 31
              "type": "string"
37 32
            },
38 33
            "displayName": {
39 34
              "maxGraphemes": 64,
40 35
              "maxLength": 640,
41 36
              "type": "string"
42 37
            },
38 +
            "group": {
39 +
              "description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
40 +
              "format": "did",
41 +
              "type": "string"
42 +
            },
43 43
            "joinPolicy": {
44 44
              "knownValues": [
45 45
                "fyi.opensocial.profile#open",
46 46
                "fyi.opensocial.profile#request",
47 47
                "fyi.opensocial.profile#invite"
48 48
              ],
49 49
              "type": "string"
50 50
            },
51 51
            "url": {
52 -
              "description": "The community's own site.",
52 +
              "description": "The group's own site.",
53 53
              "format": "uri",
54 54
              "type": "string"
55 55
            }
56 56
          },
57 57
          "required": [
58 -
            "community",
58 +
            "group",
59 59
            "displayName"
60 60
          ],
61 61
          "type": "object"
62 62
        }
63 63
      },
64 64
      "output": {
65 65
        "encoding": "application/json",
66 66
        "schema": {
67 67
          "properties": {
68 68
            "cid": {
69 69
              "format": "cid",
70 70
              "type": "string"
71 71
            },
72 72
            "uri": {
73 73
              "format": "at-uri",
74 74
              "type": "string"
75 75
            }
76 76
          },
77 77
          "required": [
78 78
            "uri",
79 79
            "cid"
80 80
          ],
81 81
          "type": "object"
82 82
        }
83 83
      },
84 84
      "type": "procedure"
85 85
    }
86 86
  },
87 87
  "id": "fyi.opensocial.updateProfile",
88 88
  "lexicon": 1
89 89
}

Compare Other Versions

Lexicon Garden

@