---
title: "List Topics"
method: GET
path: "/users/me/preferences/notifications/topics"
tags: ["Users"]
---

# List Topics

`GET /users/me/preferences/notifications/topics`

Lists the authenticated user's topic-scoped notification preferences, plus user-agnostic platform defaults. Each filter matches preferences scoped to its value or not narrowed on that dimension. Per-experience levels are listed separately, by `GET /users/me/preferences/notifications/experiences`.

## Query parameters

- `channel` 'in_app' | 'mobile'
- `account_id` string
- `team_account_id` string
- `experience_id` string
- `topic_id` string
- `first` integer
- `after` string

## Response `200`

preferences listed

- object
  - `data` UserNotificationPreference[], required
    - `created_at` string, required — When the preference was created, as an ISO 8601 timestamp.
    - `id` string, required — Notification preference ID, prefixed `unpf_`.
    - `level` 'all' | 'nothing', required — What the user is notified about in this scope: `all` or `nothing`.
    - `object` 'notification_preference', required — The type of object. Always `notification_preference`.
    - `scope` NotificationPreferenceScope, required
      - `account_id` string, nullable, required — Account the preference is scoped to (member notifications), prefixed `biz_`.
      - `channel` 'in_app' | 'mobile' | 'null', nullable, required — Delivery channel the preference applies to. `null` applies to every channel.
      - `experience_id` string, nullable, required — Experience the preference is scoped to, prefixed `exp_`.
      - `team_account_id` string, nullable, required — Account whose team notifications the preference is scoped to, prefixed `biz_`.
      - `topic_id` string, nullable, required — Notification topic the preference is scoped to, prefixed `topic_`.
    - `updated_at` string, required — When the preference was last changed, as an ISO 8601 timestamp.
  - `page_info` object, required
    - `end_cursor` string, nullable, required
    - `has_next_page` boolean, required
    - `has_previous_page` boolean, required
    - `start_cursor` string, nullable, required

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/a8a43db4255f/schema)
