MMetadata /docs
Docs/Tools/list_wizard_campaigns

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

ArgumentTypeNotes
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

Other campaigns tools:

All 160 tools · machine-readable index