{
  "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": "The reason why this notification was delivered - e.g. your post was liked, or you received a new follower.",
          "knownValues": [
            "like",
            "repost",
            "follow",
            "mention",
            "reply",
            "quote",
            "starterpack-joined",
            "verified",
            "unverified",
            "like-via-repost",
            "repost-via-repost",
            "subscribed-post",
            "contact-match"
          ]
        },
        "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" }
        }
      }
    }
  }
}
