---
title: "Resubscribe a Contact to a Topic"
method: DELETE
path: "/contacts/unsubscribed_topics/{id}"
tags: ["Contacts::UnsubscribedTopic"]
---

# Resubscribe a Contact to a Topic

`DELETE /contacts/unsubscribed_topics/{id}`

## Request

- Base URL: `https://myworkspace.myclickfunnels.com/api/v2`
- URL: `https://myworkspace.myclickfunnels.com/api/v2/contacts/unsubscribed_topics/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://accounts.myclickfunnels.com/oauth/authorize`
    - Token URL: `https://accounts.myclickfunnels.com/oauth/token`
- TypeScript: <https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/docs/contacts/unsubscribed_topics/:id/delete.ts> (a function with typed inputs; its response is checked against the schema)

Resubscribe the contact by removing a topic opt-out. Obtain the contact's renewed consent before calling this endpoint (CAN-SPAM, GDPR, CASL). Records who changed the preference and when. This also clears the separate all-email unsubscribed_at flag if set, even for an archived topic. No contact.unsubscribed webhook fires; contact.updated fires only if unsubscribed_at changed.

## Path parameters

- `id` string, required

## Response `204`

No Content

## Other responses

- `401`: Unauthorized
- `403`: Forbidden — this request's workspace is closed to it. Three cases return this: * The access token is limited to specific workspaces (see the workspace selection made when the key was provisioned, or the workspaces approved on the OAuth consent screen) and the request acts on a workspace outside that set. * The access token is limited to specific workspaces and the request's workspace could not be determined at all. The gate is fail-closed, so a workspace-limited token is denied rather than allowed through when the target workspace is ambiguous. * The workspace's team has no active ClickFunnels subscription: it was canceled, is paused, or is locked out after failed payments. Reads and writes are both refused until the subscription is reactivated, and the body carries `"code": "subscription_inactive"`. A token with no workspace restriction never receives the first two.
- `404`: Not Found
- `422`: The subscription change could not be saved; the opt-out and history are unchanged.

## Changes

- **2026-11-03** `511d88b30aea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/changes/contacts/unsubscribed_topics/:id/delete.md)

---

[API](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api.md) - [All operations](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/revisions/511d88b30aea?raw)
