Skip to content
advardeDeveloper docs
v1.0

Import business outcomes

Loading server catalog…. Download catalog

POSThttps://app.advarde.com/mcp
Write

Available subject to your connection’s permissions.

Description: Import first-party qualified leads, bookings, orders or refunds with stable opaque source IDs. Exact duplicate IDs are skipped; conflicting duplicates fail atomically. Explicit ad attribution is supplied, never inferred. No customer names, emails or payloads are accepted.

Method: tools/call · ads_import_business_outcomes

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.

account_idstringrequired
format: "uuid"
sourcestringrequired
pattern: "^[A-Za-z0-9_-]{1,255}$"
namestringrequired
minLength: 1maxLength: 200
currencystringrequired
pattern: "^[A-Z]{3}$"
attributionstringrequired
minLength: 1maxLength: 1000
rowsarrayrequired
minItems: 1maxItems: 1000
EXPAND ROWS

Each array item

external_idstringrequired
pattern: "^[A-Za-z0-9_-]{1,255}$"
occurred_atstringrequired
format: "date-time"
kindenumrequired
enum: ["qualified_lead","booking","order","refund"]
ad_idstringoptional
pattern: "^[A-Za-z0-9_-]{1,255}$"
valuenumberoptional
minimum: 0maximum: 1000000000
Full JSON Schema
{
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string",
      "format": "uuid"
    },
    "source": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,255}$"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "attribution": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "external_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,255}$"
          },
          "occurred_at": {
            "type": "string",
            "format": "date-time"
          },
          "kind": {
            "enum": [
              "qualified_lead",
              "booking",
              "order",
              "refund"
            ]
          },
          "ad_id": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,255}$"
          },
          "value": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000
          }
        },
        "required": [
          "external_id",
          "occurred_at",
          "kind"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 1000
    }
  },
  "required": [
    "account_id",
    "source",
    "name",
    "currency",
    "attribution",
    "rows"
  ],
  "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