PUT /api/v2/buyer/advertisers/{advertiserId}
Updates an existing advertiser. All body fields are optional — send only what you want to change. sandbox cannot be changed after creation.
Request
curl
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
advertiserId | string (path) | Yes | Unique identifier for the advertiser |
name | string | No | Updated name (1–255 chars) |
description | string | No | Updated description (max 1000 chars) |
brand | string | No | Updated brand domain. Re-resolves the brand reference |
optimizationApplyMode | enum | No | AUTO or MANUAL |
campaignBudgetType | enum | No | total_budget |
primaryCurrency | string | No | ISO 4217 code. Only changeable when existing non-archived campaign budgets already use it |
linkedAccounts | array | No | Accounts to add. Existing links are not removed. Each item may include credentialId from list available accounts to disambiguate duplicate account IDs across connected credentials |
utmConfig | array | No | Replaces all seat-level UTM params. Pass [] to clear |
dataDelivery | object | No | Data-delivery configuration. Omit to leave existing config untouched |
dataDelivery.credentials | array | No | Replaces all existing live credentials. Pass [] to archive all |
dataDelivery.outputs | array | No | Replaces all existing advertiser-scoped Data Delivery Outputs. Pass [] to clear |
frequencyCaps | array | No | Replaces all existing non-archived caps. Pass [] to clear; omit to leave untouched |
Response
Errors
400 VALIDATION_ERROR— invalid field value, or aprimaryCurrencychange blocked by existing campaign budgets.404 NOT_FOUND—advertiserIddoes not exist or is not visible to the authenticated customer.
Related
Advertiser tasks
All advertiser operations
Advertiser overview
Fields, lifecycle, and concepts
Get advertiser
Read the current state first
Delete advertiser
Archive when done