Skip to content

HubSpot: Batch retrieve contacts who have opted out of all communications

HubSpot communicationPreferences.statusesBatchUnsubscribeAllRead: arguments, response, policy and SDK examples.

← Communication preferences operations · Get started

Operation hubspot.communication_preferences_statuses_batch_unsubscribe_all_read

Provider route: POST /communication-preferences/2026-09/statuses/batch/unsubscribe-all/read. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/hubspot with npm, or alter-sdk-hubspot with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { HubSpotIntegration } from "@alter-ai/hubspot";
async function execute(input: Parameters<HubSpotIntegration["communicationPreferences"]["statusesBatchUnsubscribeAllRead"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new HubSpotIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.communicationPreferences.statusesBatchUnsubscribeAllRead(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_hubspot import HubSpotIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = HubSpotIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.communication_preferences.statuses_batch_unsubscribe_all_read(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
queryobjectRequired within parentAdditional keys: not allowed
query.channelstringRequired within parentOne of: EMAIL
query.businessUnitIdintegerOptionalFormat: int64
bodyModelRequired within parentExpand Batch retrieve subscription statuses — request body — body

Referenced models: Batch retrieve subscription statuses — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$JSONRoot
$ (anyOf 1)ModelAlternativeExpand Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Wide Status Bulk Response
$ (anyOf 2)ModelAlternativeExpand Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Wide Status Bulk Response With Errors

Referenced models: Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Wide Status Bulk Response, Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Wide Status Bulk Response With Errors

Batch retrieve subscription statuses — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
inputsarrayRequired within parentA list of strings representing the inputs for batch operations.
inputs[]stringEach item
Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Wide Status Bulk Response
FieldTypePresenceDescription and constraints
$objectRoot
completedAtstringRequired within parentThe date and time when the batch process was completed.
Format: date-time
linksobjectOptionalA collection of related links associated with the batch response.
Additional keys: see wildcard field
links.*stringAdditional keys
requestedAtstringOptionalThe date and time when the batch request was made.
Format: date-time
resultsarrayRequired within parentThe array of results from the batch process, each containing subscription status information.
results[]ModelEach itemExpand Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING results item
startedAtstringRequired within parentThe date and time when the batch process began.
Format: date-time
statusstringRequired within parentThe current status of the batch process, with possible values: PENDING, PROCESSING, CANCELED, COMPLETE.
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING results item

Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Wide Status Bulk Response With Errors
FieldTypePresenceDescription and constraints
$objectRoot
completedAtstringRequired within parentThe date and time when the operation was completed.
Format: date-time
errorsarrayOptionalAn array of error objects detailing any issues encountered during the operation.
errors[]ModelEach itemExpand Batch update subscription status — response body — errors item
linksobjectOptionalAn object containing related links, where each key is a link name and each value is a URL.
Additional keys: see wildcard field
links.*stringAdditional keys
numErrorsJSONOptional
numErrors (anyOf 1)integerAlternativeThe number of errors encountered during the operation.
Format: int32
numErrors (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
requestedAtstringOptionalThe date and time when the operation was requested.
Format: date-time
resultsarrayRequired within parentAn array containing the results of the operation.
results[]ModelEach itemExpand Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING results item
startedAtstringRequired within parentThe date and time when the operation started.
Format: date-time
statusstringRequired within parentThe current status of the operation, which can be PENDING, PROCESSING, CANCELED, or COMPLETE.
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Batch update subscription status — response body — errors item, Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING results item

Batch retrieve contacts who have opted out of all communications — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING results item
FieldTypePresenceDescription and constraints
$objectRoot
subscriberIdStringstringRequired within parentThe contact's email address.
wideStatusesarrayRequired within parentAn array containing the wide status results for the operation.
wideStatuses[]ModelEach itemExpand Retrieve a contact's unsubscribed status — response body — results item

Referenced models: Retrieve a contact's unsubscribed status — response body — results item

Batch update subscription status — response body — errors item
FieldTypePresenceDescription and constraints
$objectRootYe olde error
categorystringRequired within parentA string that categorizes the type of error.
contextobjectRequired within parentAn object containing additional context about the error condition, with keys as context names and values as arrays of strings.
Additional keys: see wildcard field
context.*arrayAdditional keys
context.*[]stringEach item
errorsarrayRequired within parentAn array of ErrorDetail objects providing further information about the error.
errors[]ModelEach itemExpand Batch insert events — response body — errors item errors item
idstringOptionalA string representing the unique identifier of the error.
linksobjectRequired within parentAn object mapping link names to associated URIs that contain documentation about the error or recommended remediation steps.
Additional keys: see wildcard field
links.*stringAdditional keys
messagestringRequired within parentA string containing a human-readable message describing the error.
statusstringRequired within parentA string indicating the status of the error.
subCategoryobjectOptionalAn object providing more specific categorization of the error.

Referenced models: Batch insert events — response body — errors item errors item

Retrieve a contact's unsubscribed status — response body — results item
FieldTypePresenceDescription and constraints
$objectRoot
businessUnitIdJSONOptional
businessUnitId (anyOf 1)integerAlternativeThe ID of the business unit associated with the status.
Format: int64
businessUnitId (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
channelstringRequired within parentThe type of communication channel, with 'EMAIL' as the only supported option.
Known values: EMAIL
statusstringRequired within parentThe subscription status of the contact, which can be 'SUBSCRIBED', 'UNSUBSCRIBED', or 'NOT_SPECIFIED'.
Known values: NOT_SPECIFIED, SUBSCRIBED, UNSUBSCRIBED
subscriberIdStringstringRequired within parentThe email address of the contact.
timestampstringRequired within parentThe date and time when the status was recorded.
Format: date-time
wideStatusTypestringRequired within parentThe type of wide status, which can be 'PORTAL_WIDE' or 'BUSINESS_UNIT_WIDE'.
Known values: BUSINESS_UNIT_WIDE, PORTAL_WIDE
Batch insert events — response body — errors item errors item
FieldTypePresenceDescription and constraints
$objectRootRepresents detailed information about an error that occurred in the API. This component is used to provide additional context and specifics about errors, typically as part of an error response.
codestringOptionalThe status code associated with the error detail
contextobjectOptionalContext about the error condition
Additional keys: see wildcard field
context.*arrayAdditional keys
context.*[]stringEach item
instringOptionalThe name of the field or parameter in which the error was found.
messagestringRequired within parentA human readable message describing the error along with remediation steps where appropriate
subCategorystringOptionalA specific category that contains more specific detail about the error

SDK function policy ID: hubspot.communication_preferences_statuses_batch_unsubscribe_all_read. Catalog operation: communication_preferences_statuses_batch_unsubscribe_all_read. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["communication_preferences.statuses.batch.read"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.