tools.ozone.moderation.emitEvent

ozone-lexicons.bsky.social

Schema Diff

+33 -0

From

CID
bafyreihby4kvemk...
Indexed At
2026-07-26 20:04 UTC
View this version

To

CID
bafyreifalub737q...
Indexed At
2026-10-03 21:31 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 16 non-breaking changes.

Non-Breaking Changes (16)
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.all" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.ids" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.ids:items" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.note" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.types" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.types:items" }
  • AddedVertex AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent:input.reportAction" }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.all", kind: "prop", name: Some("all") }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.ids", kind: "prop", name: Some("ids") }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.note", kind: "prop", name: Some("note") }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.types", kind: "prop", name: Some("types") }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction.ids", tgt: "tools.ozone.moderation.emitEvent#reportAction.ids:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction.types", tgt: "tools.ozone.moderation.emitEvent#reportAction.types:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent:input", tgt: "tools.ozone.moderation.emitEvent:input.reportAction", kind: "prop", name: Some("reportAction") }
  • AddedEdge AddedEdge { src: "tools.ozone.moderation.emitEvent:input.reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction" }
  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.all" }
  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.ids" }
  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.ids:items" }
  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.note" }
  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.types" }
  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent#reportAction.types:items" }
  • AddedVertex { vertex_id: "tools.ozone.moderation.emitEvent:input.reportAction" }

Additional Notes

  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.all", kind: "prop", name: Some("all") }
  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.ids", kind: "prop", name: Some("ids") }
  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.note", kind: "prop", name: Some("note") }
  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction.types", kind: "prop", name: Some("types") }
  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction.ids", tgt: "tools.ozone.moderation.emitEvent#reportAction.ids:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent#reportAction.types", tgt: "tools.ozone.moderation.emitEvent#reportAction.types:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent:input", tgt: "tools.ozone.moderation.emitEvent:input.reportAction", kind: "prop", name: Some("reportAction") }
  • Non-breaking: AddedEdge { src: "tools.ozone.moderation.emitEvent:input.reportAction", tgt: "tools.ozone.moderation.emitEvent#reportAction", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "Take a moderation action on an actor.",
6 6
      "errors": [
7 7
        {
8 8
          "name": "SubjectHasAction"
9 9
        },
10 10
        {
11 11
          "description": "An event with the same external ID already exists for the subject.",
12 12
          "name": "DuplicateExternalId"
13 13
        }
14 14
      ],
15 15
      "input": {
16 16
        "encoding": "application/json",
17 17
        "schema": {
18 18
          "properties": {
19 19
            "createdBy": {
20 20
              "format": "did",
21 21
              "type": "string"
22 22
            },
23 23
            "event": {
24 24
              "refs": [
25 25
                "tools.ozone.moderation.defs#modEventTakedown",
26 26
                "tools.ozone.moderation.defs#modEventAcknowledge",
27 27
                "tools.ozone.moderation.defs#modEventEscalate",
28 28
                "tools.ozone.moderation.defs#modEventComment",
29 29
                "tools.ozone.moderation.defs#modEventLabel",
30 30
                "tools.ozone.moderation.defs#modEventReport",
31 31
                "tools.ozone.moderation.defs#modEventMute",
32 32
                "tools.ozone.moderation.defs#modEventUnmute",
33 33
                "tools.ozone.moderation.defs#modEventMuteReporter",
34 34
                "tools.ozone.moderation.defs#modEventUnmuteReporter",
35 35
                "tools.ozone.moderation.defs#modEventReverseTakedown",
36 36
                "tools.ozone.moderation.defs#modEventResolveAppeal",
37 37
                "tools.ozone.moderation.defs#modEventEmail",
38 38
                "tools.ozone.moderation.defs#modEventDivert",
39 39
                "tools.ozone.moderation.defs#modEventTag",
40 40
                "tools.ozone.moderation.defs#accountEvent",
41 41
                "tools.ozone.moderation.defs#identityEvent",
42 42
                "tools.ozone.moderation.defs#recordEvent",
43 43
                "tools.ozone.moderation.defs#modEventPriorityScore",
44 44
                "tools.ozone.moderation.defs#ageAssuranceEvent",
45 45
                "tools.ozone.moderation.defs#ageAssuranceOverrideEvent",
46 46
                "tools.ozone.moderation.defs#ageAssurancePurgeEvent",
47 47
                "tools.ozone.moderation.defs#revokeAccountCredentialsEvent",
48 48
                "tools.ozone.moderation.defs#scheduleTakedownEvent",
49 49
                "tools.ozone.moderation.defs#cancelScheduledTakedownEvent"
50 50
              ],
51 51
              "type": "union"
52 52
            },
53 53
            "externalId": {
54 54
              "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.",
55 55
              "type": "string"
56 56
            },
57 57
            "modTool": {
58 58
              "ref": "tools.ozone.moderation.defs#modTool",
59 59
              "type": "ref"
60 60
            },
61 +
            "reportAction": {
62 +
              "description": "Optional report-level targeting. If provided, this event will be linked to specific reports and reporters may be notified.",
63 +
              "ref": "#reportAction",
64 +
              "type": "ref"
65 +
            },
61 66
            "subject": {
62 67
              "refs": [
63 68
                "com.atproto.admin.defs#repoRef",
64 69
                "com.atproto.repo.strongRef"
65 70
              ],
66 71
              "type": "union"
67 72
            },
68 73
            "subjectBlobCids": {
69 74
              "items": {
70 75
                "format": "cid",
71 76
                "type": "string"
72 77
              },
73 78
              "type": "array"
74 79
            }
75 80
          },
76 81
          "required": [
77 82
            "event",
78 83
            "subject",
79 84
            "createdBy"
80 85
          ],
81 86
          "type": "object"
82 87
        }
83 88
      },
84 89
      "output": {
85 90
        "encoding": "application/json",
86 91
        "schema": {
87 92
          "ref": "tools.ozone.moderation.defs#modEventView",
88 93
          "type": "ref"
89 94
        }
90 95
      },
91 96
      "type": "procedure"
97 +
    },
98 +
    "reportAction": {
99 +
      "description": "Target specific reports when emitting a moderation event",
100 +
      "properties": {
101 +
        "all": {
102 +
          "description": "Target ALL reports on the subject",
103 +
          "type": "boolean"
104 +
        },
105 +
        "ids": {
106 +
          "description": "Target specific report IDs",
107 +
          "items": {
108 +
            "type": "integer"
109 +
          },
110 +
          "type": "array"
111 +
        },
112 +
        "note": {
113 +
          "description": "Note to send to reporter(s) when actioning their report",
114 +
          "type": "string"
115 +
        },
116 +
        "types": {
117 +
          "description": "Target reports matching these report types on the subject (fully qualified NSIDs)",
118 +
          "items": {
119 +
            "type": "string"
120 +
          },
121 +
          "type": "array"
122 +
        }
123 +
      },
124 +
      "type": "object"
92 125
    }
93 126
  },
94 127
  "id": "tools.ozone.moderation.emitEvent",
95 128
  "lexicon": 1
96 129
}

Compare Other Versions

Lexicon Garden

@