Skip to main content
A VPP enrollment has a state in enrollment_state and a step in enrollment_step. Use the state to decide what your app does, and the step to tell the user what is happening. Read both with list VPP enrollments; retrieve a VPP enrollment adds the timeline. Connect shows the steps on the Enrollment page.

States

Steps

A step that does not apply is SKIPPED: a tariff already connected, no telemetry required, dispatch_test_required set to false, or no approval needed. Timeline entries still PENDING carry time_expected, so you can show what comes next and when. A request to leave needs the VPP operator’s approval, and the operator cannot refuse it. A request left unanswered ends when the notice_days of the enrollment’s terms have passed, so take the number of days in the UNENROLLING message from terms.notice_days.

Suspension reasons

An ACTIVE enrollment can carry warnings, which do not stop dispatch. A critical reason suspends the enrollment at once, and so does a warning left past its grace period. The enrollment returns to ACTIVE when every reason clears.