Skip to main content
Every requirement Leap evaluates comes back with a code saying what kind of requirement it is: a utility relationship, an equipment rating, a signature the customer owes. Branch your integration on the code, and treat requirement and reason as display copy Leap can reword at any time. This page lists every code an incentives response can carry.

Where the code appears

Each entry in the eligibility_details[] array returned by Look up incentives pairs one code with the outcome for one device against one tier, nested under program_details[].tiers[].device_results[]:
Read status and severity for the outcome, and code for the kind of requirement behind it. The Incentives Guide covers what COMPLETED, FAILED, and IGNORED mean. source_program_identifier stays null on utility, state, and market programs, and names the source program on partner offers.

A code is a category, not an identity

The same code appears on as many checks as the program gates on. Twenty different attestations all carry APP-002, and a program can require several of them at once, so one tier can return several APP-002 rows that the customer must each act on. That has two consequences for your code:
  • Don’t key on code. Use it to group and to route (“show every attestation”, “these are equipment problems”). Tell two rows of the same code apart with requirement, or with expected_values and actual_value.
  • Match on the prefix. code.startsWith("EQUIP-") is supported and stable. Codes are additive: an existing code is never renumbered or reused, and new kinds of requirement arrive as new codes.
A check whose kind Leap hasn’t categorized yet reports MISC. Expect a handful of them in any large response, and handle MISC as “read the requirement text” rather than as an error.

The codes

The Resolved by column names the data that settles each check. Send it on a lookup or a refresh, or let Connect collect it from the customer, and the check stops returning IGNORED.
APP-002 covers terms and conditions, program enrollments, and one-rebate-per-address declarations alike, because all of them are a signature the customer gives. A response carries only the agreements belonging to programs the customer matched, so expect a handful rather than the full catalog.