---
title: "What happened across every network"
method: GET
path: "/v1/notifications"
tags: ["Reading"]
---

# What happened across every network

`GET /v1/notifications`

## Request

- Base URL: `https://api.postlake.dev`
- URL: `https://api.postlake.dev/v1/notifications`
- Auth: `bearerAuth` (a scheme the document does not define)

Likes, replies, mentions, follows, reposts and quotes, newest first, in one normalised shape. `problems` names any network that could not be read, so an empty `items` never silently means 'we could not look'.

## Query parameters

- `account` string
- `cursor` string
- `limit` integer

## Response `200`

Success

- object
  - `items` Notification[]
    - `id` string
    - `platform` string
    - `account` string
    - `type` 'like' | 'reply' | 'mention' | 'follow' | 'repost' | 'quote' | 'other': Normalised kind. Unknown kinds arrive as 'other' so a new one cannot break a parser.
    - `platformType` string: The network's own word for it, unmapped
    - `actor` SocialActor
      - `handle` string
      - `displayName` string, nullable
      - `avatarUrl` string, nullable
      - `id` string, nullable: The network's own id, for follow/block/mute
    - `post` object, nullable
      - `uri` string
      - `url` string, nullable
      - `text` string, nullable
    - `text` string, nullable
    - `createdAt` string, date-time
    - `read` boolean
  - `cursor` string, nullable: Opaque. Pass it back verbatim for the next page; null means the end. Never parse it: on cross-network reads it encodes a position per network.
  - `problems` ReadProblem[]
    - `account` string
    - `platform` string
    - `reason` string

---

[API](https://skmtc.dev/postlake/apis/postlake-api.md) · [All operations](https://skmtc.dev/postlake/apis/postlake-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postlake/apis/postlake-api/revisions/f81060e31f69?raw)
