com.getorbyt.community.moderatePost
Schema Diff
+4 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "com.getorbyt.community.moderatePost:output.removalActionId" }
- AddedEdge AddedEdge { src: "com.getorbyt.community.moderatePost:output", tgt: "com.getorbyt.community.moderatePost:output.removalActionId", kind: "prop", name: Some("removalActionId") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.getorbyt.community.moderatePost:output.removalActionId" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.getorbyt.community.moderatePost:output", tgt: "com.getorbyt.community.moderatePost:output.removalActionId", kind: "prop", name: Some("removalActionId") }
1
1
{
2
2
"id": "com.getorbyt.community.moderatePost",
3
3
"defs": {
4
4
"main": {
5
5
"type": "procedure",
6
6
"input": {
7
7
"schema": {
8
8
"type": "object",
9
9
"required": [
10
10
"community",
11
11
"post",
12
12
"action"
13
13
],
14
14
"properties": {
15
15
"post": {
16
16
"type": "string",
17
17
"format": "at-uri",
18
18
"description": "The linked app.bsky.feed.post URI."
19
19
},
20
20
"action": {
21
21
"type": "string",
22
22
"knownValues": [
23
23
"remove",
24
24
"restore",
25
25
"pin",
26
26
"unpin"
27
27
]
28
28
},
29
29
"reason": {
30
30
"type": "string",
31
31
"maxLength": 1000,
32
32
"description": "Required for removal, shown to the author, and recorded in the moderation log."
33
33
},
34
34
"community": {
35
35
"type": "string",
36
36
"format": "at-uri"
37
37
}
38
38
}
39
39
},
40
40
"encoding": "application/json"
41
41
},
42
42
"errors": [
43
43
{
44
44
"name": "CommunityNotFound"
45
45
},
46
46
{
47
47
"name": "InsufficientRole"
48
48
},
49
49
{
50
50
"name": "PostNotFound"
51
51
},
52
52
{
53
53
"name": "InvalidAction"
54
54
},
55
55
{
56
56
"name": "AuthenticationRequired",
57
57
"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."
58
58
}
59
59
],
60
60
"output": {
61
61
"schema": {
62
62
"type": "object",
63
63
"required": [
64
64
"status",
65
65
"pinned",
66
66
"changed"
67
67
],
68
68
"properties": {
69
69
"pinned": {
70
70
"type": "boolean"
71
71
},
72
72
"status": {
73
73
"type": "string",
74
74
"knownValues": [
75
75
"visible",
76
76
"removed"
77
77
]
78
78
},
79
79
"changed": {
80
80
"type": "boolean"
81
81
},
82
82
"removedAt": {
83
83
"type": "string",
84
84
"format": "datetime"
85
85
},
86
86
"removedReason": {
87
87
"type": "string"
88
+
},
89
+
"removalActionId": {
90
+
"type": "string",
91
+
"maxLength": 128
88
92
}
89
93
}
90
94
},
91
95
"encoding": "application/json"
92
96
},
93
97
"description": "A moderator action on one post's Community-level state. Removal is scoped to the Community; only actions that change state are journaled."
94
98
}
95
99
},
96
100
"$type": "com.atproto.lexicon.schema",
97
101
"lexicon": 1
98
102
}