Skip to main content

tools.ozone.moderation.defs

#modEventView​

PropertyTypeKnown ValuesRequiredDescription
idinteger-✅-
eventunion of
#modEventTakedown
#modEventReverseTakedown
#modEventComment
#modEventReport
#modEventLabel
#modEventAcknowledge
#modEventEscalate
#modEventMute
#modEventUnmute
#modEventMuteReporter
#modEventUnmuteReporter
#modEventEmail
#modEventResolveAppeal
#modEventDivert
#modEventTag
#accountEvent
#identityEvent
#recordEvent
#modEventPriorityScore
#ageAssuranceEvent
#ageAssuranceOverrideEvent
#ageAssurancePurgeEvent
#revokeAccountCredentialsEvent
#scheduleTakedownEvent
#cancelScheduledTakedownEvent
-✅-
subjectunion of
com.atproto.admin.defs#repoRef
com.atproto.repo.strongRef
chat.bsky.convo.defs#messageRef
chat.bsky.convo.defs#convoRef
-✅-
subjectBlobCidsarray of string-✅-
createdBystring (did)-✅-
createdAtstring (datetime)-✅-
creatorHandlestring-❌-
subjectHandlestring-❌-
modTool#modTool-❌-

#modEventViewDetail​

PropertyTypeKnown ValuesRequiredDescription
idinteger-✅-
eventunion of
#modEventTakedown
#modEventReverseTakedown
#modEventComment
#modEventReport
#modEventLabel
#modEventAcknowledge
#modEventEscalate
#modEventMute
#modEventUnmute
#modEventMuteReporter
#modEventUnmuteReporter
#modEventEmail
#modEventResolveAppeal
#modEventDivert
#modEventTag
#accountEvent
#identityEvent
#recordEvent
#modEventPriorityScore
#ageAssuranceEvent
#ageAssuranceOverrideEvent
#ageAssurancePurgeEvent
#revokeAccountCredentialsEvent
#scheduleTakedownEvent
#cancelScheduledTakedownEvent
-✅-
subjectunion of
#repoView
#repoViewNotFound
#recordView
#recordViewNotFound
#convoView
-✅-
subjectBlobsarray of #blobView-✅-
createdBystring (did)-✅-
createdAtstring (datetime)-✅-
modTool#modTool-❌-

#subjectStatusView​

PropertyTypeKnown ValuesRequiredDescription
idinteger-✅-
subjectunion of
com.atproto.admin.defs#repoRef
com.atproto.repo.strongRef
chat.bsky.convo.defs#messageRef
chat.bsky.convo.defs#convoRef
-✅-
hostingunion of
#accountHosting
#recordHosting
-❌-
subjectBlobCidsarray of string-❌-
subjectRepoHandlestring-❌-
updatedAtstring (datetime)-✅Timestamp referencing when the last update was made to the moderation status of the subject
createdAtstring (datetime)-✅Timestamp referencing the first moderation status impacting event was emitted on the subject
reviewState#subjectReviewState-✅-
commentstring-❌Sticky comment on the subject.
priorityScoreinteger-❌Numeric value representing the level of priority. Higher score means higher priority.
muteUntilstring (datetime)-❌-
muteReportingUntilstring (datetime)-❌-
lastReviewedBystring (did)-❌-
lastReviewedAtstring (datetime)-❌-
lastReportedAtstring (datetime)-❌-
lastAppealedAtstring (datetime)-❌Timestamp referencing when the author of the subject appealed a moderation action
takendownboolean-❌-
appealedboolean-❌True indicates that the a previously taken moderator action was appealed against, by the author of the content. False indicates last appeal was resolved by moderators.
suspendUntilstring (datetime)-❌-
tagsarray of string-❌-
accountStats#accountStats-❌-
recordsStats#recordsStats-❌-
accountStrike#accountStrike-❌-
ageAssuranceStatestringpending
assured
unknown
reset
blocked
❌Current age assurance state of the subject.
ageAssuranceUpdatedBystringadmin
user
❌Whether or not the last successful update to age assurance was made by the user or admin.

