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.statusbefore telling the buyer whether a campaign is delivering.phase: activeis not sufficient evidence. - When
readiness.statusisnot_ready, surface every entry inreadiness.reasonsas a concrete next step — never just say “the campaign isn’t ready.” - When
readiness.reasonsis empty butreadiness.statusisnot_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.