Reference · plan lifecycle
Plan states
Six exact values record human review and cancellation. Execution eligibility also depends on time, targets, trust, policy, and capacity.
Exact wire values
State reference
Only a pending plan can be approved, changed, rejected, or expire during approval. Only an approved plan can be cancelled.
requires_approvalA new plan is accepted for review.
approved · changes_requested · rejected · expired
Wait for a human decision.
approvedA human approves the exact version before its window closes.
cancelled
Use its accounts, window, and remaining capacity.
changes_requestedA human returns structured feedback.
No in-record transition
Prepare a deliberate new submission from the feedback.
rejectedA human rejects the pending plan.
No in-record transition
Stop plan-backed work and return the decision.
expiredApproval is attempted after ends_at.
No in-record transition
Submit a new bounded plan if a human requests it.
cancelledA human cancels an approved plan.
No in-record transition
Stop plan-backed work immediately.
Stored state and time
Expiry semantics
Time eligibility
An approval attempt after ends_at changes a pending plan to expired. An approved record can remain approved after its window closes.
Execution checks the window separately and can return plan_expired. Never infer a stored state change from that authorization reason.
Execution boundary
Authorization result
Plan-backed publishing returns applied or not_applied. An applied result has a null reason.
agent_pausedExact reason returned when plan authority cannot apply.
publishing_disabledExact reason returned when plan authority cannot apply.
plan_not_foundExact reason returned when plan authority cannot apply.
plan_not_approvedExact reason returned when plan authority cannot apply.
plan_not_startedExact reason returned when plan authority cannot apply.
plan_expiredExact reason returned when plan authority cannot apply.
plan_cancelledExact reason returned when plan authority cannot apply.
target_not_in_planExact reason returned when plan authority cannot apply.
target_not_l2Exact reason returned when plan authority cannot apply.
target_disconnectedExact reason returned when plan authority cannot apply.
policy_not_configuredExact reason returned when plan authority cannot apply.
policy_violationExact reason returned when plan authority cannot apply.
max_posts_exhaustedExact reason returned when plan authority cannot apply.
request_changedExact reason returned when plan authority cannot apply.
schedule_missedExact reason returned when plan authority cannot apply.
Human review evidence
Structured feedback
Feedback contains a decision, category, and text. Categories are exact wire values.
captionmediatargetingtimingpolicyother{
"status": "changes_requested",
"approval_feedback": {
"decision": "changes_requested",
"category": "timing",
"text": "Keep the plan inside the launch window."
}
}