---
title: "Replace the subscriber's active topics."
method: PUT
path: "/subscribers/{subscriberId}/topics"
tags: ["Subscribers"]
---

# Replace the subscriber's active topics.

`PUT /subscribers/{subscriberId}/topics`

## Request

- Base URL: `https://api.maildroppa.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maildroppa.com/subscribers/{subscriberId}/topics`
- Auth: API key in header `X-API-Key`

Topics left out are unsubscribed. Topics the subscriber opted out of personally are only reactivated with overrideOptOuts.

## Path parameters

- `subscriberId` string, uuid, required

## Request body

- ReplaceSubscriberTopics: Complete set of active topics the subscriber should be subscribed to.
  - `topicIds` string[]: Active topic identifiers; topics left out are unsubscribed.
  - `overrideOptOuts` boolean: Reactivate topics the subscriber opted out of personally. Defaults to false.

## Response `204`

Subscriber topics replaced.

## Other responses

- `400`: Invalid topic set or subscriber status cannot hold topics.
- `401`: Not Authorized
- `403`: Not Allowed
- `404`: Subscriber not found.
- `409`: TOPIC_OPT_OUT_PROTECTED: the subscriber opted out of listed topics.
- `428`: Accept the customer agreements in the app before using API keys.

---

[API](https://skmtc.dev/maildroppa/apis/maildroppa-api-beta.md) · [All operations](https://skmtc.dev/maildroppa/apis/maildroppa-api-beta/llms.txt) · [OpenAPI document](https://skmtc.dev/maildroppa/apis/maildroppa-api-beta/revisions/a9f5a3fd1fb0?raw)
