---
title: "Get notifications"
method: GET
path: "/x/notifications"
tags: ["Users"]
---

# Get notifications

`GET /x/notifications`

## Query parameters

- `type` 'All' | 'Verified' | 'Mentions'
- `cursor` string

## Response `200`

List of notifications

- object
  - `notifications` object[], required
    - `id` string, required
    - `type` string
    - `message` string
    - `timestamp` string
  - `has_next_page` boolean, required
  - `next_cursor` string, required

## Other responses

- `401` — Unauthenticated
- `402` — Payment required. Fixed-price direct MPP requests return a Machine Payments Protocol problem document and a WWW-Authenticate challenge. Authenticated X data requests return balances and explicit Stripe checkout-creation actions. Guest paid-read keys receive only the accountless guest top-up action. Direct MPP challenges also advertise the Stripe wallet action. Other authenticated endpoints return a legacy error shape. A failed request never creates checkout. Create checkout only after the user confirms a payment option.
- `424` — Dependency unavailable, unauthorized, or rate limited. Default v1 returns 502. The best-practice response contract returns 424 for transparent dependency failures.
- `429` — Xquik tier rate limit exceeded. The response includes a `Retry-After` header with the number of seconds to wait before retrying.
- `502` — Dependency unavailable, unauthorized, or rate limited. Default v1 returns 502. The best-practice response contract returns 424 for transparent dependency failures.

## Changes

- **2026-07-22** `37e31f0b5439` — 1 breaking
  - added `#/components/schemas/XWritePaymentRequired` to the response body `oneOf` list for the response status `402` (media type: application/json)
  - …this revision’s changelog is incomplete
- **2026-07-13** `83005363f122` — 7 breaking, 53 info
  - added `#/components/schemas/AuthenticatedPaymentRequired, #/components/schemas/GuestPaymentRequired, subschema #3` to the response body `oneOf` list for the response status `402`
  - the response's body type changed from `object` to no type for status `402`
  - added `subschema #1: LegacyErrorCode, subschema #2: StructuredError` to the `error` response property `oneOf` list for the response status `401`
  - added `subschema #1: LegacyErrorCode, subschema #2: StructuredError` to the `error` response property `oneOf` list for the response status `502`
  - …56 more
- **2026-04-25** `2adc33156b4b` — 6 warning, 10 info
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `401`
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `402`
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `502`
  - added the new `no_credits` enum value to the `error` response property for the response status `401`
  - …12 more

[Change history](https://skmtc.dev/xquik-dev/apis/xquik-api/changes/x/notifications/get.md)

---

[API](https://skmtc.dev/xquik-dev/apis/xquik-api.md) · [All operations](https://skmtc.dev/xquik-dev/apis/xquik-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xquik-dev/xquik-api/revisions/37e31f0b5439/schema)
