Skip to content
advardeDeveloper docs
v1.0

Prepare ad batch

Loading server catalog…. Download catalog

POSThttps://app.advarde.com/mcp
Prepare change

Available subject to your connection’s permissions.

Description: Prepare one paused campaign and ad group containing a saved batch. Requires current batch revision. Uses existing bulk validation, account write permissions and budget limits. Apply the returned change only after review. Bulk access is account-gated.

Method: tools/call · ads_prepare_ad_batch

Output: Tool data is returned in result.structuredContent and as JSON text in result.content. Inspect result.isError before using the result. Individual output fields depend on the operation.

Access: Requires the applicable write scopes, workspace role, and account permissions.

Review before applying

This tool prepares a proposal. Review the exact payload and obtain authorization before calling ads_apply_change. Preparation does not mean the upstream change has been applied.

Authentication

Use an MCP access token from MCP connections, or connect through OAuth. Send your token in the Authorization: Bearer header.

For full protocol initialization and tool discovery, use an MCP client. These examples show individual JSON-RPC requests.

Tool arguments

Send these fields inside params.arguments. The tool name is sent as params.name.

item_idstringrequired
format: "uuid"
expected_revisionintegerrequired
minimum: 1
account_idstringrequired
format: "uuid"
campaign_namestringrequired
minLength: 3maxLength: 200
budget_amountnumberrequired
minimum: 1maximum: 1000000000
budget_typeenumrequired
enum: ["daily","lifetime"]
objectiveenumrequired
enum: ["clicks","impressions"]
bid_microsintegerrequired
minimum: 1maximum: 9007199254740991
countriesarrayrequired
minItems: 1maxItems: 250
EXPAND COUNTRIES

Each array item

{
  "type": "string",
  "pattern": "^[A-Z]{2}$"
}
context_hintsarrayoptional
minItems: 0maxItems: 2000
EXPAND CONTEXT_HINTS

Each array item

{
  "type": "string",
  "minLength": 1,
  "maxLength": 1000
}
Full JSON Schema
{
  "type": "object",
  "properties": {
    "item_id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_revision": {
      "type": "integer",
      "minimum": 1
    },
    "account_id": {
      "type": "string",
      "format": "uuid"
    },
    "campaign_name": {
      "type": "string",
      "minLength": 3,
      "maxLength": 200
    },
    "budget_amount": {
      "type": "number",
      "minimum": 1,
      "maximum": 1000000000
    },
    "budget_type": {
      "enum": [
        "daily",
        "lifetime"
      ]
    },
    "objective": {
      "enum": [
        "clicks",
        "impressions"
      ]
    },
    "bid_micros": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "countries": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Z]{2}$"
      },
      "minItems": 1,
      "maxItems": 250
    },
    "context_hints": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1000
      },
      "minItems": 0,
      "maxItems": 2000
    }
  },
  "required": [
    "item_id",
    "expected_revision",
    "account_id",
    "campaign_name",
    "budget_amount",
    "budget_type",
    "objective",
    "bid_micros",
    "countries"
  ],
  "additionalProperties": false
}

Responses

200Successful protocol response

Inspect result.isError for tool-level failures, even when the HTTP status is 200.

202Notification accepted

MCP notifications return no JSON-RPC response body.

400Invalid request

Check the JSON-RPC envelope, parameters, and protocol version.

406Not acceptable

Accept must include application/json and text/event-stream.

429Rate limited

Wait for the Retry-After interval before making another request.

401Unauthorized

A valid, unexpired MCP bearer token is required.

403Access denied

Your connection needs access to this workspace and the requested operation.

Advarde MCP API v1.0