Skip to main content
Deprecated. This page documents the v2 buyer API, which is closed to new API clients and switches off on 1 December 2026. Use V3 instead: see Move a v2 buyer REST integration to V3. The conversion endpoint, Log event, stays open.
DELETE /api/v2/buyer/campaigns/{campaignId}/creatives/{creativeId} Detaches a creative from the specified campaign. The creative is removed from that campaign’s creative list and unlinked from draft and pending media buys in that campaign. Returns 204 No Content on success.

A buy the seller has already booked

Detaching tells the seller when the media buy is already booked there, even if Apostra still shows it as pending approval (a buy waiting for creatives or for its start date).
  • The creative stays on that media buy until the seller accepts the removal. A read right after the 204 can still list it.
  • Apostra sends the removal in the background and retries it with backoff, for up to five attempts. A removal normally lands within a few minutes.
  • If the seller still has not accepted it after the fifth attempt, Apostra stops. The creative stays on the media buy, and it may still be serving at the seller. Apostra operations is alerted. Nothing retries it after that. Detaching the creative again, or any other creative on that buy, queues a new removal.
  • To see the removal’s progress, read the media buy with get(kind: "media_buy", id, include: ["operations"]) (V3). A removal is an operation of kind media_buy.update. It is pending while it retries and failed, with next step contactSupport, after the last attempt.
  • A draft, or a pending-approval buy the seller has not booked, has nothing at the seller. The creative is removed from it immediately.
The creative manifest is not archived globally — it remains available in the advertiser library and in any other campaigns it belongs to. To permanently archive a creative across all campaigns, use DELETE /api/v2/buyer/advertisers/{advertiserId}/creatives/{creativeId}.

Request

Parameters

Response

204 No Content — the response body is empty. The creative is detached from this campaign; it is not removed from other campaigns or from the advertiser library.

Errors

  • 404 NOT_FOUND — campaignId or creativeId does not exist or is not visible to the authenticated account.
  • 400 VALIDATION_ERROR — the creative has active or paused media buys on this campaign; pause or end those buys before detaching.
See Errors for the full error contract.

Global archive

To archive a creative permanently and remove it from all campaigns:
This archives the creative manifest. Active or paused media buys on any campaign block this operation.

Creative overview

Manifest lifecycle and propagation

Get creative manifest

Confirm the manifest before detaching

List creative manifests

Browse remaining manifests