Save automation policy
Loading server catalog…. Download catalog
https://app.advarde.com/mcpAutomation rules must be enabled for the workspace.
Description: Save a disabled policy draft. Any edit revokes its prior approval. Supplied copy only; no LLM. Limits in explicit micros fields are currency micros.
Method: tools/call · ads_save_automation_policy
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.
policy_idstringoptional"uuid"expected_revisionintegeroptional1maximum: 9007199254740991account_idstringrequired"uuid"namestringrequired1maxLength: 200configobjectrequiredfalseEXPAND CONFIG
modeenumrequired["observe","recommend","automatic"]ruleenumrequired["spend_cap","pacing","cpc","cpa","scaling","offer_expiry","landing_failure","creative_rotation"]campaign_idsarrayrequired1maxItems: 100uniqueItems: trueEXPAND CAMPAIGN_IDS
Each array item
{
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,255}$"
}allowed_actionsarrayrequired5uniqueItems: trueEXPAND ALLOWED_ACTIONS
Each array item
{
"enum": [
"pause_campaign",
"pause_ad",
"set_budget",
"set_bid",
"activate_ad"
]
}window_hoursintegerrequired1maximum: 744reporting_delay_hoursintegerrequired0maximum: 720interval_minutesintegerrequired15maximum: 1440cooldown_hoursintegerrequired0maximum: 744max_data_age_minutesintegerrequired1maximum: 1440expires_atstringrequired"date-time"spend_scopeenumoptional["managed_campaigns","account"]thresholdnumberoptional0maximum: 10000000000min_spendnumberoptional0maximum: 10000000000min_clicksintegeroptional0maximum: 1000000000min_conversionsnumberoptional0maximum: 10000000000conversion_goal_idstringoptional"^[A-Za-z0-9_-]{1,255}$"flight_startstringoptional"date-time"flight_endstringoptional"date-time"target_spendnumberoptional0maximum: 10000000000change_percentnumberoptional25exclusiveMinimum: 0budget_floor_microsintegeroptional1000000maximum: 9007199254740991budget_ceiling_microsintegeroptional1000000maximum: 9007199254740991bid_floor_microsintegeroptional1maximum: 9007199254740991bid_ceiling_microsintegeroptional1maximum: 9007199254740991max_change_microsintegeroptional1maximum: 9007199254740991cumulative_increase_microsintegeroptional0maximum: 9007199254740991account_allocation_ceiling_microsintegeroptional1000000maximum: 9007199254740991offer_ends_atstringoptional"date-time"landing_urlstringoptional"uri"maxLength: 2048consecutive_failuresintegeroptional2maximum: 20rotationobjectoptionalfalseEXPAND ROTATION
ad_idstringrequired"^[A-Za-z0-9_-]{1,255}$"replacement_ad_idstringrequired"^[A-Za-z0-9_-]{1,255}$"activate_atstringrequired"date-time"notifybooleanoptionalFull JSON Schema
{
"type": "object",
"properties": {
"policy_id": {
"type": "string",
"format": "uuid"
},
"expected_revision": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"account_id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"config": {
"type": "object",
"properties": {
"mode": {
"enum": [
"observe",
"recommend",
"automatic"
]
},
"rule": {
"enum": [
"spend_cap",
"pacing",
"cpc",
"cpa",
"scaling",
"offer_expiry",
"landing_failure",
"creative_rotation"
]
},
"campaign_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,255}$"
},
"minItems": 1,
"maxItems": 100,
"uniqueItems": true
},
"allowed_actions": {
"type": "array",
"items": {
"enum": [
"pause_campaign",
"pause_ad",
"set_budget",
"set_bid",
"activate_ad"
]
},
"maxItems": 5,
"uniqueItems": true
},
"window_hours": {
"type": "integer",
"minimum": 1,
"maximum": 744
},
"reporting_delay_hours": {
"type": "integer",
"minimum": 0,
"maximum": 720
},
"interval_minutes": {
"type": "integer",
"minimum": 15,
"maximum": 1440
},
"cooldown_hours": {
"type": "integer",
"minimum": 0,
"maximum": 744
},
"max_data_age_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440
},
"expires_at": {
"type": "string",
"format": "date-time"
},
"spend_scope": {
"enum": [
"managed_campaigns",
"account"
]
},
"threshold": {
"type": "number",
"minimum": 0,
"maximum": 10000000000
},
"min_spend": {
"type": "number",
"minimum": 0,
"maximum": 10000000000
},
"min_clicks": {
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
"min_conversions": {
"type": "number",
"minimum": 0,
"maximum": 10000000000
},
"conversion_goal_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,255}$"
},
"flight_start": {
"type": "string",
"format": "date-time"
},
"flight_end": {
"type": "string",
"format": "date-time"
},
"target_spend": {
"type": "number",
"minimum": 0,
"maximum": 10000000000
},
"change_percent": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 25
},
"budget_floor_micros": {
"type": "integer",
"minimum": 1000000,
"maximum": 9007199254740991
},
"budget_ceiling_micros": {
"type": "integer",
"minimum": 1000000,
"maximum": 9007199254740991
},
"bid_floor_micros": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"bid_ceiling_micros": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"max_change_micros": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"cumulative_increase_micros": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"account_allocation_ceiling_micros": {
"type": "integer",
"minimum": 1000000,
"maximum": 9007199254740991
},
"offer_ends_at": {
"type": "string",
"format": "date-time"
},
"landing_url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"consecutive_failures": {
"type": "integer",
"minimum": 2,
"maximum": 20
},
"rotation": {
"type": "object",
"properties": {
"ad_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,255}$"
},
"replacement_ad_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,255}$"
},
"activate_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"ad_id",
"replacement_ad_id",
"activate_at"
],
"additionalProperties": false
},
"notify": {
"type": "boolean"
}
},
"required": [
"mode",
"rule",
"campaign_ids",
"allowed_actions",
"window_hours",
"reporting_delay_hours",
"interval_minutes",
"cooldown_hours",
"max_data_age_minutes",
"expires_at"
],
"additionalProperties": false
}
},
"required": [
"account_id",
"name",
"config"
],
"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.