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
#revokeAccountCredentialsEvent
#scheduleTakedownEvent
#cancelScheduledTakedownEvent
--
subjectunion of
com.atproto.admin.defs#repoRef
com.atproto.repo.strongRef
chat.bsky.convo.defs#messageRef
--
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
#revokeAccountCredentialsEvent
#scheduleTakedownEvent
#cancelScheduledTakedownEvent
--
subjectunion of
#repoView
#repoViewNotFound
#recordView
#recordViewNotFound
--
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
--
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
subjectReviewStatestring#reviewOpen
#reviewEscalated
#reviewClosed
#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.).
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.
statusstringunknown
pending
assured
The status of the age assurance process.
attemptIdstring-The unique identifier for this instance of the age assurance flow, in UUID format.
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.
commentstring-Comment describing the reason for the override.

#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.

#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.

#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)--

#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
actionstringtakedownType 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