Update ad
Loading server catalog…. Download catalog
https://app.advarde.com/mcpUpstream account eligibility and feature access may also apply.
Description: Prepare a reviewable change: Update an ad. Returns a change_id; call ads_apply_change to execute after approval. Some features need Ads account enablement.
Method: tools/call · ads_update_ad
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.
Upstream operation: POST /ads/{ad_id}. Call this through the MCP tool above.
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.
account_idstringrequiredWorkspace-owned Advarde connection ID from ads_list_accounts.
"uuid"ad_idstringrequiredbodyobjectrequiredfalseEXPAND BODY
namestringoptional3maxLength: 1000pattern: "^.*\\S.*$"creativeobjectoptionalfalseEXPAND CREATIVE
typestringoptional["chat_card","product_ad_template"]titlestringoptional1maxLength: 50pattern: "^.*\\S.*$"bodystringoptional100pricestringoptional100target_urlstringoptional2048file_idstringoptionalimage_cropobjectoptionalOptional normalized square crop for chat_card creatives. Requires file_id and is not supported for product_ad_template creatives.
falseEXPAND IMAGE_CROP
xnumberoptionalHorizontal offset as a fraction of the EXIF-oriented source image (0-1).
ynumberoptionalVertical offset as a fraction of the EXIF-oriented source image (0-1).
widthnumberoptionalCrop width as a fraction of the EXIF-oriented source image (0-1).
heightnumberoptionalCrop height as a fraction of the EXIF-oriented source image (0-1).
statusstringoptional["active","paused","archived"]landing_page_configurationschemaoptionalEXPAND LANDING_PAGE_CONFIGURATION
anyOf · schema 1
query_string_templatestringoptional{
"properties": {
"query_string_template": {
"type": "string"
}
},
"type": "object",
"required": [],
"x-openai-class-name": "sofa.api.params.campaigns.LandingPageConfigurationParams",
"additionalProperties": false
}anyOf · schema 2
See the full schema for accepted values.
{
"type": "null"
}Full JSON Schema
{
"type": "object",
"properties": {
"account_id": {
"type": "string",
"format": "uuid",
"description": "Workspace-owned Advarde connection ID from ads_list_accounts."
},
"ad_id": {
"type": "string"
},
"body": {
"properties": {
"name": {
"type": "string",
"maxLength": 1000,
"minLength": 3,
"pattern": "^.*\\S.*$"
},
"creative": {
"properties": {
"type": {
"type": "string",
"enum": [
"chat_card",
"product_ad_template"
],
"x-openai-class-name": "sofa.api.params.ads.AdCreativeTypeParam"
},
"title": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"pattern": "^.*\\S.*$"
},
"body": {
"type": "string",
"maxLength": 100
},
"price": {
"type": "string",
"maxLength": 100
},
"target_url": {
"type": "string",
"maxLength": 2048
},
"file_id": {
"type": "string"
},
"image_crop": {
"properties": {
"x": {
"type": "number",
"description": "Horizontal offset as a fraction of the EXIF-oriented source image (0-1)."
},
"y": {
"type": "number",
"description": "Vertical offset as a fraction of the EXIF-oriented source image (0-1)."
},
"width": {
"type": "number",
"description": "Crop width as a fraction of the EXIF-oriented source image (0-1)."
},
"height": {
"type": "number",
"description": "Crop height as a fraction of the EXIF-oriented source image (0-1)."
}
},
"type": "object",
"required": [],
"description": "Optional normalized square crop for chat_card creatives. Requires file_id and is not supported for product_ad_template creatives.",
"x-openai-class-name": "sofa.api.params.ads.AdImageCropParams",
"additionalProperties": false
}
},
"type": "object",
"required": [],
"x-openai-class-name": "sofa.api.params.ads.UpdateAdCreativeParams",
"additionalProperties": false
},
"status": {
"type": "string",
"enum": [
"active",
"paused",
"archived"
],
"x-openai-class-name": "sofa.api.params.common.ActivePausedArchivedStatusParam"
},
"landing_page_configuration": {
"anyOf": [
{
"properties": {
"query_string_template": {
"type": "string"
}
},
"type": "object",
"required": [],
"x-openai-class-name": "sofa.api.params.campaigns.LandingPageConfigurationParams",
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [],
"x-openai-class-name": "sofa.api.params.ads.UpdateAdBody",
"additionalProperties": false
}
},
"required": [
"account_id",
"ad_id",
"body"
],
"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.