Skip to content
advardeDeveloper docs
v1.0

Create custom audience

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 a custom audience from an uploaded file, or without a file when small audiences are enabled for the account. Processing and publication are asynchronous.. Returns a change_id; call ads_apply_change to execute after approval. Some features need Ads account enablement.

Method: tools/call · ads_create_custom_audience

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 /custom_audiences. 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
namestringrequired
minLength: 3maxLength: 1000pattern: "^.*\\S.*$"
descriptionstringoptional
file_idstringoptional

Uploaded file ID. Omit all file fields to create an empty audience when small audiences are enabled for the account.

identifier_typestringoptional
enum: ["email","phone","email_sha256","phone_number_sha256","gaid"]
identifier_resolutionstringoptional
enum: ["auto"]
filenamestringoptional
minLength: 1maxLength: 255
mimetypestringoptional
minLength: 1maxLength: 255
file_sizeintegeroptional
minimum: 1maximum: 500000000
Full JSON Schema
{
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string",
      "format": "uuid",
      "description": "Workspace-owned Advarde connection ID from ads_list_accounts."
    },
    "body": {
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 1000,
          "minLength": 3,
          "pattern": "^.*\\S.*$"
        },
        "description": {
          "type": "string"
        },
        "file_id": {
          "type": "string",
          "description": "Uploaded file ID. Omit all file fields to create an empty audience when small audiences are enabled for the account."
        },
        "identifier_type": {
          "type": "string",
          "enum": [
            "email",
            "phone",
            "email_sha256",
            "phone_number_sha256",
            "gaid"
          ],
          "x-openai-class-name": "sofa.api.params.custom_audiences.CustomAudienceIdentifierTypeParam"
        },
        "identifier_resolution": {
          "type": "string",
          "enum": [
            "auto"
          ],
          "x-openai-class-name": "sofa.api.params.custom_audiences.CustomAudienceIdentifierResolutionParam"
        },
        "filename": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "mimetype": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "file_size": {
          "type": "integer",
          "maximum": 500000000,
          "minimum": 1
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "x-openai-class-name": "sofa.api.params.custom_audiences.CreateCustomAudienceBody",
      "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