Skip to main content
Every get(kind: "campaign") response on the V3 surface includes a readiness object that tells an agent whether the campaign can actually deliver. Use readiness.status and readiness.reasons — not phase — to answer “is this campaign ready to deliver?” questions.

Why phase alone is not enough

A campaign with phase: active is launched, but that does not mean it is delivering. A launched campaign can be blocked by missing configuration (no budget, no staged media buys), an inactive lifecycle state (paused, archived, completed, or canceled), or flight dates that are outside the current window. readiness.status captures all of these; phase does not.

Fields

Reason codes

Agent guidance

  • Check readiness.status before telling the buyer whether a campaign is delivering. phase: active is not sufficient evidence.
  • When readiness.status is not_ready, surface every entry in readiness.reasons as a concrete next step — never just say “the campaign isn’t ready.”
  • When readiness.reasons is empty but readiness.status is not_ready, the campaign is in an inactive lifecycle state (paused, archived, completed, or canceled); tell the buyer the campaign’s current lifecycle state instead.
  • Multiple reasons can be present at once. Address them all.