Skip to main content
GET
Retrieve a VPP program

Authorizations

Authorization
string
header
required

Bearer token obtained from POST /auth/tokens.

Path Parameters

device_id
string
required

Flatpeak Device ID.

Example:

"dev_63a6087272941ef077a8fd3e"

program_id
string
required

Flatpeak VPP Program ID.

Response

VPP program response.

A VPP program available to a device, with the device's enrollment state and the estimate shown to the user. The same information Connect shows on the VPP Programs page.

id
string
required

Flatpeak VPP Program ID.

Pattern: ^[a-z]{2,4}_[A-Za-z0-9]+$
Example:

"vpr_6a1f8e375db9de605baadd46"

object
enum<string>
required

Object type, vpp_program.

Available options:
vpp_program
Example:

"vpp_program"

operator
object
required

The VPP operator that runs the program.

display_name
string
required

VPP program display name.

Example:

"Community Powershare"

enrollment_state
enum<string>
required

The device's enrollment state for this program, or NOT_ENROLLED if it has never enrolled.

Available options:
NOT_ENROLLED,
PENDING,
ACTIVE,
SUSPENDED,
LEAVING,
ENDED,
REJECTED
Example:

"NOT_ENROLLED"

url
string

VPP program information URL.

Example:

"https://pick.com/programs/community-powershare"

managed
boolean

true for a managed tariff: the VPP operator runs the device under this program with binding plans, and it replaces the user's tariff. The user signs up for it with the VPP operator: see Programs.

Example:

false

currency_code
string

Currency of every amount on the program, as an ISO 4217 code: estimate.amount and each rate in terms.rewards.

Pattern: ^[A-Z]{3}$
Example:

"USD"

zone_id
string | null
read-only

Flatpeak Zone ID of the zone the VPP operator restricted the program to. null when not restricted by area.

Example:

null

estimate
object

What the user is told to expect before they join. It is a projection and never binding. The copy follows managed: bill savings for a managed tariff ("Your bill drops by"), earnings otherwise ("You earn"). Present it as provided, and do not convert between periods.

terms
object
read-only

What binds the user and the VPP operator once the user has joined: what the user is paid, whether they may skip events, and how long leaving takes. Show the rewards at enrollment. The enrollment keeps a copy of the terms it joined with.

telemetry_requirements
object
read-only

Telemetry the program requires from enrolled devices: sampling intervals for state and for the device's own meter records. The effective requirement appears per device on telemetry.

enrollment
object
read-only

How a device gets in.