Write tools

The money-moving asa_propose_* tools, and how the safe-apply policy decides what applies.

Every write is a asa_propose_* tool. None of them mutate Apple directly — they run through propose → validate → policy → action. Bounded, low-risk changes auto-apply; the rest queue in Approvals. The result reports a mode (auto_applied or queued) plus policyReasons. Read the safe-apply policy before relying on auto-apply.

Budgets & bids

ToolPurpose
asa_propose_budget_changeChange a campaign's daily budget. Raises/cuts ≤30% can auto-apply within the CPA band.
asa_propose_default_bidSet an ad group's default CPT bid.
asa_propose_keyword_bidSet a keyword's CPT bid. Rejected on automated-strategy campaigns.
asa_propose_cpa_goalSet an ad-group cpaGoal. One ≤10% step can auto-apply.
asa_propose_campaign_target_cpaSet a campaign targetCpa. One ≤10% step can auto-apply.
asa_propose_campaign_bid_strategySwitch bid strategy — always review-tier (resets Apple's learning).

Status

ToolPurpose
asa_propose_campaign_statusEnable / pause a campaign.
asa_propose_ad_group_statusEnable / pause an ad group. Pause can auto-apply.
asa_propose_keyword_statusActivate / pause a keyword (ACTIVE|PAUSED). Pause can auto-apply.
asa_propose_ad_statusEnable / pause an ad.

Keywords & negatives

ToolPurpose
asa_propose_add_keywordsAdd keywords. ≤10 EXACT at bids ≤1.5× 30-day avg CPT can auto-apply.
asa_propose_add_negative_keywordsAdd negatives. Auto-applies.
asa_propose_remove_negative_keywordsRemove negatives. Auto-applies.
asa_propose_change_keyword_match_type"Change" a match type — creates a sibling at the new type and pauses the original (match type is immutable).

Targeting & structure

ToolPurpose
asa_propose_campaign_geoSet a campaign's country storefronts.
asa_propose_ad_group_targetingSet ad-group targeting (device / gender / age / daypart / geo — set membership, no bid modifiers).
asa_propose_search_matchToggle Search Match on an ad group.
asa_propose_create_campaignCreate a campaign (PAUSED by default).
asa_propose_create_ad_groupCreate an ad group (PAUSED by default).
asa_propose_clone_campaignClone a campaign as a starting point.
asa_propose_clone_ad_groupClone an ad group.

Composite writes (match-type change, create/clone ad group) sequence several Apple calls with best-effort rollback. Bulk endpoints can return 200 with per-row errors — the result reports applied-with-warnings when at least one row succeeded, failed when none did.

On this page