com.getorbyt.community.manageMember

getorbyt.com

Schema Diff

+9 -0

From

CID
bafyreihkoy42o3f...
Indexed At
2026-10-04 14:54 UTC
View this version

To

CID
bafyreihyrm6gx7l...
Indexed At
2026-10-06 00:06 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.manageMember:input.roleKey" }
  • AddedEdge AddedEdge { src: "com.getorbyt.community.manageMember:input", tgt: "com.getorbyt.community.manageMember:input.roleKey", kind: "prop", name: Some("roleKey") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.getorbyt.community.manageMember:input.roleKey" }

Additional Notes

  • Non-breaking: AddedEdge { src: "com.getorbyt.community.manageMember:input", tgt: "com.getorbyt.community.manageMember:input.roleKey", kind: "prop", name: Some("roleKey") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "Mute, ban, or re-role a member. Only an administrator may set a role; a moderator may mute and ban, but never a peer or an administrator. Administration is service state and may be granted to an account that does not hold the declaration record; authority over the record itself is never transferable and always belongs to the repository that holds it.",
6 6
      "errors": [
7 7
        {
8 8
          "name": "CommunityNotFound"
9 9
        },
10 10
        {
11 11
          "name": "InsufficientRole"
12 12
        },
13 13
        {
14 14
          "name": "InvalidAction"
15 15
        },
16 16
        {
17 +
          "description": "roleKey names no role the Community defined.",
18 +
          "name": "RoleNotFound"
19 +
        },
20 +
        {
17 21
          "description": "The request carried no service-auth token, or one this service could not verify for the method. Distinct from InsufficientRole: the caller's identity was never established, so no role decision was made. A client should reauthorize and retry once rather than tell the viewer they lack access.",
18 22
          "name": "AuthenticationRequired"
19 23
        }
20 24
      ],
21 25
      "input": {
22 26
        "encoding": "application/json",
23 27
        "schema": {
24 28
          "properties": {
25 29
            "action": {
26 30
              "knownValues": [
27 31
                "setRole",
28 32
                "mute",
29 33
                "unmute",
30 34
                "ban",
31 35
                "unban"
32 36
              ],
33 37
              "type": "string"
34 38
            },
35 39
            "community": {
36 40
              "format": "at-uri",
37 41
              "type": "string"
38 42
            },
39 43
            "did": {
40 44
              "format": "did",
41 45
              "type": "string"
42 46
            },
43 47
            "durationDays": {
44 48
              "description": "For mute and ban: how many days it lasts. Absent means until a moderator lifts it.",
45 49
              "maximum": 999,
46 50
              "minimum": 1,
47 51
              "type": "integer"
48 52
            },
49 53
            "message": {
50 54
              "description": "For mute and ban: what the member is told.",
51 55
              "maxLength": 2000,
52 56
              "type": "string"
53 57
            },
54 58
            "role": {
55 59
              "description": "The role to set. Granting owner grants administration — moderation and role assignment — to another account; it does not move the declaration record, which stays in the repository that holds it, and the holder's own administration can never be revoked.",
56 60
              "knownValues": [
57 61
                "owner",
58 62
                "moderator",
59 63
                "member"
60 64
              ],
61 65
              "type": "string"
66 +
            },
67 +
            "roleKey": {
68 +
              "description": "With role moderator, the Community-defined role to give. Absent gives the built-in moderator role. Someone who is not an administrator may only give a role whose permissions they hold themselves, and never owner.",
69 +
              "maxLength": 64,
70 +
              "type": "string"
62 71
            }
63 72
          },
64 73
          "required": [
65 74
            "community",
66 75
            "did",
67 76
            "action"
68 77
          ],
69 78
          "type": "object"
70 79
        }
71 80
      },
72 81
      "output": {
73 82
        "encoding": "application/json",
74 83
        "schema": {
75 84
          "properties": {
76 85
            "restrictedUntil": {
77 86
              "description": "When a timed mute or ban ends.",
78 87
              "format": "datetime",
79 88
              "type": "string"
80 89
            },
81 90
            "status": {
82 91
              "knownValues": [
83 92
                "none",
84 93
                "active",
85 94
                "muted",
86 95
                "banned"
87 96
              ],
88 97
              "type": "string"
89 98
            }
90 99
          },
91 100
          "required": [
92 101
            "status"
93 102
          ],
94 103
          "type": "object"
95 104
        }
96 105
      },
97 106
      "type": "procedure"
98 107
    }
99 108
  },
100 109
  "id": "com.getorbyt.community.manageMember",
101 110
  "lexicon": 1
102 111
}

Compare Other Versions

Lexicon Garden

@