A moderator action on one post's Community-level state. Removal is scoped to the Community; only actions that change state are journaled.
Input
application/jsonaction
string
Required
No description available.
community
stringat-uri
Required
An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).
post
stringat-uri
Required
The linked app.bsky.feed.post URI.
reason
string
Optional
Required for removal, shown to the author, and recorded in the moderation log.
maxLength: 1000 bytesruleIndex
integer
Optional
For removal: the Community rule the post broke, by position. Shown to the author.
minimum: 0Output
application/jsonchanged
boolean
Required
No description available.
pinned
boolean
Required
No description available.
removalActionId
string
Optional
No description available.
removedAt
stringdatetime
Optional
An RFC 3339 formatted timestamp.
removedReason
string
Optional
No description available.
removedRuleIndex
integer
Optional
No description available.
status
string
Required
No description available.
visible, removedErrors
CommunityNotFound
InsufficientRole
PostNotFound
InvalidAction
AuthenticationRequired
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. Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"description": "A moderator action on one post's Community-level state. Removal is scoped to the Community; only actions that change state are journaled.",
"errors": [
{
"name": "CommunityNotFound"
},
{
"name": "InsufficientRole"
},
{
"name": "PostNotFound"
},
{
"name": "InvalidAction"
},
{
"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.",
"name": "AuthenticationRequired"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"action": {
"knownValues": [
"remove",
"restore",
"pin",
"unpin"
],
"type": "string"
},
"community": {
"format": "at-uri",
"type": "string"
},
"post": {
"description": "The linked app.bsky.feed.post URI.",
"format": "at-uri",
"type": "string"
},
"reason": {
"description": "Required for removal, shown to the author, and recorded in the moderation log.",
"maxLength": 1000,
"type": "string"
},
"ruleIndex": {
"description": "For removal: the Community rule the post broke, by position. Shown to the author.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"community",
"post",
"action"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"changed": {
"type": "boolean"
},
"pinned": {
"type": "boolean"
},
"removalActionId": {
"maxLength": 128,
"type": "string"
},
"removedAt": {
"format": "datetime",
"type": "string"
},
"removedReason": {
"type": "string"
},
"removedRuleIndex": {
"minimum": 0,
"type": "integer"
},
"status": {
"knownValues": [
"visible",
"removed"
],
"type": "string"
}
},
"required": [
"status",
"pinned",
"changed"
],
"type": "object"
}
},
"type": "procedure"
}