Skip to main content
POST
Add Callout Extensions

Authorizations

Authorization
string
header
required

API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.

Headers

Idempotency-Key
string<uuid>

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

application/json

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.

arguments
object
required

Input schema for adding callout extensions to a campaign.

Callouts are short, non-clickable highlights that appear below your ad. They communicate quick trust signals and differentiators.

GOOD EXAMPLES: "Free Shipping", "24/7 Support", "No Code Required", "30 Second Setup" BAD EXAMPLES: "Click Now", "Buy Today" (these are CTAs, not allowed)

From google-ads-creative-guidelines.md:

  • Max 25 characters each
  • 4-8 callouts recommended
  • Should NOT be CTAs (no "click", "buy", "order", "call")
  • Should NOT end with periods

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.

data
object
required
success
boolean
required
tool
string
required

Echoed tool_name from the request URL.

Last modified on April 23, 2026