MCP tool
list_brand_lift_studies
Read a bounded page of campaign-owned study metadata. Supplier outcomes and financial settlement are separate.
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",
"minLength": 1,
"maxLength": 200
},
"cursor": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"campaignId"
],
"additionalProperties": false
}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}/brand-lift-studies",
"pathFields": [
"campaignId"
],
"pathSchema": {
"type": "object",
"properties": {
"campaignId": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"additionalProperties": false,
"required": [
"campaignId"
]
},
"pathEncoding": "encodeURIComponent for each path field",
"governedAction": null,
"headers": {},
"querySchema": {
"type": "object",
"properties": {
"cursor": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"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": {
"studies": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"mode": {
"type": "string",
"enum": [
"sandbox",
"live"
]
},
"status": {
"type": "string",
"enum": [
"brief",
"quote-requested",
"quoted",
"purchase-approved",
"draft-submitting",
"provider-draft",
"launch-ready",
"launch-submitting",
"launch-acknowledged",
"collecting",
"results-available",
"provider-complete",
"closed-local",
"draft-delete-requested",
"draft-deleted",
"cancellation-requested",
"cancelled",
"reconciliation-required",
"failed"
]
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483647
},
"financialStatus": {
"type": "string",
"enum": [
"unfunded",
"reserved",
"partially-settled",
"settled",
"reconciliation-required"
]
},
"providerStatus": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"createdAt": {
"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)))$"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"required": [
"id",
"mode",
"status",
"revision",
"financialStatus",
"providerStatus",
"createdAt",
"name"
],
"additionalProperties": false
}
},
"nextCursor": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
}
},
"required": [
"studies",
"nextCursor"
],
"additionalProperties": false
}Safety annotations
MCP annotations
{
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
}Annotations help a client present the tool. The API independently enforces authorization and exact action approvals. Error and retry guidance →