tools.ozone.report.defs

ozone-lexicons.bsky.social

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "assignmentActivity": {
      "description": "Activity recording a moderator being assigned to a report.",
      "properties": {
        "previousStatus": {
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
          "knownValues": [
            "open",
            "closed",
            "escalated",
            "queued",
            "assigned"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "assignmentView": {
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        },
        "endAt": {
          "format": "datetime",
          "type": "string"
        },
        "id": {
          "type": "integer"
        },
        "moderator": {
          "description": "The moderator assigned to this report",
          "ref": "tools.ozone.team.defs#member",
          "type": "ref"
        },
        "queue": {
          "ref": "tools.ozone.queue.defs#queueView",
          "type": "ref"
        },
        "reportId": {
          "type": "integer"
        },
        "startAt": {
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "id",
        "did",
        "reportId",
        "startAt"
      ],
      "type": "object"
    },
    "closeActivity": {
      "description": "Activity recording a report being closed.",
      "properties": {
        "previousStatus": {
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
          "knownValues": [
            "open",
            "closed",
            "escalated",
            "queued",
            "assigned"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "escalationActivity": {
      "description": "Activity recording a report being escalated.",
      "properties": {
        "previousStatus": {
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
          "knownValues": [
            "open",
            "closed",
            "escalated",
            "queued",
            "assigned"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "historicalStats": {
      "description": "A single daily snapshot of report statistics for a calendar date.",
      "properties": {
        "acknowledgedCount": {
          "description": "Number of closures whose last report action is not label, tag, or takedown during this day.",
          "type": "integer"
        },
        "actionRate": {
          "description": "Percentage of closures actioned (actionedCount / closedCount * 100), rounded to nearest integer.",
          "type": "integer"
        },
        "actionedCount": {
          "description": "Number of closures whose last report action is label, tag, or takedown during this day.",
          "type": "integer"
        },
        "ahtDurationSec": {
          "description": "Sum of report assignment-to-close seconds for this day's samples.",
          "type": "integer"
        },
        "ahtSampleCount": {
          "description": "Number of assigned closed-report samples in ahtDurationSec.",
          "type": "integer"
        },
        "avgHandlingTimeSec": {
          "description": "Average handling time in seconds from report assignment to close.",
          "type": "integer"
        },
        "avgResolutionTimeSec": {
          "description": "Average resolution time in seconds from report creation to close.",
          "type": "integer"
        },
        "closedCount": {
          "description": "Number of close transitions during this day.",
          "type": "integer"
        },
        "computedAt": {
          "description": "When this snapshot was last computed.",
          "format": "datetime",
          "type": "string"
        },
        "date": {
          "description": "The calendar date this snapshot covers (YYYY-MM-DD).",
          "type": "string"
        },
        "escalatedCount": {
          "description": "Number of reports escalated during this day.",
          "type": "integer"
        },
        "inboundCount": {
          "description": "Reports received during this day.",
          "type": "integer"
        },
        "labelActionCount": {
          "description": "Closures whose last report action is a label event during this day.",
          "type": "integer"
        },
        "pendingCount": {
          "description": "Number of reports not closed at time of computation.",
          "type": "integer"
        },
        "resolutionDurationSec": {
          "description": "Sum of report creation-to-close seconds for this day's samples.",
          "type": "integer"
        },
        "resolutionSampleCount": {
          "description": "Number of closed-report samples in resolutionDurationSec.",
          "type": "integer"
        },
        "tagActionCount": {
          "description": "Closures whose last report action is a tag event during this day.",
          "type": "integer"
        },
        "takedownActionCount": {
          "description": "Closures whose last report action is a takedown event during this day.",
          "type": "integer"
        }
      },
      "required": [
        "date"
      ],
      "type": "object"
    },
    "liveStats": {
      "description": "Live statistics for reports for the current calendar day, filterable by queue, moderator, or report type.",
      "properties": {
        "acknowledgedCount": {
          "description": "Number of closures whose last report action is not label, tag, or takedown.",
          "type": "integer"
        },
        "actionRate": {
          "description": "Percentage of closures actioned (actionedCount / closedCount * 100), rounded to nearest integer.",
          "type": "integer"
        },
        "actionedCount": {
          "description": "Number of closures whose last report action is label, tag, or takedown.",
          "type": "integer"
        },
        "ahtDurationSec": {
          "description": "Sum of report assignment-to-close seconds.",
          "type": "integer"
        },
        "ahtSampleCount": {
          "description": "Number of assigned closed-report samples in ahtDurationSec.",
          "type": "integer"
        },
        "avgHandlingTimeSec": {
          "description": "Average handling time in seconds from report assignment to close.",
          "type": "integer"
        },
        "avgResolutionTimeSec": {
          "description": "Average resolution time in seconds from report creation to close.",
          "type": "integer"
        },
        "closedCount": {
          "description": "Number of close transitions.",
          "type": "integer"
        },
        "escalatedCount": {
          "description": "Number of reports escalated.",
          "type": "integer"
        },
        "inboundCount": {
          "description": "Reports received.",
          "type": "integer"
        },
        "labelActionCount": {
          "description": "Closures whose last report action is a label event.",
          "type": "integer"
        },
        "lastUpdated": {
          "description": "When these statistics were last computed.",
          "format": "datetime",
          "type": "string"
        },
        "pendingCount": {
          "description": "Number of reports currently not closed.",
          "type": "integer"
        },
        "resolutionDurationSec": {
          "description": "Sum of report creation-to-close seconds.",
          "type": "integer"
        },
        "resolutionSampleCount": {
          "description": "Number of closed-report samples in resolutionDurationSec.",
          "type": "integer"
        },
        "tagActionCount": {
          "description": "Closures whose last report action is a tag event.",
          "type": "integer"
        },
        "takedownActionCount": {
          "description": "Closures whose last report action is a takedown event.",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "noteActivity": {
      "description": "Activity recording a note on a report. Use internalNote for moderator-only notes or publicNote for reporter-visible notes (or both).",
      "properties": {},
      "type": "object"
    },
    "queueActivity": {
      "description": "Activity recording a report being routed to a queue.",
      "properties": {
        "previousStatus": {
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
          "knownValues": [
            "open",
            "closed",
            "escalated",
            "queued",
            "assigned"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "reasonAppeal": {
      "description": "Appeal a previously taken moderation action",
      "type": "token"
    },
    "reasonChildSafetyCSAM": {
      "description": "Child sexual abuse material (CSAM). These reports will be sent only be sent to the application's Moderation Authority.",
      "type": "token"
    },
    "reasonChildSafetyGroom": {
      "description": "Grooming or predatory behavior. These reports will be sent only be sent to the application's Moderation Authority.",
      "type": "token"
    },
    "reasonChildSafetyHarassment": {
      "description": "Harassment or bullying of minors",
      "type": "token"
    },
    "reasonChildSafetyOther": {
      "description": "Other child safety. These reports will be sent only be sent to the application's Moderation Authority.",
      "type": "token"
    },
    "reasonChildSafetyPrivacy": {
      "description": "Privacy violation involving a minor",
      "type": "token"
    },
    "reasonHarassmentDoxxing": {
      "description": "Doxxing",
      "type": "token"
    },
    "reasonHarassmentHateSpeech": {
      "description": "Hate speech",
      "type": "token"
    },
    "reasonHarassmentOther": {
      "description": "Other harassing or hateful content",
      "type": "token"
    },
    "reasonHarassmentTargeted": {
      "description": "Targeted harassment",
      "type": "token"
    },
    "reasonHarassmentTroll": {
      "description": "Trolling",
      "type": "token"
    },
    "reasonMisleadingBot": {
      "description": "Fake account or bot",
      "type": "token"
    },
    "reasonMisleadingElections": {
      "description": "False information about elections",
      "type": "token"
    },
    "reasonMisleadingImpersonation": {
      "description": "Impersonation",
      "type": "token"
    },
    "reasonMisleadingOther": {
      "description": "Other misleading content",
      "type": "token"
    },
    "reasonMisleadingScam": {
      "description": "Scam",
      "type": "token"
    },
    "reasonMisleadingSpam": {
      "description": "Spam",
      "type": "token"
    },
    "reasonOther": {
      "description": "An issue not included in these options",
      "type": "token"
    },
    "reasonRuleBanEvasion": {
      "description": "Banned user returning",
      "type": "token"
    },
    "reasonRuleOther": {
      "description": "Other",
      "type": "token"
    },
    "reasonRuleProhibitedSales": {
      "description": "Promoting or selling prohibited items or services",
      "type": "token"
    },
    "reasonRuleSiteSecurity": {
      "description": "Hacking or system attacks",
      "type": "token"
    },
    "reasonSelfHarmContent": {
      "description": "Content promoting or depicting self-harm",
      "type": "token"
    },
    "reasonSelfHarmED": {
      "description": "Eating disorders",
      "type": "token"
    },
    "reasonSelfHarmOther": {
      "description": "Other dangerous content",
      "type": "token"
    },
    "reasonSelfHarmStunts": {
      "description": "Dangerous challenges or activities",
      "type": "token"
    },
    "reasonSelfHarmSubstances": {
      "description": "Dangerous substances or drug abuse",
      "type": "token"
    },
    "reasonSexualAbuseContent": {
      "description": "Adult sexual abuse content",
      "type": "token"
    },
    "reasonSexualAnimal": {
      "description": "Animal sexual abuse",
      "type": "token"
    },
    "reasonSexualDeepfake": {
      "description": "Deepfake adult content",
      "type": "token"
    },
    "reasonSexualNCII": {
      "description": "Non-consensual intimate imagery",
      "type": "token"
    },
    "reasonSexualOther": {
      "description": "Other sexual violence content",
      "type": "token"
    },
    "reasonSexualUnlabeled": {
      "description": "Unlabelled adult content",
      "type": "token"
    },
    "reasonType": {
      "knownValues": [
        "tools.ozone.report.defs#reasonAppeal",
        "tools.ozone.report.defs#reasonOther",
        "tools.ozone.report.defs#reasonViolenceAnimal",
        "tools.ozone.report.defs#reasonViolenceThreats",
        "tools.ozone.report.defs#reasonViolenceGraphicContent",
        "tools.ozone.report.defs#reasonViolenceGlorification",
        "tools.ozone.report.defs#reasonViolenceExtremistContent",
        "tools.ozone.report.defs#reasonViolenceTrafficking",
        "tools.ozone.report.defs#reasonViolenceOther",
        "tools.ozone.report.defs#reasonSexualAbuseContent",
        "tools.ozone.report.defs#reasonSexualNCII",
        "tools.ozone.report.defs#reasonSexualDeepfake",
        "tools.ozone.report.defs#reasonSexualAnimal",
        "tools.ozone.report.defs#reasonSexualUnlabeled",
        "tools.ozone.report.defs#reasonSexualOther",
        "tools.ozone.report.defs#reasonChildSafetyCSAM",
        "tools.ozone.report.defs#reasonChildSafetyGroom",
        "tools.ozone.report.defs#reasonChildSafetyPrivacy",
        "tools.ozone.report.defs#reasonChildSafetyHarassment",
        "tools.ozone.report.defs#reasonChildSafetyOther",
        "tools.ozone.report.defs#reasonHarassmentTroll",
        "tools.ozone.report.defs#reasonHarassmentTargeted",
        "tools.ozone.report.defs#reasonHarassmentHateSpeech",
        "tools.ozone.report.defs#reasonHarassmentDoxxing",
        "tools.ozone.report.defs#reasonHarassmentOther",
        "tools.ozone.report.defs#reasonMisleadingBot",
        "tools.ozone.report.defs#reasonMisleadingImpersonation",
        "tools.ozone.report.defs#reasonMisleadingSpam",
        "tools.ozone.report.defs#reasonMisleadingScam",
        "tools.ozone.report.defs#reasonMisleadingElections",
        "tools.ozone.report.defs#reasonMisleadingOther",
        "tools.ozone.report.defs#reasonRuleSiteSecurity",
        "tools.ozone.report.defs#reasonRuleProhibitedSales",
        "tools.ozone.report.defs#reasonRuleBanEvasion",
        "tools.ozone.report.defs#reasonRuleOther",
        "tools.ozone.report.defs#reasonSelfHarmContent",
        "tools.ozone.report.defs#reasonSelfHarmED",
        "tools.ozone.report.defs#reasonSelfHarmStunts",
        "tools.ozone.report.defs#reasonSelfHarmSubstances",
        "tools.ozone.report.defs#reasonSelfHarmOther"
      ],
      "type": "string"
    },
    "reasonViolenceAnimal": {
      "description": "Animal welfare violations",
      "type": "token"
    },
    "reasonViolenceExtremistContent": {
      "description": "Extremist content. These reports will be sent only be sent to the application's Moderation Authority.",
      "type": "token"
    },
    "reasonViolenceGlorification": {
      "description": "Glorification of violence",
      "type": "token"
    },
    "reasonViolenceGraphicContent": {
      "description": "Graphic violent content",
      "type": "token"
    },
    "reasonViolenceOther": {
      "description": "Other violent content",
      "type": "token"
    },
    "reasonViolenceThreats": {
      "description": "Threats or incitement",
      "type": "token"
    },
    "reasonViolenceTrafficking": {
      "description": "Human trafficking",
      "type": "token"
    },
    "reopenActivity": {
      "description": "Activity recording a closed report being reopened. Only valid when the report is in 'closed' status.",
      "properties": {
        "previousStatus": {
          "description": "The report's status before this activity. Populated automatically from the report row; not required in input.",
          "knownValues": [
            "open",
            "closed",
            "escalated",
            "queued",
            "assigned"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "reportActivityView": {
      "description": "A single activity entry on a report.",
      "properties": {
        "activity": {
          "description": "The typed activity object describing what occurred.",
          "refs": [
            "#queueActivity",
            "#assignmentActivity",
            "#escalationActivity",
            "#closeActivity",
            "#reopenActivity",
            "#noteActivity"
          ],
          "type": "union"
        },
        "createdAt": {
          "description": "When this activity was created",
          "format": "datetime",
          "type": "string"
        },
        "createdBy": {
          "description": "DID of the actor who created this activity, or the service DID for automated activities.",
          "format": "did",
          "type": "string"
        },
        "id": {
          "description": "Activity ID",
          "type": "integer"
        },
        "internalNote": {
          "description": "Optional moderator-only note. Not visible to reporters.",
          "type": "string"
        },
        "isAutomated": {
          "description": "True if this activity was created by an automated process (e.g. queue router) rather than a direct human action.",
          "type": "boolean"
        },
        "meta": {
          "description": "Extensible JSON payload for loose activity-specific metadata (e.g. assignmentId).",
          "type": "unknown"
        },
        "moderator": {
          "description": "Full member record of the moderator who created this activity",
          "ref": "tools.ozone.team.defs#member",
          "type": "ref"
        },
        "publicNote": {
          "description": "Optional public note, potentially visible to the reporter.",
          "type": "string"
        },
        "report": {
          "description": "Full view of the report this activity belongs to.",
          "ref": "#reportView",
          "type": "ref"
        },
        "reportId": {
          "description": "ID of the report this activity belongs to",
          "type": "integer"
        }
      },
      "required": [
        "id",
        "reportId",
        "activity",
        "isAutomated",
        "createdBy",
        "createdAt"
      ],
      "type": "object"
    },
    "reportAssignment": {
      "description": "Information about the moderator currently assigned to a report.",
      "properties": {
        "assignedAt": {
          "description": "When the report was assigned",
          "format": "datetime",
          "type": "string"
        },
        "did": {
          "description": "DID of the assigned moderator",
          "format": "did",
          "type": "string"
        },
        "moderator": {
          "description": "Full member record of the assigned moderator",
          "ref": "tools.ozone.team.defs#member",
          "type": "ref"
        }
      },
      "required": [
        "did",
        "assignedAt"
      ],
      "type": "object"
    },
    "reportView": {
      "properties": {
        "actionEventIds": {
          "description": "Array of moderation event IDs representing actions taken on this report, in append order (most recently linked event last)",
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "actionNote": {
          "description": "Note sent to reporter when report was actioned",
          "type": "string"
        },
        "actions": {
          "description": "Optional: expanded action events",
          "items": {
            "ref": "tools.ozone.moderation.defs#modEventView",
            "type": "ref"
          },
          "type": "array"
        },
        "assignment": {
          "description": "Information about moderator currently assigned to this report (if any)",
          "ref": "#reportAssignment",
          "type": "ref"
        },
        "comment": {
          "description": "Comment provided by the reporter",
          "type": "string"
        },
        "createdAt": {
          "description": "When the report was created",
          "format": "datetime",
          "type": "string"
        },
        "eventId": {
          "description": "ID of the moderation event that created this report",
          "type": "integer"
        },
        "id": {
          "description": "Report ID",
          "type": "integer"
        },
        "isAutomated": {
          "default": false,
          "description": "Whether this report was emitted by automated tooling.",
          "type": "boolean"
        },
        "isMuted": {
          "description": "Whether this report is muted. A report is muted if the reporter was muted or the subject was muted at the time the report was created.",
          "type": "boolean"
        },
        "queue": {
          "description": "The queue this report is assigned to (if any)",
          "ref": "tools.ozone.queue.defs#queueView",
          "type": "ref"
        },
        "queuedAt": {
          "description": "When the report was assigned to its current queue",
          "format": "datetime",
          "type": "string"
        },
        "relatedReportCount": {
          "description": "Number of other pending reports on the same subject",
          "type": "integer"
        },
        "reportType": {
          "description": "Type of report",
          "ref": "com.atproto.moderation.defs#reasonType",
          "type": "ref"
        },
        "reportedBy": {
          "description": "DID of the user who made the report",
          "format": "did",
          "type": "string"
        },
        "reporter": {
          "description": "Full subject view of the reporter account",
          "ref": "tools.ozone.moderation.defs#subjectView",
          "type": "ref"
        },
        "status": {
          "description": "Current status of the report",
          "knownValues": [
            "open",
            "closed",
            "escalated",
            "queued",
            "assigned"
          ],
          "type": "string"
        },
        "subject": {
          "description": "The subject that was reported with full details",
          "ref": "tools.ozone.moderation.defs#subjectView",
          "type": "ref"
        },
        "subjectStatus": {
          "description": "Current status of the reported subject",
          "ref": "tools.ozone.moderation.defs#subjectStatusView",
          "type": "ref"
        },
        "updatedAt": {
          "description": "When the report was last updated",
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "id",
        "eventId",
        "status",
        "subject",
        "reportType",
        "reportedBy",
        "reporter",
        "createdAt"
      ],
      "type": "object"
    }
  },
  "id": "tools.ozone.report.defs",
  "lexicon": 1
}

Validate Record

Validate a record against tools.ozone.report.defs

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

Metadata

DID
did:plc:33dt5kftu3jq2h5h4jjlqezt
CID
bafyreibfark4q32hks5u6ytbgpsqga7unriwg224lzimwtgdgwe6v3m4ue
Indexed At
2026-10-03 21:31 UTC
AT-URI
at://did:plc:33dt5kftu3jq2h5h4jjlqezt/com.atproto.lexicon.schema/tools.ozone.report.defs

Version History (3 versions)

Referenced Schemas (6)

Similar Lexicons

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

Lexicon Garden

@