Update Keyword
Update keyword bid or status.
Parameters:
- keyword_id: The keyword to update (REQUIRED - get from get_campaign_structure)
- ad_group_id: The ad group containing the keyword (REQUIRED)
- cpc_bid_micros: New bid in micros (1 USD = 1,000,000). Example: 2500000 = $2.50
- status: ENABLED or PAUSED
- customer_id: Optional
Can update:
- Bid amount (cpc_bid_micros)
- Status (ENABLED/PAUSED)
CANNOT update (immutable):
- Keyword text
- Match type
Execution time: 2-3 seconds
Example: User: “Increase the bid on ‘running shoes’ to $3” Agent:
- Uses get_campaign_structure to find the keyword_id
- Uses update_keyword with cpc_bid_micros=3000000
Authorizations
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Headers
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
Body
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for updating a keyword
Response
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.

