---
title: "Create a batch of campaigns"
method: POST
path: "/marketing/campaigns/2026-03/batch/create"
tags: ["Batch"]
---

# Create a batch of campaigns

`POST /marketing/campaigns/2026-03/batch/create`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/marketing/campaigns/2026-03/batch/create`
- Auth: one of:
  - HTTP bearer
  - API key in query parameter `hapikey`
  - none

This endpoint creates a batch of campaigns. The maximum number of items in a batch request is 50.
The campaigns in the response are not guaranteed to be in the same order as they were provided in the request.

## Request body

- MarketingCampaignsBatchInputPublicCampaignInput
  - `inputs` MarketingCampaignsPublicCampaignInput[], required: An array of PublicCampaignInput objects, each representing the properties of a campaign to be created in the batch. This property is required.
    - `properties` object, required: A collection of key-value pairs representing the properties of the campaign. Each key is a property name, and the corresponding value is the property's value.

## Response `201`

successful operation

- MarketingCampaignsBatchResponsePublicCampaign
  - `completedAt` string, date-time, required: The date and time when the batch operation was completed, formatted as a date-time string.
  - `links` object: A map of related links associated with the batch operation.
  - `requestedAt` string, date-time: The date and time when the batch operation was requested, formatted as a date-time string.
  - `results` MarketingCampaignsPublicCampaign[], required: An array of results from the batch operation, each item representing a public campaign.
    - `businessUnits` MarketingCampaignsPublicBusinessUnit[], required: An array of business units associated with the campaign, each represented by a PublicBusinessUnit object.
      - `id` integer, required: The unique identifier for the business unit, represented as an integer.
    - `createdAt` string, date-time, required: The date and time when the campaign was created, formatted as a date-time string.
    - `id` string, required: The unique identifier for the campaign.
    - `properties` object, required: A collection of key-value pairs representing additional properties of the campaign.
    - `updatedAt` string, date-time, required: The date and time when the campaign was last updated, formatted as a date-time string.
  - `startedAt` string, date-time, required: The date and time when the batch operation started, formatted as a date-time string.
  - `status` 'CANCELED' | 'COMPLETE' | 'PENDING' | 'PROCESSING', required: The current status of the batch operation, with possible values: CANCELED, COMPLETE, PENDING, PROCESSING.

## Other responses

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

## Changes

> 14 revisions in range; 1 not diffed, 2 could not be searched.

- **2026-04-01** `e0403341222c`: 2 warning, 1 info
  - removed the optional property `errors` from the response with the `201` status
  - removed the optional property `numErrors` from the response with the `201` status
  - added the success response with the status `207`
- **2026-03-25** `37a93e10d5c4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hubspot/apis/hubspot-api-specification/changes/marketing/campaigns/2026-03/batch/create/post.md)

---

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