#subjectView​

Detailed view of a subject. For record subjects, the author's repo and profile will be returned.

PropertyTypeKnown ValuesRequiredDescription
typecom.atproto.moderation.defs#subjectType-✅-
subjectstring-✅-
status#subjectStatusView-❌-
repo#repoViewDetail-❌-
profileunion of
-❌-
record#recordViewDetail-❌-

#accountStats​

Statistics about a particular account subject

PropertyTypeKnown ValuesRequiredDescription
reportCountinteger-❌Total number of reports on the account
appealCountinteger-❌Total number of appeals against a moderation action on the account
suspendCountinteger-❌Number of times the account was suspended
escalateCountinteger-❌Number of times the account was escalated
takedownCountinteger-❌Number of times the account was taken down

#recordsStats​

Statistics about a set of record subject items

PropertyTypeKnown ValuesRequiredDescription
totalReportsinteger-❌Cumulative sum of the number of reports on the items in the set
reportedCountinteger-❌Number of items that were reported at least once
escalatedCountinteger-❌Number of items that were escalated at least once
appealedCountinteger-❌Number of items that were appealed at least once
subjectCountinteger-❌Total number of item in the set
pendingCountinteger-❌Number of item currently in "reviewOpen" or "reviewEscalated" state
processedCountinteger-❌Number of item currently in "reviewNone" or "reviewClosed" state
takendownCountinteger-❌Number of item currently taken down

#accountStrike​

Strike information for an account

PropertyTypeKnown ValuesRequiredDescription
activeStrikeCountinteger-❌Current number of active strikes (excluding expired strikes)
totalStrikeCountinteger-❌Total number of strikes ever received (including expired strikes)
firstStrikeAtstring (datetime)-❌Timestamp of the first strike received
lastStrikeAtstring (datetime)-❌Timestamp of the most recent strike received

#subjectReviewState​

PropertyTypeKnown ValuesRequiredDescription
subjectReviewStatestringtools.ozone.moderation.defs#reviewOpen
tools.ozone.moderation.defs#reviewEscalated
tools.ozone.moderation.defs#reviewClosed
tools.ozone.moderation.defs#reviewNone
❌-

#reviewOpen​

TOKEN: Moderator review status of a subject: Open. Indicates that the subject needs to be reviewed by a moderator

#reviewEscalated​

TOKEN: Moderator review status of a subject: Escalated. Indicates that the subject was escalated for review by a moderator

#reviewClosed​

TOKEN: Moderator review status of a subject: Closed. Indicates that the subject was already reviewed and resolved by a moderator

#reviewNone​

TOKEN: Moderator review status of a subject: Unnecessary. Indicates that the subject does not need a review at the moment but there is probably some moderation related metadata available for it

#modEventTakedown​

Take down a subject permanently or temporarily

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
durationInHoursinteger-❌Indicates how long the takedown should be in effect before automatically expiring.
acknowledgeAccountSubjectsboolean-❌If true, all other reports on content authored by this account will be resolved (acknowledged).
policiesarray of string-❌Names/Keywords of the policies that drove the decision.
severityLevelstring-❌Severity level of the violation (e.g., 'sev-0', 'sev-1', 'sev-2', etc.).
targetServicesarray of string-❌List of services where the takedown should be applied. If empty or not provided, takedown is applied on all configured services.
strikeCountinteger-❌Number of strikes to assign to the user for this violation.
strikeExpiresAtstring (datetime)-❌When the strike should expire. If not provided, the strike never expires.

#modEventReverseTakedown​

Revert take down action on a subject

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌Describe reasoning behind the reversal.
policiesarray of string-❌Names/Keywords of the policy infraction for which takedown is being reversed.
severityLevelstring-❌Severity level of the violation. Usually set from the last policy infraction's severity.
strikeCountinteger-❌Number of strikes to subtract from the user's strike count. Usually set from the last policy infraction's severity.

