API referenceLaunches

Distribute creative

Places one creative (creativeId) on many ad sets at once: those in targets.adsetIds and every ad set under the campaigns in targets.campaignIds. With strategy: newAdPerTarget a new ad is created in each ad set; with replaceFirstAd the creative replaces the one on each ad set's first ad, or a new ad is created when the ad set has none.

POST
/v1/brands/{brandId}/launches/{launchId}/creatives/distribute
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.

launchId*string

The campaign launch (batch) id.

Idempotency-Key?string

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

Lengthlength <= 255
application/json
  1. body
creativeId*integer
Range-9007199254740991 <= value <= 9007199254740991
targets*
strategy*string
Value in"newAdPerTarget""replaceFirstAd"

Response Body

Distribute creative

application/json
  1. response
[key: string]?unknown
curl -X POST "https://example.com/v1/brands/0/launches/string/creatives/distribute" \  -H "Authorization: Bearer koast_sk_..." \  -H "Content-Type: application/json" \  -d '{    "creativeId": -9007199254740991,    "targets": {},    "strategy": "newAdPerTarget"  }'
{  "property1": null,  "property2": null}

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