---
title: "Update a contact's subscription status"
method: POST
path: "/communication-preferences/2026-03/statuses/{subscriberIdString}"
tags: ["Status"]
---

# Update a contact's subscription status

`POST /communication-preferences/2026-03/statuses/{subscriberIdString}`

Set the subscription status of a specific contact.

## Path parameters

- `subscriberIdString` string, required

## Request body

- CommunicationPreferencesPartialPublicStatusRequest
  - `channel` 'EMAIL', required — The type of communication channel, with 'EMAIL' as the only supported option.
  - `legalBasis` 'CONSENT_WITH_NOTICE' | 'LEGITIMATE_INTEREST_CLIENT' | 'LEGITIMATE_INTEREST_OTHER' | 'LEGITIMATE_INTEREST_PQL' | 'NON_GDPR' | 'PERFORMANCE_OF_CONTRACT' | 'PROCESS_AND_STORE' — The legal basis for communication, with options including 'LEGITIMATE_INTEREST_PQL', 'LEGITIMATE_INTEREST_CLIENT', 'PERFORMANCE_OF_CONTRACT', 'CONSENT_WITH_NOTICE', 'NON_GDPR', 'PROCESS_AND_STORE', and 'LEGITIMATE_INTEREST_OTHER'.
  - `legalBasisExplanation` string — An explanation for the legal basis used for communication.
  - `statusState` 'NOT_SPECIFIED' | 'SUBSCRIBED' | 'UNSUBSCRIBED', required — The current subscription status of the contact, which can be 'SUBSCRIBED', 'UNSUBSCRIBED', or 'NOT_SPECIFIED'.
  - `subscriptionId` integer, required — The unique identifier of the subscription to be updated.

## Response `200`

successful operation

- CommunicationPreferencesActionResponseWithResultsPublicStatus
  - `completedAt` string, date-time, required — The date and time when the operation was completed.
  - `errors` StandardError[] — A list of errors that occurred during the operation.
    - `category` string, required — Error category.
    - `context` object, required — Error context.
    - `errors` ErrorDetail[], required — List of error details.
      - `code` string — The status code associated with the error detail
      - `context` object — Context about the error condition
      - `in` string — The name of the field or parameter in which the error was found.
      - `message` string, required — A human readable message describing the error along with remediation steps where appropriate
      - `subCategory` string — A specific category that contains more specific detail about the error
    - `id` string — Error ID.
    - `links` object, required — Error links.
    - `message` string, required — Error message.
    - `status` string, required — Error status.
    - `subCategory` object — Error subcategory.
  - `links` object — Contains URLs related to the response, such as documentation or resources.
  - `numErrors` integer — The number of errors that occurred during the operation.
  - `requestedAt` string, date-time — The date and time when the request was made.
  - `results` CommunicationPreferencesPublicStatus[], required — An array of results from the operation.
    - `businessUnitId` integer — The ID of the business unit associated with the subscription.
    - `channel` 'EMAIL', required — The type of communication channel, with 'EMAIL' as the only supported option.
    - `legalBasis` 'CONSENT_WITH_NOTICE' | 'LEGITIMATE_INTEREST_CLIENT' | 'LEGITIMATE_INTEREST_OTHER' | 'LEGITIMATE_INTEREST_PQL' | 'NON_GDPR' | 'PERFORMANCE_OF_CONTRACT' | 'PROCESS_AND_STORE' — The legal basis for communication, with options including 'LEGITIMATE_INTEREST_PQL', 'LEGITIMATE_INTEREST_CLIENT', 'PERFORMANCE_OF_CONTRACT', 'CONSENT_WITH_NOTICE', 'NON_GDPR', 'PROCESS_AND_STORE', and 'LEGITIMATE_INTEREST_OTHER'.
    - `legalBasisExplanation` string — An explanation for the legal basis used for communication.
    - `setStatusSuccessReason` 'NO_STATUS_CHANGE' | 'REQUESTED_CHANGE_OCCURRED' | 'RESUBSCRIBE_OCCURRED' | 'UNSUBSCRIBE_FROM_ALL_OCCURRED' — The reason for the successful change in subscription status, such as 'RESUBSCRIBE_OCCURRED' or 'NO_STATUS_CHANGE'.
    - `source` string, required — The origin or method through which the subscription status was set.
    - `status` 'NOT_SPECIFIED' | 'SUBSCRIBED' | 'UNSUBSCRIBED', required — The current subscription status of the contact, which can be 'SUBSCRIBED', 'UNSUBSCRIBED', or 'NOT_SPECIFIED'.
    - `subscriberIdString` string, required — The contact's email address.
    - `subscriptionId` integer, required — The unique identifier of the subscription.
    - `subscriptionName` string — The name of the subscription.
    - `timestamp` string, date-time, required — The date and time when the subscription status was last updated.
  - `startedAt` string, date-time, required — The date and time when the operation started.
  - `status` 'CANCELED' | 'COMPLETE' | 'PENDING' | 'PROCESSING', required — Indicates the current status of the operation, with possible values: PENDING, PROCESSING, CANCELED, COMPLETE.

## Other responses

- `default` — An error occurred.

---

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