tools.ozone.moderation.emitEvent

ozone-lexicons.bsky.social

{
  "$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
}

Validate Record

Validate a record against tools.ozone.moderation.emitEvent

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

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)

Referenced Schemas (28)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

Lexicon Garden

@