← All MCP tools

MCP tool

list_live_execution_grants

Inspect the tenant-scoped, campaign-specific supplier authority records that back controlled live execution. Returns each exact adapter grant with its dossier and connection revisions, minor-unit budget cap, currency, validity window and issued, claimed or revoked state; compare the validity window with the current time to identify expiry. This is strictly read-only: grant issue and revocation are human-only in Operator, while claim is not a separate handoff — AdBuyMCP consumes the exact grant atomically inside an approved launch before provider I/O.

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 whose live-execution grants should be inspected"
    }
  },
  "required": [
    "campaignId"
  ]
}

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": "GET",
  "path": "/api/v1/campaigns/{campaignId}/live-test-grants",
  "pathFields": [
    "campaignId"
  ],
  "pathSchema": {
    "type": "object",
    "properties": {
      "campaignId": {
        "type": "string",
        "description": "campaign id whose live-execution grants should be inspected"
      }
    },
    "additionalProperties": false,
    "required": [
      "campaignId"
    ]
  },
  "pathEncoding": "encodeURIComponent for each path field",
  "governedAction": null,
  "headers": {},
  "querySchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false
  },
  "queryEncoding": "URLSearchParams; omit undefined fields, stringify supplied values",
  "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": {
    "grants": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "adapterKey": {
            "type": "string"
          },
          "campaignId": {
            "type": "string"
          },
          "supplierDossierId": {
            "type": "string"
          },
          "dossierRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "connectionConfigurationRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "maxBudgetMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "currency": {
            "type": "string",
            "enum": [
              "GBP",
              "USD",
              "EUR"
            ]
          },
          "reason": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "issued",
              "claimed",
              "revoked"
            ]
          },
          "issuedBy": {
            "type": "string"
          },
          "issuedActor": {
            "type": "string",
            "const": "human"
          },
          "issuedSource": {
            "type": "string",
            "enum": [
              "dev",
              "web"
            ]
          },
          "issuedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "validFrom": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          },
          "claimedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "claimedBudgetMinor": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "claimedBy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "claimedActor": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "human",
                  "agent",
                  "system"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "claimedSource": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "dev",
                  "web",
                  "mcp",
                  "system"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "revokedBy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "revokedActor": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "human",
                  "agent",
                  "system"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "revokedSource": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "dev",
                  "web",
                  "mcp",
                  "system"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "revokedAt": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              {
                "type": "null"
              }
            ]
          },
          "revocationNote": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "adapterKey",
          "campaignId",
          "supplierDossierId",
          "dossierRevision",
          "connectionConfigurationRevision",
          "maxBudgetMinor",
          "currency",
          "reason",
          "status",
          "issuedBy",
          "issuedActor",
          "issuedSource",
          "issuedAt",
          "validFrom",
          "expiresAt",
          "claimedAt",
          "claimedBudgetMinor",
          "claimedBy",
          "claimedActor",
          "claimedSource",
          "revokedBy",
          "revokedActor",
          "revokedSource",
          "revokedAt",
          "revocationNote"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "grants"
  ],
  "additionalProperties": false
}

Safety annotations

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

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

list_live_execution_grants | AdBuyMCP docs