toolsOzoneInboxListReports top-level constant

Map<String, dynamic> const toolsOzoneInboxListReports

tools.ozone.inbox.listReports

Implementation

const toolsOzoneInboxListReports = <String, dynamic>{
  "lexicon": 1,
  "id": "tools.ozone.inbox.listReports",
  "defs": {
    "main": {
      "type": "query",
      "description":
          "List moderation reports submitted by the authenticated account to this moderation service.",
      "parameters": {
        "type": "params",
        "properties": {
          "did": {
            "type": "string",
            "format": "did",
            "description":
                "Account to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.",
          },
          "filter": {
            "type": "string",
            "description":
                "Filter report activity. unread includes reports whose updatedAt is after the reports section's seenAt watermark.",
            "default": "all",
            "enum": ["all", "pending", "resolved", "unread"],
          },
          "sortField": {
            "type": "string",
            "default": "updatedAt",
            "enum": ["createdAt", "updatedAt"],
          },
          "sortDirection": {
            "type": "string",
            "default": "desc",
            "enum": ["asc", "desc"],
          },
          "limit": {
            "type": "integer",
            "default": 50,
            "minimum": 1,
            "maximum": 100,
          },
          "cursor": {
            "type": "string",
            "description": "An opaque cursor for pagination.",
          },
        },
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["reports"],
          "properties": {
            "cursor": {"type": "string"},
            "reports": {
              "type": "array",
              "items": {"type": "ref", "ref": "#reportView"},
            },
          },
        },
      },
    },
    "reportView": {
      "type": "object",
      "required": [
        "src",
        "id",
        "isRead",
        "reasonType",
        "subject",
        "status",
        "createdAt",
        "updatedAt",
      ],
      "properties": {
        "src": {
          "type": "string",
          "format": "did",
          "description":
              "DID of the moderation service that received the report.",
        },
        "id": {
          "type": "integer",
          "description":
              "Report ID (report table ID), used by getReport and Ozone's report detail page.",
        },
        "isRead": {"type": "boolean"},
        "reasonType": {
          "type": "string",
          "description":
              "The exact fully-qualified reason NSID submitted with and stored on the report.",
        },
        "reason": {"type": "string", "maxLength": 20000, "maxGraphemes": 2000},
        "lastActionTaken": {
          "type": "string",
          "description":
              "Public action associated with this report's transition to resolved. See the public action vocabulary table.",
        },
        "scope": {
          "type": "string",
          "knownValues": ["network", "app", "labelOnly"],
        },
        "subject": {
          "type": "union",
          "refs": [
            "com.atproto.admin.defs#repoRef",
            "com.atproto.repo.strongRef",
            "chat.bsky.convo.defs#messageRef",
            "chat.bsky.convo.defs#convoRef",
          ],
        },
        "status": {
          "type": "string",
          "knownValues": ["pending", "resolved"],
        },
        "createdAt": {"type": "string", "format": "datetime"},
        "updatedAt": {"type": "string", "format": "datetime"},
      },
    },
  },
};