list_wizard_campaigns
List wizard (Metadata-native) campaigns for the current account with pagination, sorting, and experiment-status filtering.
Read campaigns
Returns data. Calling it changes nothing, so it is safe in an unattended loop.
What it does
List wizard (Metadata-native) campaigns for the current account with pagination, sorting, and experiment-status filtering.
KEYWORDS: campaigns, list, browse, wizard, native, all campaigns, campaign list, launched campaigns, paused campaigns, active campaigns
USE THIS TOOL WHEN THE USER ASKS:
- "Show me all campaigns" / "List campaigns" / "What campaigns do we have?"
- "Show active campaigns" / "List paused campaigns" / "Show completed campaigns"
- "Show recent campaigns" / "Last N campaigns"
- "Campaigns sorted by spend / leads / CPL / created date"
- Page-by-page campaign browsing for the campaigns UI
DO NOT USE if the user:
- Wants details on ONE SPECIFIC campaign by name → use search_campaigns_by_names
- Wants budget group info (not campaigns) → use list_budget_groups / get_budget_group
- Wants per-experiment performance → use experiment_performance_stats / search_experiments
TWO INDEPENDENT FILTERS (COMBINE TO MATCH UI TABS):
1) status — filters by CAMPAIGN status. Accepts a comma-separated subset of: Draft, Launched, Finished.
- Draft: the campaign exists but has never been launched.
- Launched: the campaign has been launched (experiments may be Active, Paused, or idle).
- Finished: the campaign has reached its end date.
- Omit to include all three.
2) experiment_statuses — filters by EXPERIMENT status inside each campaign. Accepts a comma-separated subset of:
Active, WithoutSpend, Paused, Completed, Failed. Omit to include all five.
HOW TO MIX THEM (mirrors the UI tabs on /campaigns):
- "All" tab: omit both → API returns everything.
- "Active" tab: status="Launched", experiment_statuses="Active,WithoutSpend" (launched campaigns with live or not-yet-spending experiments).
- "Paused" tab: status="Launched", experiment_statuses="Paused" (launched campaigns whose experiments are paused).
- "Draft" tab: status="Draft" (campaign hasn't been launched yet — experiment status doesn't apply).
- "Finished" tab: status="Finished".
SORTING:
- sort_by: createdDate (default), startDate, endDate, name, budget, spent, leads, cpl, cpc, ctr, impressions, clicks, status
- sort_order: asc | desc (default: desc)
PAGINATION:
- page: 0-based page index (default 0)
- size: results per page (default 25; the UI campaign list fetches 25–50)
RESPONSE SHAPE:
{
"totalElements": 435,
"totalPages": 18,
"data": [
{
"id": 173290,
"accountId": 1455,
"name": "2026_Q2_NA_Builder_Content_...",
"createdDate": "2026-01-15T12:00:00Z",
"visibility": "VISIBLE" | "ARCHIVED",
"budget": 25,
"startDate": "...",
"endDate": "...",
"status": "Launched" | "Draft" | ...,
"activeExperiments": 9, "pausedExperiments": 0, "totalExperiments": 9,
"leads": 0, "spent": 0, "impressions": 48, "clicks": 0,
"cpc": 0, "cpl": 0, "ctr": 0.0,
"goal": "CTR" | "CPL",
"campaignGroup": "TOF - AO - Social - Billing - BA",
"tags": [...]
}, ...
]
}
WORKFLOW (UI-style): list_wizard_campaigns(page=0, size=25) → render list → user clicks campaign → search_campaigns_by_names / get_campaign_by_wizard_id for details.Arguments
| Argument | Type | Notes | |
|---|---|---|---|
page |
integer | 0-based page index. Default: 0 | |
size |
integer | Results per page. Default: 25 | |
sort_by |
string | Field to sort by. Default: createdDate one of: createdDate, startDate, endDate, name, budget, spent, leads, cpl, cpc, ctr, impressions, clicks |
|
sort_order |
string | Sort order. Default: desc one of: asc, desc |
|
status |
string | Campaign-level status filter. Comma-separated subset of Draft, Launched, Finished. Omit to include all three. Combine with experiment_statuses to mirror the UI tabs (e.g. Active tab = status=Launched + experiment_statuses=Active,WithoutSpend). | |
experiment_statuses |
string | Experiment-level status filter. Comma-separated subset of Active, WithoutSpend, Paused, Completed, Failed. Omit to include all five. | |
visibility |
string | Optional: filter by campaign visibility. Omit to include all. one of: VISIBLE, ARCHIVED |
|
name |
string | Optional: server-side name substring filter. |
Request
curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
-H "Authorization: $METADATA_PAT" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "MCP-Protocol-Version: 2025-11-25" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_wizard_campaigns","arguments":{}}}'
Response
Real, from the production server, in 1470 ms. The full response was 39,187 bytes; this is the first part of it. Values that identify a customer or disclose money are replaced with typed placeholders; keys, types and nesting are exactly as returned.
recorded response
{
"totalElements": "[number redacted]",
"totalPages": "[number redacted]",
"data": [
{
"id": "[number redacted]",
"accountId": "[number redacted]",
"name": "[name redacted]",
"createdDate": "2026-09-04T17:13:15.000Z",
"visibility": "VISIBLE",
"budget": 50,
"startDate": null,
"endDate": null,
"status": "Draft",
"activeExperiments": 0,
"activeWithoutSpendExperiments": 0,
"completedExperiments": 0,
"failedExperiments": 0,
"pausedExperiments": 0,
"totalExperiments": 0,
"ignoredFailedExperiments": 0,
"leads": 0,
"clickThroughLeads": 0,
"costPerClickThroughLeads": null,
"spent": 0,
"spendImpressionBased": 0,
"spendSendBased": 0,
"sends": 0,
"opens": 0,
"costPerSend": 0,
"costPerOpen": 0,
"costPerFollow": 0,
"costPerCompanyPageClick": 0,
"impressions": 0,
"clicks": 0,
"actionClicks": 0,
"follows": 0,
"companyPageClicks": 0,
"mqls": 0,
"cpMqls": 0,
"cpc": 0,
"cpl": 0,
"ctr": 0,
"conversionRate": 0,
"formConversionRate": 0,
"goal": "CPL",
"campaignGroup": null,
"optimizerFormula": null,
"customFieldName": null,
"leadgenClicks": 0,
"leadgenImpressions": 0,
"isNativeImported": false,
"waitingAudiencesToLaunch": false,
"statusLabel": "Draft",
"tags": [],
"locked": false,
"influencedOpps": 0,
"influencedOppsAmount": 0,
"triggeredOpps": 0,
"triggeredOppsAmount": 0
},
{
"id": "[number redacted]",
"accountId": "[number redacted]",
"name": "[name redacted]",
"createdDate": "2026-09-03T22:22:04.000Z",
"visibility": "VISIBLE",
"budget": "[number redacted]",
"startDate": "2026-09-04T00:00:00.000Z",
"endDate": "2026-12-31T23:59:59.000Z",
"status": "Draft",
"activeExperiments": 0,
"activeWithoutSpendExperiments": 0,
"completedExperiments": 0,
"failedExperiments": 0,
"pausedExperiments": 0,
"totalExperiments": 0,
"ignoredFailedExperiments": 0,
"leads": 0,
"clickThroughLeads": 0,
"costPerClickThroughLeads": null,
"spent": 0,
"spendImpressionBased": 0,
"spendSendBased": 0,
"sends": 0,
"opens": 0,
"costPerSend": 0,
"costPerOpen": 0,
"costPerFollow": 0,
"costPerCompanyPageClick": 0,
"impressions": 0,
"clicks": 0,
"actionClicks": 0,
"follows": 0,
"companyPageClicks": 0,
"mqls": 0,
"cpMqls": 0,
"cpc": 0,
"cpl": 0,
"ctr": 0,
"conversionRate": 0,
"formConversionRate": 0,
"goal": "CPL",
"campaignGroup": "[campaignGroup redacted]",
"optimizerFormula": null,
"customFieldName": null,
"leadgenClicks": 0,
"leadgenImpressions": 0,
"isNativeImported": false,
"waitingAudiencesToLaunch": false,
"statusLabel": "Draft",
"tags": [],
"locked": false,
"influencedOpps": 0,
"influencedOppsAmount": 0,
"triggeredOpps": 0,
"triggeredOppsAmount": 0
},
{
"id": "[number redacted]",
"accountId": "[number redacted]",
"name": "[name redacted]",
"createdDate": "2026-09-03T22:22:04.000Z",
"visibility": "VISIBLE",
"budget": "[number redacted]",
"startDate": "2026-09-04T00:00:00.000Z",
"endDate": "2026-12-31T23:59:59.000Z",
"status": "Draft",
"activeExperiments": 0,
"activeWithoutSpendExperiments": 0,
"completedExperiments": 0,
"failedExperiments": 0,
"pausedExperiments": 0,
"totalExperiments": 0,
"ignoredFailedExperiments": 0,
"leads": 0,
"clickThroughLeads": 0,
"costPerClickThroughLeads": null,
"spent": 0,
"spendImpressionBased": 0,
"spendSendBased": 0,
"sends": 0,
"opens": 0,
"costPerSend": 0,
"costPerOpen": 0,
"costPerFollow": 0,
"costPerCompanyPageClick": 0,
"impressions": 0,
"clicks": 0,
"actionClicks": 0,
"follows": 0,
"companyPageClicks": 0,
"mqls": 0,
"cpMqls": 0,
"cpc": 0,
"cpl": 0,
"ctr": 0,
"conversionRate": 0,
"formConversionRate": 0,
"goal": "CPL",
"campaignGroup": "[campaignGroup redacted]"
… truncated
Related
Other campaigns tools: