{
  "lexicon": 1,
  "id": "app.bsky.notification.listNotifications",
  "defs": {
    "main": {
      "type": "query",
      "description": "Enumerate notifications for the requesting account. Requires auth.",
      "parameters": {
        "type": "params",
        "properties": {
          "reasons": {
            "description": "Notification reasons to include in response.",
            "type": "array",
            "items": {
              "type": "string",
              "description": "A reason that matches the reason property of #notification."
            }
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "default": 50
          },
          "priority": { "type": "boolean" },
          "cursor": { "type": "string" },
          "seenAt": { "type": "string", "format": "datetime" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "type": "object",
          "required": ["notifications"],
          "properties": {
            "cursor": { "type": "string" },
            "notifications": {
              "type": "array",
              "items": { "type": "ref", "ref": "#notification" }
            },
            "priority": { "type": "boolean" },
            "seenAt": { "type": "string", "format": "datetime" }
          }
        }
      }
    },
    "notification": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "reason",
        "record",
        "isRead",
        "indexedAt"
      ],
      "properties": {
        "uri": { "type": "string", "format": "at-uri" },
        "cid": { "type": "string", "format": "cid" },
        "author": { "type": "ref", "ref": "app.bsky.actor.defs#profileView" },
        "reason": {
          "type": "string",
          "description": "Expected values are 'like', 'repost', 'follow', 'mention', 'reply', 'quote', 'starterpack-joined', 'verified', and 'unverified'.",
          "knownValues": [
            "like",
            "repost",
            "follow",
            "mention",
            "reply",
            "quote",
            "starterpack-joined",
            "verified",
            "unverified"
          ]
        },
        "reasonSubject": { "type": "string", "format": "at-uri" },
        "record": { "type": "unknown" },
        "isRead": { "type": "boolean" },
        "indexedAt": { "type": "string", "format": "datetime" },
        "labels": {
          "type": "array",
          "items": { "type": "ref", "ref": "com.atproto.label.defs#label" }
        }
      }
    }
  }
}
