Edit optimization proposal
Loading server catalog…. Download catalog
https://app.advarde.com/mcpCampaign optimizer must be enabled for the workspace.
Description: Revise an unapproved proposal using supplied copy. Requires the current revision and returns it to dashboard review. Cannot change an approved ad.
Method: tools/call · ads_edit_optimization_proposal
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.
proposal_idstringrequired"uuid"expected_revisionintegerrequired1maximum: 1000000variantobjectrequiredfalseEXPAND VARIANT
base_ad_idstringrequired1maxLength: 255namestringrequired1maxLength: 200titlestringrequired1maxLength: 50bodystringrequired1maxLength: 100target_urlstringrequired1maxLength: 2048asset_idstringoptional"uuid"rationalestringrequired1maxLength: 4000hypothesisstringrequired1maxLength: 2000Full JSON Schema
{
"type": "object",
"properties": {
"proposal_id": {
"type": "string",
"format": "uuid"
},
"expected_revision": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"variant": {
"type": "object",
"properties": {
"base_ad_id": {
"type": "string",
"minLength": 1,
"maxLength": 255
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 50
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"target_url": {
"type": "string",
"minLength": 1,
"maxLength": 2048
},
"asset_id": {
"type": "string",
"format": "uuid"
},
"rationale": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"hypothesis": {
"type": "string",
"minLength": 1,
"maxLength": 2000
}
},
"required": [
"base_ad_id",
"name",
"title",
"body",
"target_url",
"rationale",
"hypothesis"
],
"additionalProperties": false
}
},
"required": [
"proposal_id",
"expected_revision",
"variant"
],
"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.