Skip to content
AdCrunch
Esc
↑↓navigate↵open⌘Jpreview
On this page

campaign_plan_get

Fetch one campaign plan with its line items in full, the money figures, and whatever each line has already created.

Fetches a single Campaign Plan and everything on it.

Input

Field Type Required Description
campaign_plan_name string yes The plan slug.

Output

The plan, its three money figures, and its Line Items in full — there is no line_item_get, because there would be nothing left to fetch.

Each line carries four facts that are derived rather than stored:

Field What it tells you
provider Which provider sells this channel, or null when none we integrate with does.
executable Whether it could be executed at all today. Only meta can.
effectiveStartDate / effectiveEndDate The window that actually applies, after inheriting the plan’s.
unit total or daily — how to read budget.

executions lists what the line has already created: one row per provider object, each with its native id.

Money is in whole units of currency: 100000 is €100,000.

Example

campaign_plan_get({ campaign_plan_name: 'q4-acquisition' });
// → { campaignPlan: {
//      currency: 'EUR', totalBudget: 100000, status: 'approved',
//      allocation: { allocated: 60000, unallocated: 40000, unit: 'total', comparable: true },
//      lineItems: [{ id: 'lni_…', channel: 'meta', unit: 'total', executions: [] }],
//      revision: 4,
//    } }

Requires the campaign_plan:read scope.

Reference

Fetch one Campaign Plan by its slug, with its Line Items in full and whatever each has already created. Every line carries four derived facts: which provider sells its channel, whether we can execute it at all today, the window it resolves to after inheriting the plan’s, and whether its amount reads as a total or a daily rate. The plan carries three money figures — the envelope (what you have), the allocated sum (what you have placed) and the remainder. When allocation.comparable is false the lines do not share a unit, so there is no total to state: say “not comparable” rather than adding them. Echo revision back as base_revision when writing. A Campaign Plan is AdCrunch’s own planning document — it is not a campaign on Meta or Google. For those, use list_entities and get_entity.

Input

Argument Type Required Description
campaign_plan_name string yes The Campaign Plan slug — its stable per-organization handle.

Failure codes

A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.

  • not_found
  • forbidden
  • invalid_request
  • internal_error

Scope

The token must hold campaign_plan:read. Auth & scopes lists each scope.

Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

  • Read-only. The tool changes nothing.
  • Closed world. The tool reads and writes the data of AdCrunch only.

Was this page helpful?