#modEventResolveAppeal​

Resolve appeal on a subject

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌Describe resolution.

#modEventComment​

Add a comment to a subject. An empty comment will clear any previously set sticky comment.

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
stickyboolean-❌Make the comment persistent on the subject

#modEventReport​

Report a subject

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
isReporterMutedboolean-❌Set to true if the reporter was muted from reporting at the time of the event. These reports won't impact the reviewState of the subject.
reportTypecom.atproto.moderation.defs#reasonType-✅-

#modEventLabel​

Apply/Negate labels on a subject

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
createLabelValsarray of string-✅-
negateLabelValsarray of string-✅-
durationInHoursinteger-❌Indicates how long the label will remain on the subject. Only applies on labels that are being added.

#modEventPriorityScore​

Set priority score of the subject. Higher score means higher priority.

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
scoreinteger-✅-

#ageAssuranceEvent​

Age assurance info coming directly from users. Only works on DID subjects.

PropertyTypeKnown ValuesRequiredDescription
createdAtstring (datetime)-✅The date and time of this write operation.
attemptIdstring-✅The unique identifier for this instance of the age assurance flow, in UUID format.
statusstringunknown
pending
assured
✅The status of the Age Assurance process.
accessapp.bsky.ageassurance.defs#access-❌-
countryCodestring-❌The ISO 3166-1 alpha-2 country code provided when beginning the Age Assurance flow.
regionCodestring-❌The ISO 3166-2 region code provided when beginning the Age Assurance flow.
initIpstring-❌The IP address used when initiating the AA flow.
initUastring-❌The user agent used when initiating the AA flow.
completeIpstring-❌The IP address used when completing the AA flow.
completeUastring-❌The user agent used when completing the AA flow.

#ageAssuranceOverrideEvent​

Age assurance status override by moderators. Only works on DID subjects.

PropertyTypeKnown ValuesRequiredDescription
statusstringassured
reset
blocked
✅The status to be set for the user decided by a moderator, overriding whatever value the user had previously. Use reset to default to original state.
accessapp.bsky.ageassurance.defs#access-❌-
commentstring-✅Comment describing the reason for the override.

#ageAssurancePurgeEvent​

Purges all age assurance events for the subject. Only works on DID subjects. Moderator-only.

PropertyTypeKnown ValuesRequiredDescription
commentstring-✅Comment describing the reason for the purge.

#revokeAccountCredentialsEvent​

Account credentials revocation by moderators. Only works on DID subjects.

PropertyTypeKnown ValuesRequiredDescription
commentstring-✅Comment describing the reason for the revocation.

#modEventAcknowledge​

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
acknowledgeAccountSubjectsboolean-❌If true, all other reports on content authored by this account will be resolved (acknowledged).

#modEventEscalate​

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-

#modEventMute​

Mute incoming reports on a subject

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
durationInHoursinteger-✅Indicates how long the subject should remain muted.

#modEventUnmute​

Unmute action on a subject

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌Describe reasoning behind the reversal.

#modEventMuteReporter​

Mute incoming reports from an account

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
durationInHoursinteger-❌Indicates how long the account should remain muted. Falsy value here means a permanent mute.

#modEventUnmuteReporter​

Unmute incoming reports from an account

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌Describe reasoning behind the reversal.

#modEventEmail​

Keep a log of outgoing email to a user

PropertyTypeKnown ValuesRequiredDescription
subjectLinestring-✅The subject line of the email sent to the user.
contentstring-❌The content of the email sent to the user.
commentstring-❌Additional comment about the outgoing comm.
policiesarray of string-❌Names/Keywords of the policies that necessitated the email.
severityLevelstring-❌Severity level of the violation. Normally 'sev-1' that adds strike on repeat offense
strikeCountinteger-❌Number of strikes to assign to the user for this violation. Normally 0 as an indicator of a warning and only added as a strike on a repeat offense.
strikeExpiresAtstring (datetime)-❌When the strike should expire. If not provided, the strike never expires.
isDeliveredboolean-❌Indicates whether the email was successfully delivered to the user's inbox.

