---
title: "Batch update campaigns"
method: POST
path: "/marketing/campaigns/2026-09/batch/update"
tags: ["Batch"]
---

# Batch update campaigns

`POST /marketing/campaigns/2026-09/batch/update`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/marketing/campaigns/2026-09/batch/update`
- Auth: OAuth 2
  - Authorization code: `https://app.hubspot.com/oauth/authorize`
  - Token URL: `https://api.hubapi.com/oauth/v1/token` scopes: `marketing.campaigns.write`

Update a batch of campaigns with the specified properties. This endpoint allows you to modify multiple campaigns in a single request. Note: The 'hs_goal' property is deprecated and will be ignored if provided.

## Request body

- BatchInputPublicCampaignBatchUpdateItem
  - `inputs` PublicCampaignBatchUpdateItem[], required: An array of PublicCampaignBatchUpdateItem objects, each containing the details required to update a specific campaign.
    - `id` string, required: The unique identifier for the campaign to be updated. It is a string.
    - `properties` object, required: An 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.

## Response `200`

successful operation

- BatchResponsePublicCampaign
  - `completedAt` string, date-time, required: The date and time when the batch operation was completed, in ISO 8601 format.
  - `links` object: A map of link names to associated URIs that provide additional information related to the batch operation.
  - `requestedAt` string, date-time: The date and time when the batch operation was requested, in ISO 8601 format.
  - `results` PublicCampaign[], required: An array of public campaign objects that represent the results of the batch operation.
    - `businessUnits` PublicBusinessUnit[], required: An array of business units associated with the campaign, where each business unit is represented by its unique identifier.
      - `id` integer, required: The unique identifier for the business unit, represented as a 64-bit integer.
    - `createdAt` string, date-time, required: The date and time when the campaign was created, in ISO 8601 format.
    - `id` string, required: The unique identifier for the campaign.
    - `properties` object, required: A map of custom property names to their values, representing specific attributes of the campaign.
    - `updatedAt` string, date-time, required: The date and time when the campaign was last updated, in ISO 8601 format.
  - `startedAt` string, date-time, required: The date and time when the batch operation started, in ISO 8601 format.
  - `status` 'CANCELED' | 'COMPLETE' | 'PENDING' | 'PROCESSING', required: The current status of the batch operation. Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.

## Other responses

- `207`: multiple statuses
- `default`: An error occurred.

---

[API](https://skmtc.dev/hubspot/apis/marketing-campaigns-public-api.md) - [All operations](https://skmtc.dev/hubspot/apis/marketing-campaigns-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hubspot/apis/marketing-campaigns-public-api/revisions/c1eb1c9b504c?raw)
