Get the per-campaign spend breakdown of a plan
media_planner.costs.breakdown
Returns the spend breakdown that the last cost sync of a platforms-mode or account-mode plan stored: per platform, its currency and the real campaigns of the connected accounts with their spend (sorted by spend, up to 100 per platform; truncated says how many more and their spend), with the status when the platform returns it (Google Ads). null if the plan was never synced in those modes (campaigns-mode plans have no breakdown: each row is already a campaign). It does not call any platform. Requires view access to the Media Planner. With Google Ads, LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted, and their fields are left out of the response (the permissions guide lists what each platform allows).
- Scope
media_planner:read- Permission
- View the module
- MCP tool
media_planner_costs_breakdownOn the full surface; on the compact one,mb_execute_operationwithid: "media_planner.costs.breakdown".
Declared cost: up to 2 reads and 0 writes per call (they count against the daily quota).
Parameters
plan_idstringpathMedia plan id (from media_planner.plans.list).
Response
breakdownobject | nullnull until the plan's costs are synced.
Errors
Example
curl "https://api.mb-suite.com/v1/media-planner/plans/{plan_id}/costs/breakdown" \
-H "Authorization: Bearer $MB_API_KEY"Try it with your test API key
With a test API key the request always goes to your practice organization: example data you can reset.
curl "https://api.mb-suite.com/v1/media-planner/plans/{plan_id}/costs/breakdown" \
-H "Authorization: Bearer $MB_TEST_KEY"