API referenceLaunches

Clone live campaign

Deep-copies the ad platform campaign providerCampaignId (ad sets, ads, copy and creatives) into count new launches as editable drafts with all platform ids stripped. Each clone gets its own launch, since a launch holds one campaign. Returns the new campaignLaunchId of each clone.

POST
/v1/brands/{brandId}/launches/clone
bearerAuth
headerAuthorizationBearer <token>

An organization API key (koast_sk_…) with the API surface enabled, or an OAuth access token issued by Koast (koast_at_…) whose audience covers this API. REST access requires an active Agency plan.

brandId*integer

The brand the request acts on. Every brand-scoped resource lives under its brand.

Idempotency-Key?string

Retrying with the same key within 24 hours returns the first response without acting again.

Lengthlength <= 255
application/json
  1. body
providerCampaignId*string

Campaign id to clone on the ad platform (the raw id from listAccountCampaigns rows).

Length1 <= length
count?integer

How many cloned batches to create (1 batch per clone, max 20).

Range1 <= value <= 20
Default1
titlePrefix?string

Optional title prefix for the cloned batches; a copy index is appended when count > 1.

Length1 <= length <= 180

Response Body

Clone live campaign

application/json
  1. response
clones*array<>
requested*number
curl -X POST "https://example.com/v1/brands/0/launches/clone" \  -H "Authorization: Bearer koast_sk_..." \  -H "Content-Type: application/json" \  -d '{    "providerCampaignId": "string"  }'
{  "clones": [    {      "campaignLaunchId": "string",      "title": "string"    }  ],  "requested": 0}

Required scope: write. CLI: koast clone-live-campaign, see Launches commands. Authentication, headers, errors and pagination work the same on every operation. See Conventions.