| A resource is named after the thing itself, in the plural | /devices, /meter-records, /connect-sessions |
PATCH edits fields. Anything that changes state is a POST to a verb | POST /vpp-enrollments/{enrollment_id}/unenroll |
| Created under the parent, retrieved by its own ID | POST /devices/{device_id}/plans, GET /plans/{plan_id} |
| Fields carry their unit | power_kw, energy_kwh, backup_reserve_percent, interval_seconds |
| Power and energy are signed: positive is import, negative is export | power_kw: -4.3 |
Timestamps start with time_. Windows are start_time and end_time | time_created, time_updated |
Lists of IDs end in _ids | device_ids |
An object your account created carries account_id. Objects that an OEM or Flatpeak created, such as devices, locations, enrollments and rewards, do not | account_id on a program, a group or a VPP event |
name is your own label, and display_name is what your customers see | A group’s name, a program’s display_name |
Roles are named for what they do: supplier sells the energy, operator runs the program, oem makes the device | supplier, operator_id, oem_id |
| IDs carry a prefix that names the object | dev_ device, sup_ supplier, opr_ operator, enr_ enrollment |
| Enum values are upper case | ALLOCATION_OPEN |