---
title: "Clone a campaign"
method: POST
path: "/marketing/campaigns/2026-09/clone"
tags: ["Advanced"]
---

# Clone a campaign

`POST /marketing/campaigns/2026-09/clone`

## Request

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

Clone a campaign identified by sourceCampaignGuid in the request body. The cloned campaign will have its own GUID and the provided properties. Asset cloning is performed asynchronously. Use the clone-status endpoint to check progress.

## Request body

- PublicCampaignCloneInput
  - `assetsToClone` object, required: A map of asset types to be cloned, where each key is an asset type and the value is an array of asset identifiers. It is an object.
  - `audience` string: The target audience for the cloned campaign. It is a string.
  - `currencyCode` string: The currency code for the cloned campaign's budget. It is a string. This value is optional.
  - `endDate` string: The end date for the cloned campaign. It is a string in ISO 8601 format (YYYY-MM-DD). If omitted, this will match the start date of the source campaign.
  - `name` string, required: The name for the new cloned campaign. It is a string. The name needs to be unique compared to other campaigns in the portal.
  - `notes` string: Additional notes or comments about the cloned campaign. It is a string. This value is optional.
  - `shouldCloneDraftNodes` boolean, required: A boolean indicating whether draft nodes should be cloned. By default this is true.
  - `shouldCloneEdges` boolean, required: A boolean indicating whether edges should be cloned. By default this is true.
  - `shouldCloneStickyNotes` boolean, required: A boolean indicating whether sticky notes should be cloned. By default this is true.
  - `shouldCloneTasks` boolean, required: A boolean indicating whether tasks should be cloned. By default this is true.
  - `shouldCloneTrackingUrls` boolean, required: A boolean indicating whether tracking URLs should be cloned. By default this is true.
  - `sourceCampaignGuid` string, required: The unique identifier of the campaign to be cloned. It is a string.
  - `startDate` string: The start date for the cloned campaign. It is a string in ISO 8601 format (YYYY-MM-DD). If omitted, this will match the start date of the source campaign.

## Response `201`

successful operation

- PublicCampaignCloneResponse
  - `campaignGuid` string, required: The unique identifier for the newly cloned campaign.
  - `status` 'COMPLETE' | 'FAILED' | 'PARTIAL_FAILURE' | 'PENDING', required: The status of the cloning operation. Valid values include 'PENDING', 'COMPLETE', 'FAILED', and 'PARTIAL_FAILURE'.

## Other responses

- `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)
