---
title: "Update topic"
method: PUT
path: "/preference-center/api/v1/topics"
tags: ["Topics"]
---

# Update topic

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

Updates an existing preference center topic. **Note:** `hideFromUi` cannot be changed after creation, so SMART campaign topics remain hidden from the UI.

## Request body

- TopicUpdateRequest
  - `id` string, uuid, required — Unique identifier of the topic to update
  - `name` string, required — Display name of the topic (must be unique within brand group)
  - `description` string, required — Description of the topic
  - `brandGroupId` string, uuid, required — Brand group this topic belongs to (must exist)

## Response `200`

Topic updated successfully.

- Topic — A preference center topic. For SMART campaigns, hideFromUi is true so the topic is not shown in the preference center UI.
  - `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

- `400` — Invalid request body or parameters.
- `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)
