# Feed API Reference

OpenAPI source: https://api.are.na/v3/openapi.json

## GET /v3/me/notifications

- Label: Get current user's notifications
- Docs: https://www.are.na/developers/explore/feed/notifications
- Markdown: https://www.are.na/developers/explore/feed/notifications.md
- Requires resource id: no
- Response content type: application/json

Returns the authenticated user's notifications feed.
Each notification includes read state for the current user.

Query parameters:
- limit: number (optional) — Number of feed items to return (max 100)
- before: string (optional) — Opaque cursor token returned as `meta.next_cursor` from a previous
response. Pass it back to fetch the next page of older items.

- after: string (optional) — Opaque cursor token used to page forward (newer items).

- unread: string (optional) — When true, only unread notifications are returned.

Response schema:
```json
{
  "type": "object",
  "description": "Cursor-paginated notification feed response.",
  "required": [
    "meta",
    "data"
  ],
  "properties": {
    "meta": {
      "type": "object",
      "description": "Cursor pagination metadata for redis-backed feeds.",
      "required": [
        "limit",
        "next_cursor",
        "prev_cursor",
        "has_more"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "nullable": false,
          "description": "Maximum number of items requested.",
          "example": 24
        },
        "next_cursor": {
          "type": "string",
          "nullable": true,
          "description": "Opaque cursor token to pass back as `before` for the next page,\nor null when there are no more items. Treat the value as a black\nbox; the encoding is not stable.\n",
          "example": "eyJzIjoxNzE3NjEyMzQ1LCJiIjo0MjB9"
        },
        "prev_cursor": {
          "type": "string",
          "nullable": true,
          "description": "Opaque cursor token to pass back as `after` to fetch newer items,\nor null when this page has no items. Treat the value as a black\nbox; the encoding is not stable.\n",
          "example": "eyJzIjoxNzE3NjEyMzQ1LCJiIjo0MjB9"
        },
        "has_more": {
          "type": "boolean",
          "nullable": false,
          "description": "Whether more items are available after this page.",
          "example": true
        }
      },
      "refName": "CursorMeta"
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "nullable": false,
            "description": "Unique identifier for the underlying activity.",
            "example": 12345
          },
          "created_at": {
            "type": "string",
            "nullable": false,
            "description": "When the activity occurred.",
            "format": "date-time",
            "example": "2024-06-05T12:00:00Z"
          },
          "kind": {
            "type": "string",
            "nullable": false,
            "description": "The normalized activity kind. Encodes the actor's action and the item /\ntarget involved, so clients can render and switch on a single value\nrather than stitching together separate action and connector phrases.\n\nKind determines the expected subject types:\n- `followed_user`: item=User, target=null, parent=null\n- `followed_channel`: item=Channel, target=null, parent=null\n- `followed_group`: item=Group, target=null, parent=null\n- `added_block_to_channel`: item=Block (Text/Image/Link/Attachment/Embed), target=Channel, parent=null\n- `added_channel_to_channel`: item=Channel, target=Channel, parent=null\n- `created_channel`: item=Channel, target=null, parent=null\n- `collaborating_with_user_on_channel`: item=User, target=Channel, parent=null\n- `collaborating_with_group_on_channel`: item=Group, target=Channel, parent=null\n- `commented_on_block`: item=Comment, target=Block, parent=Channel\n- `mentioned_you`: item=Comment, target=User, parent=Block\n- `added_user_to_group`: item=User, target=Group, parent=null\n",
            "enum": [
              "followed_user",
              "followed_channel",
              "followed_group",
              "added_block_to_channel",
              "added_channel_to_channel",
              "created_channel",
              "collaborating_with_user_on_channel",
              "collaborating_with_group_on_channel",
              "commented_on_block",
              "mentioned_you",
              "added_user_to_group"
            ],
            "example": "added_block_to_channel",
            "refName": "ActivityKind"
          },
          "actor": {
            "type": "oneOf",
            "description": "User or group who performed the activity.",
            "variants": [
              {
                "type": "object",
                "description": "Embedded user representation (used when user is nested in other resources)",
                "…": "see OpenAPI spec for full schema"
              },
              {
                "type": "object",
                "description": "Embedded group representation (used when group is nested in other resources)",
                "…": "see OpenAPI spec for full schema"
              }
            ],
            "refName": "ActivityActor"
          },
          "item": {
            "type": "oneOf",
            "variants": [
              {
                "type": "oneOf",
                "description": "Resource involved in a feed activity.",
                "…": "see OpenAPI spec for full schema"
              },
              {
                "type": "unknown",
                "nullable": true
              }
            ]
          },
          "target": {
            "type": "oneOf",
            "variants": [
              {
                "type": "oneOf",
                "description": "Resource involved in a feed activity.",
                "…": "see OpenAPI spec for full schema"
              },
              {
                "type": "unknown",
                "nullable": true
              }
            ]
          },
          "parent": {
            "type": "oneOf",
            "variants": [
              {
                "type": "oneOf",
                "description": "Resource involved in a feed activity.",
                "…": "see OpenAPI spec for full schema"
              },
              {
                "type": "unknown",
                "nullable": true
              }
            ]
          },
          "type": {
            "type": "string",
            "nullable": false,
            "enum": [
              "Notification"
            ],
            "example": "Notification"
          },
          "is_read": {
            "type": "boolean",
            "nullable": false,
            "description": "Whether the authenticated user has read this notification.",
            "example": false
          }
        },
        "required": [
          "id",
          "created_at",
          "kind",
          "actor",
          "item",
          "target",
          "parent",
          "type",
          "is_read"
        ],
        "description": "A notification feed activity with read state.",
        "refName": "Notification"
      }
    }
  },
  "refName": "NotificationListResponse"
}
```