Skip to content

HubSpot: Batch update campaigns

HubSpot campaigns.batchUpdateCampaigns: arguments, response, policy and SDK examples.

← Campaigns operations · Get started

Operation hubspot.campaigns_batch_update_campaigns

Provider route: POST /marketing/campaigns/2026-09/batch/update. 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["campaigns"]["batchUpdateCampaigns"]>[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.campaigns.batchUpdateCampaigns(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.campaigns.batch_update_campaigns(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
bodyModelRequired within parentExpand Batch update campaigns — request body — body

Referenced models: Batch update campaigns — 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 create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Campaign
$ (anyOf 2)ModelAlternativeExpand Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Campaign With Errors

Referenced models: Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Campaign, Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Campaign With Errors

Batch update campaigns — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
inputsarrayRequired within parentAn array of PublicCampaignBatchUpdateItem objects, each containing the details required to update a specific campaign.
inputs[]ModelEach itemExpand Batch update campaigns — request body — body inputs item

Referenced models: Batch update campaigns — request body — body inputs item

Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Campaign
FieldTypePresenceDescription and constraints
$objectRoot
completedAtstringRequired within parentThe date and time when the batch operation was completed, in ISO 8601 format.
Format: date-time
linksobjectOptionalA map of link names to associated URIs that provide additional information related to the batch operation.
Additional keys: see wildcard field
links.*stringAdditional keys
requestedAtstringOptionalThe date and time when the batch operation was requested, in ISO 8601 format.
Format: date-time
resultsarrayRequired within parentAn array of public campaign objects that represent the results of the batch operation.
results[]ModelEach itemExpand Create a campaign — response body
startedAtstringRequired within parentThe date and time when the batch operation started, in ISO 8601 format.
Format: date-time
statusstringRequired within parentThe current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Create a campaign — response body

Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Batch Response Public Campaign With Errors
FieldTypePresenceDescription and constraints
$objectRoot
completedAtstringRequired within parentThe date and time when the batch operation was completed, in ISO 8601 format.
Format: date-time
errorsarrayOptionalAn array of standard error objects detailing any errors that occurred during the batch operation.
errors[]ModelEach itemExpand Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING errors item
linksobjectOptionalA map of link names to associated URIs, providing additional information or actions related to the batch operation.
Additional keys: see wildcard field
links.*stringAdditional keys
numErrorsJSONOptional
numErrors (anyOf 1)integerAlternativeThe number of errors encountered during the batch operation.
Format: int32
numErrors (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
requestedAtstringOptionalThe date and time when the batch operation was requested, in ISO 8601 format.
Format: date-time
resultsarrayRequired within parentAn array of public campaign objects representing the results of the batch operation.
results[]ModelEach itemExpand Create a campaign — response body
startedAtstringRequired within parentThe date and time when the batch operation started, in ISO 8601 format.
Format: date-time
statusstringRequired within parentThe current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING errors item, Create a campaign — response body

Batch update campaigns — request body — body inputs item
FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentThe unique identifier for the campaign to be updated. It is a string.
propertiesobjectRequired within parentAn object containing key-value pairs of the campaign properties to be updated. Each key is a property name, and each value is the new value for that property, represented as a string.
Additional keys: see wildcard field
properties.*stringAdditional keys
Create a campaign — response body
FieldTypePresenceDescription and constraints
$objectRoot
businessUnitsarrayRequired within parentAn array of business units associated with the campaign, where each business unit is represented by its unique identifier.
businessUnits[]ModelEach itemExpand Create a campaign — response body — business Units item
createdAtstringRequired within parentThe date and time when the campaign was created, in ISO 8601 format.
Format: date-time
idstringRequired within parentThe unique identifier for the campaign.
propertiesobjectRequired within parentA map of custom property names to their values, representing specific attributes of the campaign.
Additional keys: see wildcard field
properties.*stringAdditional keys
updatedAtstringRequired within parentThe date and time when the campaign was last updated, in ISO 8601 format.
Format: date-time

Referenced models: Create a campaign — response body — business Units item

Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING errors item
FieldTypePresenceDescription and constraints
$objectRootYe olde error
categorystringRequired within parentA string categorizing the type of error.
contextobjectRequired within parentAn object containing additional context about the error, 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 create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING errors item errors item
idstringOptionalA string representing a unique identifier for the error.
linksobjectRequired within parentAn object mapping link names to associated URIs that contain documentation or remediation steps related to the error.
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 create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING errors item errors item

Create a campaign — response body — business Units item
FieldTypePresenceDescription and constraints
$objectRoot
idJSONRequired within parent
id (anyOf 1)integerAlternativeThe unique identifier for the business unit, represented as a 64-bit integer.
Format: int64
id (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
Batch create campaigns — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING 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. This is a string.
contextobjectOptionalContext about the error condition, provided as an object where each key is a context name and the value is an array of strings providing additional information.
Additional keys: see wildcard field
context.*arrayAdditional keys
context.*[]stringEach item
instringOptionalThe name of the field or parameter in which the error was found. This is a string.
messagestringRequired within parentA human readable message describing the error along with remediation steps where appropriate. This is a string.
subCategorystringOptionalA specific category that contains more specific detail about the error. This is a string.

SDK function policy ID: hubspot.campaigns_batch_update_campaigns. Catalog operation: campaigns_batch_update_campaigns. 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: ["marketing.campaigns.write"]

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.