---
title: "Update Topic"
method: PATCH
path: "/v1/topics/{id}"
tags: ["Topics"]
---

# Update Topic

`PATCH /v1/topics/{id}`

Update a topic. Note: defaultSubscription cannot be changed after creation. Requires API key with audience:write.

## Path parameters

- `id` string, required

## Request body

- UpdateTopicRequest
  - `name` string
  - `description` string
  - `visibility` 'public' | 'private'
  - `displayOrder` integer
  - `isActive` boolean
  - `projectId` string, required

## Response `200`

Topic updated

- ApiResponseTopic
  - `success` boolean, required
  - `data` object, nullable
    - `id` string
    - `name` string
    - `description` string
    - `defaultSubscription` 'opt_in' | 'opt_out'
    - `visibility` 'public' | 'private'
    - `displayOrder` integer
    - `isActive` boolean
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `error` string, nullable

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Resource not found

---

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