app.atmobb.moderation.action
A moderation action taken by a forum. Lives in the forum account's repo, making moderation portable and auditable — any appview can honor it at read time.
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | moderation.atmobb.app |
| Indexed |
Showing version bafyreibomrxqxdc73d4jlb2vryvyfnfy54p2fr6a42ihapujzaa4dffme4. Show the latest
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"account": {
"description": "An account as the subject of an action.",
"properties": {
"did": {
"format": "did",
"type": "string"
}
},
"required": [
"did"
],
"type": "object"
},
"main": {
"description": "A moderation action taken by a forum. Lives in the forum account's repo, making moderation portable and auditable — any appview can honor it at read time.",
"key": "tid",
"record": {
"properties": {
"action": {
"knownValues": [
"hide",
"unhide",
"lock",
"unlock",
"pin",
"unpin",
"ban",
"unban",
"warn",
"block",
"unblock",
"grantAccess",
"denyAccess",
"revokeAccess",
"acceptMember",
"revokeMember",
"holdApplication",
"gateForum",
"openForum"
],
"maxLength": 64,
"type": "string"
},
"board": {
"description": "Scopes account-level actions (e.g. a ban) to one board. Absent means forum-wide.",
"format": "at-uri",
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"expiresAt": {
"description": "When a temporary action lapses. Absent means until reversed.",
"format": "datetime",
"type": "string"
},
"mode": {
"description": "For gateForum: the join mode entered (apply or invite). gateForum and openForum take the forum's own account as subject and mark the periods during which membership is enforced; a post written while the forum was open is served regardless of membership.",
"knownValues": [
"apply",
"invite"
],
"maxLength": 32,
"type": "string"
},
"reason": {
"maxGraphemes": 1000,
"maxLength": 10000,
"type": "string"
},
"ref": {
"description": "For acceptMember, denyAccess, or holdApplication: the accessRequest record this decision answers.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"sponsor": {
"description": "For acceptMember: the person who brought the subject in — the inviter, or the staffer who approved the application. Absent for founding members accepted when the forum first gated.",
"format": "did",
"type": "string"
},
"subject": {
"refs": [
"com.atproto.repo.strongRef",
"#account"
],
"type": "union"
},
"via": {
"description": "For acceptMember: how the subject was accepted.",
"knownValues": [
"invite",
"application",
"founding"
],
"maxLength": 32,
"type": "string"
}
},
"required": [
"subject",
"action"
],
"type": "object"
},
"type": "record"
}
},
"id": "app.atmobb.moderation.action",
"lexicon": 1
}