Skip to content
advardeDeveloper docs
v1.0

Create ad

Loading server catalog…. Download catalog

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

Upstream account eligibility and feature access may also apply.

Description: Prepare a reviewable change: Create an ad for an ad group. Returns a change_id; call ads_apply_change to execute after approval. Some features need Ads account enablement.

Method: tools/call · ads_create_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. 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_idstringrequired

Workspace-owned Advarde connection ID from ads_list_accounts.

format: "uuid"
bodyobjectrequired
additionalProperties: false
EXPAND BODY
ad_group_idstringrequired
namestringrequired
minLength: 3maxLength: 1000pattern: "^.*\\S.*$"
creativeobjectrequired
additionalProperties: false
EXPAND CREATIVE
typestringrequired
enum: ["chat_card","product_ad_template"]
titlestringrequired
minLength: 3maxLength: 50pattern: "^.*\\S.*$"
bodystringrequired
maxLength: 100
pricestringoptional
maxLength: 100
target_urlstringoptional
maxLength: 2048
file_idstringoptional
image_cropobjectoptional

Optional normalized square crop for chat_card creatives. Requires file_id and is not supported for product_ad_template creatives.

additionalProperties: false
EXPAND IMAGE_CROP
xnumberrequired

Horizontal offset as a fraction of the EXIF-oriented source image (0-1).

ynumberrequired

Vertical offset as a fraction of the EXIF-oriented source image (0-1).

widthnumberrequired

Crop width as a fraction of the EXIF-oriented source image (0-1).

heightnumberrequired

Crop height as a fraction of the EXIF-oriented source image (0-1).

statusstringrequired
enum: ["active","paused"]
landing_page_configurationobjectoptional
additionalProperties: false
EXPAND LANDING_PAGE_CONFIGURATION
query_string_templatestringoptional
Full JSON Schema
{
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string",
      "format": "uuid",
      "description": "Workspace-owned Advarde connection ID from ads_list_accounts."
    },
    "body": {
      "properties": {
        "ad_group_id": {
          "type": "string"
        },
        "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": 3,
              "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": [
                "x",
                "y",
                "width",
                "height"
              ],
              "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": [
            "type",
            "title",
            "body"
          ],
          "x-openai-class-name": "sofa.api.params.ads.CreateAdCreativeParams",
          "additionalProperties": false
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "paused"
          ],
          "x-openai-class-name": "sofa.api.params.common.ActivePausedStatusParam"
        },
        "landing_page_configuration": {
          "properties": {
            "query_string_template": {
              "type": "string"
            }
          },
          "type": "object",
          "required": [],
          "x-openai-class-name": "sofa.api.params.campaigns.LandingPageConfigurationParams",
          "additionalProperties": false
        }
      },
      "type": "object",
      "required": [
        "ad_group_id",
        "name",
        "creative",
        "status"
      ],
      "x-openai-class-name": "sofa.api.params.ads.CreateAdBody",
      "additionalProperties": false
    }
  },
  "required": [
    "account_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.

Advarde MCP API v1.0