← All MCP tools

MCP tool

pause_campaign

Pause every active channel-campaign through its executing adapter. Each live provider call is durable, and AdBuyMCP keeps pausing the remaining lines if one fails. A complete pause returns the campaign in paused-pending-reconciliation. A 502 may be state-bearing: PAUSE_FAILED means confirmed-paused lines stay paused while active lines can be retried; PAUSE_RECONCILIATION_REQUIRED means an unknown vendor outcome must be inspected with list_campaign_attempts and handed to a permitted human in Operator. Poll get_campaign after that reconciliation. Unused wallet funds stay reserved until final reporting through the pause boundary reconciles.

Input

Pass fields from this schema as the tool arguments. Runtime ownership, product scope and readiness checks still apply.

Input JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "campaignId": {
      "type": "string",
      "description": "campaign id to pause"
    },
    "agentStepId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "pending execute-step id that consumed the exact approved action"
    },
    "expectedActionDigest": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$",
      "description": "SHA-256 digest returned for the exact approved action"
    }
  },
  "required": [
    "campaignId",
    "agentStepId",
    "expectedActionDigest"
  ]
}

REST mapping and authority

The tool wraps this REST endpoint. The mapping identifies path/query/body transformations and approval or idempotency headers.

Request contract
{
  "method": "POST",
  "path": "/api/v1/campaigns/{campaignId}/pause",
  "pathFields": [
    "campaignId"
  ],
  "pathSchema": {
    "type": "object",
    "properties": {
      "campaignId": {
        "type": "string",
        "description": "campaign id to pause"
      }
    },
    "additionalProperties": false,
    "required": [
      "campaignId"
    ]
  },
  "pathEncoding": "encodeURIComponent for each path field",
  "governedAction": "campaign.pause",
  "headers": {
    "x-chorus-agent-step-id": "agentStepId",
    "x-chorus-agent-action-digest": "expectedActionDigest"
  },
  "body": null,
  "responseMapping": "REST JSON is returned as MCP structuredContent and a compatibility text block; privacy-sensitive tools validate their output schema."
}

Output

This is the registered MCP output envelope. Nested fields are only modeled where the schema explicitly defines them.

Output JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": {}
}

Safety annotations

MCP annotations
{
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": true
}

Annotations help a client present the tool. The API independently enforces authorization and exact action approvals. Error and retry guidance →

pause_campaign | AdBuyMCP docs