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.
POST /api/v2/buyer/advertisers Creates an advertiser — the top-level account that owns campaigns, creatives, audiences, and linked partner accounts. Confirm the account-level operator in Buyer Setup first. Provide a name and brand domain; Apostra resolves brand identity from /.well-known/brand.json, the AdCP registry, or Brandfetch enrichment. Media partner connections are managed separately in Media Partners. To classify an advertiser with buyer-owned labels, use the V3 MCP save_advertiser tool after this REST create. Labels are not a REST field; see Dimensions and labels. To change an advertiser after you create it, open Advertiser settings from Settings on its row on the Advertisers Page. See Update advertiser.

Request

Set Idempotency-Key (16–255 letters, numbers, underscores, periods, colons, or hyphens) when a create may be retried. Repeating the same validated request and key within 24 hours returns the original advertiser with 201 and Idempotency-Replayed: true; it does not create a duplicate. Reusing the key with a different request returns 409 CONFLICT. Keys are isolated to your customer account.

Parameters

Response

utmConfig echoes the parameters the request set. A request without utmConfig returns an advertiser with no click-URL parameters. Returns 201 with the full advertiser resource. id is the stable identifier you pass to every sub-resource operation. If the brand resolves through enrichment rather than an official registry entry, the response carries a brandWarning. If no registry or enrichment data is found, the first create returns 400; after confirming the advertiser name and brand domain, retry with saveBrand: true to register that brand identity.

Errors

  • 400 VALIDATION_ERROR — missing name or brand, or an unsupported primaryCurrency. The same code, on field brandCountries, means another active advertiser in your account already holds this brand in an overlapping country. The message names that advertiser and suggests countries outside the overlap; an advertiser with no countries overlaps every country, and currency does not separate the two. See One brand, one market.
  • 409 CONFLICT — the Idempotency-Key was already used with a different request, is outside its replay window, or the original request is still in flight.
See Errors for the full error contract.

Advertiser tasks

All advertiser operations

Advertiser overview

Fields, lifecycle, and concepts

List available accounts

Find accounts to link

Update advertiser

Change defaults later