tools.ozone.moderation.emitEvent
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Take a moderation action on an actor.",
"errors": [
{
"name": "SubjectHasAction"
},
{
"description": "An event with the same external ID already exists for the subject.",
"name": "DuplicateExternalId"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"createdBy": {
"format": "did",
"type": "string"
},
"event": {
"refs": [
"tools.ozone.moderation.defs#modEventTakedown",
"tools.ozone.moderation.defs#modEventAcknowledge",
"tools.ozone.moderation.defs#modEventEscalate",
"tools.ozone.moderation.defs#modEventComment",
"tools.ozone.moderation.defs#modEventLabel",
"tools.ozone.moderation.defs#modEventReport",
"tools.ozone.moderation.defs#modEventMute",
"tools.ozone.moderation.defs#modEventUnmute",
"tools.ozone.moderation.defs#modEventMuteReporter",
"tools.ozone.moderation.defs#modEventUnmuteReporter",
"tools.ozone.moderation.defs#modEventReverseTakedown",
"tools.ozone.moderation.defs#modEventResolveAppeal",
"tools.ozone.moderation.defs#modEventEmail",
"tools.ozone.moderation.defs#modEventDivert",
"tools.ozone.moderation.defs#modEventTag",
"tools.ozone.moderation.defs#accountEvent",
"tools.ozone.moderation.defs#identityEvent",
"tools.ozone.moderation.defs#recordEvent",
"tools.ozone.moderation.defs#modEventPriorityScore",
"tools.ozone.moderation.defs#ageAssuranceEvent",
"tools.ozone.moderation.defs#ageAssuranceOverrideEvent",
"tools.ozone.moderation.defs#ageAssurancePurgeEvent",
"tools.ozone.moderation.defs#revokeAccountCredentialsEvent",
"tools.ozone.moderation.defs#scheduleTakedownEvent",
"tools.ozone.moderation.defs#cancelScheduledTakedownEvent"
],
"type": "union"
},
"externalId": {
"description": "An optional external ID for the event, used to deduplicate events from external systems. Fails when an event of same type with the same external ID exists for the same subject.",
"type": "string"
},
"modTool": {
"ref": "tools.ozone.moderation.defs#modTool",
"type": "ref"
},
"reportAction": {
"description": "Optional report-level targeting. If provided, this event will be linked to specific reports and reporters may be notified.",
"ref": "#reportAction",
"type": "ref"
},
"subject": {
"refs": [
"com.atproto.admin.defs#repoRef",
"com.atproto.repo.strongRef"
],
"type": "union"
},
"subjectBlobCids": {
"items": {
"format": "cid",
"type": "string"
},
"type": "array"
}
},
"required": [
"event",
"subject",
"createdBy"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"ref": "tools.ozone.moderation.defs#modEventView",
"type": "ref"
}
},
"type": "procedure"
},
"reportAction": {
"description": "Target specific reports when emitting a moderation event",
"properties": {
"all": {
"description": "Target ALL reports on the subject",
"type": "boolean"
},
"ids": {
"description": "Target specific report IDs",
"items": {
"type": "integer"
},
"type": "array"
},
"note": {
"description": "Note to send to reporter(s) when actioning their report",
"type": "string"
},
"types": {
"description": "Target reports matching these report types on the subject (fully qualified NSIDs)",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
},
"id": "tools.ozone.moderation.emitEvent",
"lexicon": 1
}
Metadata
- DID
-
did:plc:33dt5kftu3jq2h5h4jjlqezt - CID
-
bafyreifalub737qtff6p46vicc6falpwj7wd7lrmou2gc4cjluret7b3xy - Indexed At
- 2026-10-03 21:31 UTC
- AT-URI
-
at://did:plc:33dt5kftu3jq2h5h4jjlqezt/com.atproto.lexicon.schema/tools.ozone.moderation.emitEvent
Version History (2 versions)
- 2026-10-03 21:31 UTC (current)
- 2026-07-26 20:04 UTC diff
Referenced Schemas (28)
- com.atproto.admin.defs#repoRef
- tools.ozone.moderation.defs#accountEvent
- tools.ozone.moderation.defs#ageAssuranceEvent
- tools.ozone.moderation.defs#ageAssuranceOverrideEvent
- tools.ozone.moderation.defs#ageAssurancePurgeEvent
- tools.ozone.moderation.defs#cancelScheduledTakedownEvent
- tools.ozone.moderation.defs#identityEvent
- tools.ozone.moderation.defs#modEventAcknowledge
- tools.ozone.moderation.defs#modEventComment
- tools.ozone.moderation.defs#modEventDivert
- tools.ozone.moderation.defs#modEventEmail
- tools.ozone.moderation.defs#modEventEscalate
- tools.ozone.moderation.defs#modEventLabel
- tools.ozone.moderation.defs#modEventMute
- tools.ozone.moderation.defs#modEventMuteReporter
- tools.ozone.moderation.defs#modEventPriorityScore
- tools.ozone.moderation.defs#modEventReport
- tools.ozone.moderation.defs#modEventResolveAppeal
- tools.ozone.moderation.defs#modEventReverseTakedown
- tools.ozone.moderation.defs#modEventTag
- tools.ozone.moderation.defs#modEventTakedown
- tools.ozone.moderation.defs#modEventUnmute
- tools.ozone.moderation.defs#modEventUnmuteReporter
- tools.ozone.moderation.defs#modEventView
- tools.ozone.moderation.defs#modTool
- tools.ozone.moderation.defs#recordEvent
- tools.ozone.moderation.defs#revokeAccountCredentialsEvent
- tools.ozone.moderation.defs#scheduleTakedownEvent
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
com.atproto.moderation.createReport procedure
Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth.
-
Appeal a moderation action affecting the user's account or content.
-
tools.ozone.moderation.scheduleAction procedure
Schedule a moderation action to be executed at a future time
-
tools.ozone.report.createActivity procedure
Register an activity on a report. For state-change activity types, validates the transition and updates report.status atomically.
-
social.colibri.moderation record
A moderation event scoped to the community that owns this repo. Acts as an append-only audit log; current state is derived from the action history per subject.