#modEventDivert​

Divert a record's blobs to a 3rd party service for further scanning/tagging

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-

#modEventTag​

Add/Remove a tag on a subject

PropertyTypeKnown ValuesRequiredDescription
addarray of string-✅Tags to be added to the subject. If already exists, won't be duplicated.
removearray of string-✅Tags to be removed to the subject. Ignores a tag If it doesn't exist, won't be duplicated.
commentstring-❌Additional comment about added/removed tags.
durationInHoursinteger-❌Indicates how long the tags being added should remain before automatically being removed. Only applies to tags being added.

#accountEvent​

Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
activeboolean-✅Indicates that the account has a repository which can be fetched from the host that emitted this event.
statusstringunknown
deactivated
deleted
takendown
suspended
tombstoned
❌-
timestampstring (datetime)-✅-

#identityEvent​

Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
handlestring (handle)-❌-
pdsHoststring (uri)-❌-
tombstoneboolean-❌-
timestampstring (datetime)-✅-

#recordEvent​

Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
opstringcreate
update
delete
✅-
cidstring (cid)-❌-
timestampstring (datetime)-✅-

#scheduleTakedownEvent​

Logs a scheduled takedown action for an account.

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-
executeAtstring (datetime)-❌-
executeAfterstring (datetime)-❌-
executeUntilstring (datetime)-❌-

#cancelScheduledTakedownEvent​

Logs cancellation of a scheduled takedown action for an account.

PropertyTypeKnown ValuesRequiredDescription
commentstring-❌-

#repoView​

PropertyTypeKnown ValuesRequiredDescription
didstring (did)-✅-
handlestring (handle)-✅-
emailstring-❌-
relatedRecordsarray of unknown-✅-
indexedAtstring (datetime)-✅-
moderation#moderation-✅-
invitedBycom.atproto.server.defs#inviteCode-❌-
invitesDisabledboolean-❌-
inviteNotestring-❌-
deactivatedAtstring (datetime)-❌-
threatSignaturesarray of com.atproto.admin.defs#threatSignature-❌-

#repoViewDetail​

PropertyTypeKnown ValuesRequiredDescription
didstring (did)-✅-
handlestring (handle)-✅-
emailstring-❌-
relatedRecordsarray of unknown-✅-
indexedAtstring (datetime)-✅-
moderation#moderationDetail-✅-
labelsarray of com.atproto.label.defs#label-❌-
invitedBycom.atproto.server.defs#inviteCode-❌-
invitesarray of com.atproto.server.defs#inviteCode-❌-
invitesDisabledboolean-❌-
inviteNotestring-❌-
emailConfirmedAtstring (datetime)-❌-
deactivatedAtstring (datetime)-❌-
threatSignaturesarray of com.atproto.admin.defs#threatSignature-❌-

#repoViewNotFound​

PropertyTypeKnown ValuesRequiredDescription
didstring (did)-✅-

#recordView​

PropertyTypeKnown ValuesRequiredDescription
uristring (at-uri)-✅-
cidstring (cid)-✅-
valueunknown-✅-
blobCidsarray of string-✅-
indexedAtstring (datetime)-✅-
moderation#moderation-✅-
repo#repoView-✅-

#recordViewDetail​

PropertyTypeKnown ValuesRequiredDescription
uristring (at-uri)-✅-
cidstring (cid)-✅-
valueunknown-✅-
blobsarray of #blobView-✅-
labelsarray of com.atproto.label.defs#label-❌-
indexedAtstring (datetime)-✅-
moderation#moderationDetail-✅-
repo#repoView-✅-

#recordViewNotFound​

PropertyTypeKnown ValuesRequiredDescription
uristring (at-uri)-✅-

#convoView​

