For a plan with carryover enabled, lists the finished plans (active or archived, carryover enabled, balance not used by another plan) whose unspent balance it can receive, most recent first: each with its rows' budget, known spend and balance, the balance by currency, and needs_sync when its costs were not synced after it ended (sync it first with media_planner.costs.sync for an exact balance). Between two campaigns-mode plans only shared platforms count, and the receiving plan's carryover_platforms filter applies. Empty when carryover is off for the plan. 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 records are left out of the response (the permissions guide lists what each platform allows).
Alcance
media_planner:read
Permiso
Ver el módulo
Tool del MCP
media_planner_carryover_candidatesEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.carryover.candidates".
Costo declarado: hasta 2000 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).
Adds a balance to the budget of rows of a plan with carryover enabled and not applied yet. source: { mode: from_plan, source_plan_id } takes the balance of a candidate (media_planner.carryover.candidates) and marks that plan as used, or { mode: manual, note, total_amounts: [{ currency, amount }] } records a balance from elsewhere. allocations: [{ campaign_id, amount }] says how much goes to each row (negative subtracts; rows with 0 are skipped). What is allocated cannot exceed the available balance in any currency (the row's currency, or the plan's): the source plan's balance by currency (balance_by_currency in media_planner.carryover.candidates) or the manual total_amounts, with a 0.5 margin for rounding; more is 400 carryover_over_allocated with details.currencies (currency, allocated, available) and nothing is written. Each row keeps the carryover it received and the change history shows the budget before and after; the plan's totals are recomputed and media_planner.carryover.applied fires. Revert it with media_planner.carryover.revert. Errors: carryover_over_allocated, carryover_allocations_empty, carryover_same_plan (400), media_plan_row_not_found (404), carryover_disabled, carryover_already_applied, carryover_source_consumed (409). Requires full access to the Media Planner.
Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_carryover_applyEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.carryover.apply".
Undoes an applied (or dismissed) carryover: each row's budget loses the amount it received (later manual edits are kept), the plan's carryover goes back to pending, and the source plan's balance becomes available again. Recomputes the plan's totals and keeps each change in the history. 409 carryover_nothing_to_revert if there is none. Requires full access to the Media Planner.
Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_carryover_revertEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.carryover.revert".
Dismisses the balance of a candidate plan (source_plan_id) for this plan: no budget changes, the plan stops offering it and records the balance that was available (computed now). The source's balance stays free for other plans. media_planner.carryover.revert undoes the dismissal. 409 carryover_already_applied if a carryover is applied (revert it instead). Requires full access to the Media Planner.
Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_carryover_dismissEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.carryover.dismiss".
Costo declarado: hasta 503 lecturas y 1 escrituras por llamada (cuentan en el cupo diario).
Parámetros
plan_idstringrutarequerido
Media plan id (from media_planner.plans.list).
source_plan_idstringcuerporequerido
The candidate plan whose balance is dismissed.
Respuesta
oktrue
Always true.
dismissed_balancenumber
The source plan's balance this plan chose not to receive (the sum of its rows' balances), recorded on the plan.