---
title: "Get topics"
method: GET
path: "/preference-center/api/v1/topics"
tags: ["Topics"]
---

# Get topics

`GET /preference-center/api/v1/topics`

Returns a list of preference center topics, optionally filtered by brand group and visibility.
For **SMART campaign topics**, set `hideFromUi=true` to get topics that are hidden from the preference center UI (and thus used for SMART campaigns). If `hideFromUi` is not provided, only customer-visible topics are returned.

## Query parameters

- `brandGroupId` string, uuid
- `hideFromUi` boolean

## Response `200`

Success. Returns list of topics.

- Topic[]
  - `id` string, uuid — Unique identifier of the topic (set by server on create)
  - `name` string — Display name of the topic
  - `description` string — Description of the topic
  - `parentId` string, uuid, nullable — Parent topic ID for hierarchical topics
  - `order` integer — Display order in the preference center
  - `brandGroupId` string, uuid — Brand group this topic belongs to
  - `createdAt` string, date-time, nullable — Set by server
  - `createdBy` string, nullable — Set by server from auth context
  - `updatedAt` string, date-time, nullable — Set by server
  - `updatedBy` string, nullable — Set by server from auth context
  - `hideFromUi` boolean, nullable — When true, topic is hidden from the preference center UI (e.g. SMART campaign topics). Cannot be changed after creation.

## Other responses

- `401` — Authentication required or invalid
- `500` — Internal server error

---

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