PropertyTypeKnown ValuesRequiredDescription
didstring (did)-✅-
convoIdstring-✅-

#moderation​

PropertyTypeKnown ValuesRequiredDescription
subjectStatus#subjectStatusView-❌-

#moderationDetail​

PropertyTypeKnown ValuesRequiredDescription
subjectStatus#subjectStatusView-❌-

#blobView​

PropertyTypeKnown ValuesRequiredDescription
cidstring (cid)-✅-
mimeTypestring-✅-
sizeinteger-✅-
createdAtstring (datetime)-✅-
detailsunion of
#imageDetails
#videoDetails
-❌-
moderation#moderation-❌-

#imageDetails​

PropertyTypeKnown ValuesRequiredDescription
widthinteger-✅-
heightinteger-✅-

#videoDetails​

PropertyTypeKnown ValuesRequiredDescription
widthinteger-✅-
heightinteger-✅-
lengthinteger-✅-

#accountHosting​

PropertyTypeKnown ValuesRequiredDescription
statusstringtakendown
suspended
deleted
deactivated
unknown
✅-
updatedAtstring (datetime)-❌-
createdAtstring (datetime)-❌-
deletedAtstring (datetime)-❌-
deactivatedAtstring (datetime)-❌-
reactivatedAtstring (datetime)-❌-

#recordHosting​

PropertyTypeKnown ValuesRequiredDescription
statusstringdeleted
unknown
✅-
updatedAtstring (datetime)-❌-
createdAtstring (datetime)-❌-
deletedAtstring (datetime)-❌-

#reporterStats​

PropertyTypeKnown ValuesRequiredDescription
didstring (did)-✅-
accountReportCountinteger-✅The total number of reports made by the user on accounts.
recordReportCountinteger-✅The total number of reports made by the user on records.
reportedAccountCountinteger-✅The total number of accounts reported by the user.
reportedRecordCountinteger-✅The total number of records reported by the user.
takendownAccountCountinteger-✅The total number of accounts taken down as a result of the user's reports.
takendownRecordCountinteger-✅The total number of records taken down as a result of the user's reports.
labeledAccountCountinteger-✅The total number of accounts labeled as a result of the user's reports.
labeledRecordCountinteger-✅The total number of records labeled as a result of the user's reports.

#modTool​

Moderation tool information for tracing the source of the action

PropertyTypeKnown ValuesRequiredDescription
namestring-✅Name/identifier of the source (e.g., 'automod', 'ozone/workspace')
metaunknown-❌Additional arbitrary metadata about the source

#timelineEventPlcCreate​

TOKEN: Moderation event timeline event for a PLC create operation

#timelineEventPlcOperation​

TOKEN: Moderation event timeline event for generic PLC operation

#timelineEventPlcTombstone​

TOKEN: Moderation event timeline event for a PLC tombstone operation

#scheduledActionView​

View of a scheduled moderation action

PropertyTypeKnown ValuesRequiredDescription
idinteger-✅Auto-incrementing row ID
actionstringtakedown✅Type of action to be executed
eventDataunknown-❌Serialized event object that will be propagated to the event when performed
didstring (did)-✅Subject DID for the action
executeAtstring (datetime)-❌Exact time to execute the action
executeAfterstring (datetime)-❌Earliest time to execute the action (for randomized scheduling)
executeUntilstring (datetime)-❌Latest time to execute the action (for randomized scheduling)
randomizeExecutionboolean-❌Whether execution time should be randomized within the specified range
createdBystring (did)-✅DID of the user who created this scheduled action
createdAtstring (datetime)-✅When the scheduled action was created
updatedAtstring (datetime)-❌When the scheduled action was last updated
statusstringpending
executed
cancelled
failed
✅Current status of the scheduled action
lastExecutedAtstring (datetime)-❌When the action was last attempted to be executed
lastFailureReasonstring-❌Reason for the last execution failure
executionEventIdinteger-❌ID of the moderation event created when action was successfully executed