com.getorbyt.community.moderatePost
Schema Diff
+8 -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
+
},
55
+
{
56
+
"name": "AuthenticationRequired",
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."
54
58
}
55
59
],
56
60
"output": {
57
61
"schema": {
58
62
"type": "object",
59
63
"required": [
60
64
"status",
61
65
"pinned",
62
66
"changed"
63
67
],
64
68
"properties": {
65
69
"pinned": {
66
70
"type": "boolean"
67
71
},
68
72
"status": {
69
73
"type": "string",
70
74
"knownValues": [
71
75
"visible",
72
76
"removed"
73
77
]
74
78
},
75
79
"changed": {
76
80
"type": "boolean"
77
81
},
78
82
"removedAt": {
79
83
"type": "string",
80
84
"format": "datetime"
81
85
},
82
86
"removedReason": {
83
87
"type": "string"
88
+
},
89
+
"removalActionId": {
90
+
"type": "string",
91
+
"maxLength": 128
84
92
}
85
93
}
86
94
},
87
95
"encoding": "application/json"
88
96
},
89
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."
90
98
}
91
99
},
92
100
"$type": "com.atproto.lexicon.schema",
93
101
"lexicon": 1
94
102
}