MCP tools

Update settings

Apply one or more settings to one or more nodes in a single call.

Tool name: update-settings.

Apply one or more settings to one or more nodes in a single call. settings is a key-value object of dot-notation paths (1+ paths); nodeIds is an array of node IDs (1+ nodes). Each path is applied to every node. CURRENCY: budget.dailyAmount / budget.lifetimeAmount are CENTS (5000 = $50.00); optimization.bidAmount / budget.adSetMinimumSpend / budget.adSetMaximumSpend are DOLLARS. For varying values PER node use duplicateAndVary. status is NOT a settings path, to pause/activate/resume a node, use updateNode with properties: { status: "PAUSED"|"ACTIVE" }.

When to use

Apply settings to a campaign, adset, or ad. Pass any number of paths in settings and any number of node IDs in nodeIds. Each path applies to every node. For varying values per node use duplicateAndVary. The whole settings map goes to the backend in ONE atomic request: every path lands together or none does, so coupled values (budget.type + budget.dailyAmount + budgetStrategy) MUST be sent in the SAME call and a rejection must never be retried one path at a time. Call settings writes SEQUENTIALLY, never in parallel on the same launch; the backend serializes writes and returns 409 on concurrent calls, and earlier writes would otherwise be silently lost. On rejection nothing applied: the error names every requested path and the reason.

Access

PropertyValue
Required scopewrite
PublishesNo
Read-onlyNo
DestructiveYes
IdempotentYes
Open worldYes

Input

FieldTypeRequiredDescription
campaignLaunchIdstringYesCampaign launch ID (a.k.a. batch ID). Read it from the Current Context block when one is in scope, or resolve it from a mention via listAccountCampaigns / the campaign tree when the user @-mentioned a different launch.
nodeIdsstring[]YesIDs of the nodes to update (one or more). At least 1 item.
nodeTypestringYesType of the nodes (all nodeIds must share this level). One of campaign, adset, ad.
settingsobjectNoKey-value pairs where keys are dot-notation setting paths and values are the new values. budget.dailyAmount and budget.lifetimeAmount are CENTS (e.g., 5000 = $50.00). optimization.bidAmount, budget.adSetMinimumSpend, budget.adSetMaximumSpend are DOLLARS. Array-typed paths (targeting.ageRange, targeting.interests, targeting.locations, targeting.excludedLocations, targeting.locales, placements.devices) MUST be native JSON arrays, not strings. isCBO is NOT allowed here, use budgetStrategy.
budgetStrategystringNoThe ONLY way to change Campaign Budget Optimization. Set "CBO" (campaign-level budget) or "ABO" (ad-set-level budget) ONLY when the user explicitly asked to switch budget optimization. Omit to leave it unchanged. Never put isCBO inside settings. One of CBO, ABO.

Output

The tool catalog does not declare an output schema for this tool.

REST equivalent

PATCH /v1/brands/{brandId}/launches/{launchId}/settings, Update settings. CLI: koast update-settings.

On this page