---
title: "Api Notifications List"
method: GET
path: "/api/notifications"
tags: ["notifications"]
---

# Api Notifications List

`GET /api/notifications`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/api/notifications`
- Auth: none declared

List recent notifications for the authed user + an unread
count. FE polls this every 60s via OLPolling to keep the
bell-badge fresh.

## Query parameters

- `limit` integer: Max notifications to return (1-100).
- `unread_only` integer: 1 = only unread; 0 = both.

## Response `200`

Successful Response

- NotificationsListResponse: `GET /api/notifications` — list + unread count for the bell-badge dropdown. Both fields REQUIRED on every branch (success + error) so the FE's `data.notifications.forEach` and `data.unread_count` reads never NPE.
  - `notifications` object[], required: Recent notifications (default 20, capped 100). Each row: {id, kind, title, body, link_url, created_at, read_at, expires_at}.
  - `unread_count` integer, required: Total unread (un-expired) for the user. Drives the bell-badge count.

## Other responses

- `422`: Validation Error

---

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