Skip to main content
GET
Get a program

Authorizations

Authorization
string
header
required

Your Leap API key as a Bearer token. Send it in the Authorization header: Authorization: Bearer <api-key>.

Path Parameters

program_id
string
required

Identifier of the program

Response

Successfully retrieved the program

One program in Leap's program catalog. The catalog is shared across partners and covers utility, state and market programs. A program you read here is not necessarily one your account can claim.

program_identifier
string

Stable identifier for the program, and the value Look up incentives returns as program_identifier on each eligible program. Send it as the program_id path segment on the other program routes.

label
string
description
string
program_type
string

Whether the program puts the customer's device under control. Leap sets VPP on programs that control or dispatch the device. Examples include demand response, managed charging and virtual power plant programs. REBATE marks programs that pay toward buying or installing the device without controlling it afterwards. Read operator_type for who the customer enrolls through.

transmission_region
enum<string>
Available options:
CAISO,
ERCOT,
NYISO,
ISONE,
PJM,
SERC,
WECC_SW,
WECC_PC
enabled
boolean

Whether Leap currently evaluates this program. A disabled program never appears in a lookup result. Filter on it with filter=enabled=true or filter=enabled=false.

source
enum<string>

Where the definition came from. LEAP_DEFINITIONS marks programs Leap defines itself. Leap sets these to VPP. INCENTIVES_DB marks programs imported from the public program catalog, and each is VPP or REBATE. PARTNER_OFFER marks a partner offer, which a partner account configures rather than Leap.

Available options:
LEAP_DEFINITIONS,
INCENTIVES_DB,
PARTNER_OFFER
metadata
object

The partner-visible subset of the program's stored metadata. Responses carry an allowlist of keys rather than everything Leap stores against a program. Catalog description: url, operator_name, operator_type, device_category, application_path, state_province, country. Partner offer publication, present on PARTNER_OFFER rows: display_name, operator_display_name, logo_url, terms_url, description. Any other key is omitted, including keys added after this was written, and including a partner offer's private configuration. Present but empty when the program carries none of the twelve.

Values are constrained as well as names. An allowlisted key survives only when its value is a string, a number or a boolean; a key whose value is an object or an array is omitted, because a nested value can carry fields nobody reviewed. Strings longer than 2048 characters are omitted rather than truncated, so a value you receive is always the whole value. No stored value under the seven catalog keys comes close to that bound.

operator_type
enum<string> | null

Who the customer enrolls through. LEAP marks Leap's own programs, even when a utility or grid operator runs the underlying program. metadata.operator_name names that operator. PARTNER marks every partner offer. For every other catalog program, UTILITY, STATE, LOCAL, FEDERAL or PROVINCIAL gives the kind of public operator. The field is omitted when Leap hasn't recorded the operator, or recorded a value outside these kinds. Treat an absent field and a null one the same way, as unknown rather than none. metadata.operator_type is the raw catalog value, which can fall outside this list. Read this top-level field instead.

Available options:
LEAP,
PARTNER,
UTILITY,
STATE,
LOCAL,
FEDERAL,
PROVINCIAL
upstream_program_id
string | null

The program's identifier in the upstream incentives system that owns application records. Stable, and the intended join key between this catalog and any API that reports a program in that id space, such as the applications feed. Always a positive integer, rendered as a string so the id stays exact for clients whose numbers are IEEE doubles.

Not to be confused with source_program_identifier on the eligibility-details response, which is a program identifier in this service's id space, attributing a check to the program that imposed it. The two never hold interchangeable values.

Omitted entirely when the program has no upstream counterpart, so treat an absent field and a null one the same way. That is normal rather than a gap: programs sourced from Leap's own definitions were never defined in the upstream system, so a missing id here says "this program cannot be joined", never "no applications exist". Programs promoted from that system, including partner offers, always carry one.

eiaids
string[]

Every EIA utility id this program serves. A customer qualifies on the utility dimension when the utility resolved from their address appears in this list. An empty list means the program has no utility footprint and is never selected on that dimension.

customer_classification
enum<string>

The customer or site class this program serves. RESIDENTIAL and COMMERCIAL are the long-standing values; MULTIFAMILY and MANUFACTURED_HOME exist because rebate qualification differs across single-family, multifamily and manufactured housing.

Available options:
RESIDENTIAL,
MULTIFAMILY,
MANUFACTURED_HOME,
COMMERCIAL
device_category
string
device_categories
string[]

Every device category the program covers. Leap offers the program to a customer with a device in any listed category, or in device_category. Empty when the program names only device_category. The list filter and the category facets read device_category only.