Add campaign
Adds the campaign to the launch. A launch holds at most one campaign, so this fails if one already exists. objective is one of website-conversions, lead-form or traffic; platform-native objective names are rejected.
bearerAuthAuthorizationBearer <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*integerThe brand the request acts on. Every brand-scoped resource lives under its brand.
launchId*stringThe campaign launch (batch) id.
Idempotency-Key?stringRetrying with the same key within 24 hours returns the first response without acting again.
length <= 255application/json- body
name*stringName for the new campaign
1 <= length <= 500objective?stringCampaign objective. Must be one of: 'website-conversions', 'lead-form', 'traffic'. These are Koast-side canonical values, DO NOT pass Meta-native objective enum names like OUTCOME_SALES or OUTCOME_LEADS.
"website-conversions""lead-form""traffic"Add campaign
application/json- response
id*stringname*stringobjective?string|nullvalidation?[key: string]?unknowncurl -X POST "https://example.com/v1/brands/0/launches/string/campaigns" \ -H "Authorization: Bearer koast_sk_..." \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "id": "string", "name": "string", "objective": "string", "validation": { "valid": true, "issueCount": 0, "issues": [ "string" ], "property1": null, "property2": null }, "property1": null, "property2": null}Required scope: write. CLI: koast add-campaign, see Launches commands. Authentication, headers, errors and pagination work the same on every operation. See Conventions.
Get ad details
Returns the full details of one ad in the launch: creative, copy, links, call to action and tracking.
Import campaigns
Imports a campaign from the ad platform (campaignIds) into the launch, with its ad sets and ads. sourceType: existing attaches to the live campaign and keeps its platform ids; duplicate copies it as an editable draft. Pass sourceAdAccountId to import from another ad account the brand is connected to. The import runs in the background, so a large campaign may report still-running when the response returns.