Create Campaign Ads Batch
POST /ad-campaigns/{campaign_id}/ads/batch
Add several ads at once.
Returns status="partial" when any individual ad failed, with per-ad
outcomes in results. Inspect those rather than treating a 200 as total
success — one creative rejected on policy does not stop its siblings.
Authorizations
Parameters
Path Parameters
Ad campaign ID
Ad campaign ID
Header Parameters
Request Body required
Add several ads at once — “launch these four creatives as four ads”.
Partial success is expected: one creative rejected on policy does not stop the others, and the response reports each outcome separately.
object
Add one ad to a campaign.
Valid before launch (created with its siblings when the campaign launches)
and after (pushed to the live campaign immediately). extra="forbid" so a
field we never wired is a 422 rather than a silent success.
object
Responses
200
Successful Response
object
object
object
One ad inside a campaign — a creative slot.
id is graph8’s, and it is stable: editing an ad almost always mints a new
platform ad (LinkedIn creatives are immutable, and on Google only Search/RSA
is mutable in place), but the slot and its measurement history survive that.
Address an ad by this id, never by platform_ad_id.
object
object
Draft | launching | active | paused | archived | failed
Ok | partial — never render success off a 200 alone
422
Validation Error