Flip Energy API
  1. Programs
Flip Energy API
  • Overview
  • Important concepts
  • Authentication
  • Enrollment process
  • End-user app design
  • Monitoring / Telemetry
  • Control
  • Change log
  • Mobile App API
    • Devices
      • Create Device
      • Read Devices
      • Read Device
      • Update Device
      • Delete Device
    • Enrollments
      • Create Enrollment
      • Read Enrollments
      • Read Enrollment
      • Delete Enrollment
    • Events
      • Read Events
      • Read Event
      • Update Event Participation
    • Programs
      • Read Programs
      • Read Program
    • Sites
      • Read Site
      • Update Site
  • Cloud API
    • Sites
      • Get Site Token
      • Get Sites
    • Commissioning
      • Commission Site And Devices
    • Sessions
      • Sessions
    • Commands
      • Command Created
      • Update Command Status
    • Programs
      • Read Programs
        GET
    • Telemetry
      • Report Battery Telemetry
    • Webhooks
      • Overview
      • List of events
      • Webhook headers
      • Schemas
        • Command
        • Enrollment
        • Event
  1. Programs

Read Programs

Cloud Mock
https://mock.apidog.com/m1/479670-0-default
Cloud Mock
https://mock.apidog.com/m1/479670-0-default
GET
/v1/programs
programs
Get the programs available for the given parameters.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Query Params
device_type
enum<string> 
required
Allowed values:
BATTERYEV_CHARGER
Example:
BATTERY
total_capacity_wh
integer 
required
Nominal power capacity of the battery per manufacturer specification, in watt-hours.
>= 1
Example:
16000
total_power_w
integer 
required
The rated power the battery can continuously charge and discharge at per manufacturer specification, in watts.
>= 1
Example:
7000
zip_code
string 
required
In the sandbox, use zip codes 88800, 88801 or 88802 to match with test programs.
Example:
88801

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET 'https://mock.apidog.com/m1/479670-0-default/v1/programs?device_type=BATTERY&total_capacity_wh=16000&total_power_w=7000&zip_code=88801'

Responses

🟢200Success
application/json
Body
array of:
id
string <uuid>
Id
required
name
string 
Name
required
Example:
Demo Program
description
string 
required
Example:
This demo program is for demo purposes.
eligible_device_types
array[string]
Eligible Device Types
required
Allowed values:
BATTERYEV_CHARGER
can_auto_enroll
boolean 
required
minimum_reserve_percentage
integer 
required
The lowest SOC the battery can reach during events
Example:
20
minimum_commitment_months
integer  | null 
required
Can be null if the minimum commitment is currently not known.
Example:
12
participation_months
array[integer]
required
List of calendar months (range 1-12) in which the program is active
earnings_for_site_upfront
integer 
required
Estimated one-time upfront earnings in the program, based on the site information
Example:
1000
earnings_for_site_yearly
integer 
required
Estimated yearly recurring earnings in the program, based on the site information
Example:
500
created_at
string <date-time>
Created At
required
updated_at
string <date-time>
Updated At
required
enrollment_form
array [object {4}] 
required
A program might require special information from the end user on enrollment. If it does, this array will contain each of them. They should be used to dynamically convert into form fields.
name
string 
required
The machine-readable attribute name to use over the API
Example:
account_id
label
string 
required
The human-readable attribute name to include in your form
Example:
Utility Account Number
type
enum<string> 
required
Allowed values:
booleannumberstring
hint
string 
optional
Additional description of the input, in Markdown format
Example:
You can find it on your utility bill. [Learn more](https://example.com)
terms_and_conditions_version
string  | null 
required
If a program requires terms and conditions to be agreed with, the current version will be provided here. It should not be displayed to the user.
Example:
2025-01-01
terms_and_conditions_text
string  | null 
required
If a program requires terms and conditions to be agreed with, the full text of the current version, in Markdown format, will be provided here. It should be displayed to the user.
Example:
**Terms and conditions** You agree to these mock terms.
Example
[
    {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "Demo Program",
        "description": "This demo program is for demo purposes.",
        "eligible_device_types": [
            "BATTERY"
        ],
        "can_auto_enroll": true,
        "minimum_reserve_percentage": 20,
        "minimum_commitment_months": 12,
        "participation_months": [
            1
        ],
        "earnings_for_site_upfront": 1000,
        "earnings_for_site_yearly": 500,
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z",
        "enrollment_form": [
            {
                "name": "account_id",
                "label": "Utility Account Number",
                "type": "boolean",
                "hint": "You can find it on your utility bill. [Learn more](https://example.com)"
            }
        ],
        "terms_and_conditions_version": "2025-01-01",
        "terms_and_conditions_text": "**Terms and conditions** You agree to these mock terms."
    }
]
🟠400Invalid input
Previous
Update Command Status
Next
Report Battery Telemetry
Built with