Skip to content
advardeDeveloper docs
v1.0

Save optimizer

Loading server catalog…. Download catalog

POSThttps://app.advarde.com/mcp
Write

Campaign optimizer must be enabled for the workspace.

Description: Save creative optimization settings. Edits revoke pending publishing permission. Requires workspace admin access. Enabling queues reviews for a connected agent, not backend inference.

Method: tools/call · ads_save_optimizer

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.

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.

optimizer_idstringoptional
format: "uuid"
expected_revisionintegeroptional
minimum: 1maximum: 1000000
account_idstringrequired
format: "uuid"
namestringrequired
minLength: 1maxLength: 200
configobjectrequired
additionalProperties: false
EXPAND CONFIG
campaign_idsarrayrequired
minItems: 1maxItems: 20uniqueItems: true
EXPAND CAMPAIGN_IDS

Each array item

{
  "type": "string",
  "minLength": 1,
  "maxLength": 255
}
goalenumrequired
enum: ["cpc","cpa","ctr"]
conversion_goal_idstringoptional
minLength: 1maxLength: 255
targetnumberoptional
maximum: 1000000exclusiveMinimum: 0
cadence_hoursintegerrequired
minimum: 6maximum: 720
window_hoursintegerrequired
minimum: 24maximum: 744
reporting_delay_hoursintegerrequired
minimum: 24maximum: 168
min_impressionsintegerrequired
minimum: 1maximum: 10000000
min_clicksintegerrequired
minimum: 1maximum: 1000000
min_conversionsintegerrequired
minimum: 1maximum: 1000000
max_ads_per_campaignintegerrequired
minimum: 1maximum: 5
review_hoursintegerrequired
minimum: 1maximum: 72
publish_hoursintegerrequired
minimum: 1maximum: 24
brand_instructionsstringoptional
maxLength: 12000
allowed_domainsarrayrequired
minItems: 1maxItems: 30uniqueItems: true
EXPAND ALLOWED_DOMAINS

Each array item

{
  "type": "string",
  "minLength": 1,
  "maxLength": 253
}
enabledbooleanrequired
Full JSON Schema
{
  "type": "object",
  "properties": {
    "optimizer_id": {
      "type": "string",
      "format": "uuid"
    },
    "expected_revision": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000
    },
    "account_id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "config": {
      "type": "object",
      "properties": {
        "campaign_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255
          },
          "minItems": 1,
          "maxItems": 20,
          "uniqueItems": true
        },
        "goal": {
          "enum": [
            "cpc",
            "cpa",
            "ctr"
          ]
        },
        "conversion_goal_id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "target": {
          "type": "number",
          "exclusiveMinimum": 0,
          "maximum": 1000000
        },
        "cadence_hours": {
          "type": "integer",
          "minimum": 6,
          "maximum": 720
        },
        "window_hours": {
          "type": "integer",
          "minimum": 24,
          "maximum": 744
        },
        "reporting_delay_hours": {
          "type": "integer",
          "minimum": 24,
          "maximum": 168
        },
        "min_impressions": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10000000
        },
        "min_clicks": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000000
        },
        "min_conversions": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000000
        },
        "max_ads_per_campaign": {
          "type": "integer",
          "minimum": 1,
          "maximum": 5
        },
        "review_hours": {
          "type": "integer",
          "minimum": 1,
          "maximum": 72
        },
        "publish_hours": {
          "type": "integer",
          "minimum": 1,
          "maximum": 24
        },
        "brand_instructions": {
          "type": "string",
          "maxLength": 12000
        },
        "allowed_domains": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 253
          },
          "minItems": 1,
          "maxItems": 30,
          "uniqueItems": true
        }
      },
      "required": [
        "campaign_ids",
        "goal",
        "cadence_hours",
        "window_hours",
        "reporting_delay_hours",
        "min_impressions",
        "min_clicks",
        "min_conversions",
        "max_ads_per_campaign",
        "review_hours",
        "publish_hours",
        "allowed_domains"
      ],
      "additionalProperties": false
    },
    "enabled": {
      "type": "boolean"
    }
  },
  "required": [
    "account_id",
    "name",
    "config",
    "enabled"
  ],
  "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