> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incentives.leap.energy/llms.txt
> Use this file to discover all available pages before exploring further.

# Eligibility check codes

> The requirement-type codes Leap returns on every eligibility check, and what resolves each one.

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](/api-reference/incentives-lookups/look-up-incentives) pairs one code with the outcome for one device against one tier, nested under `program_details[].tiers[].device_results[]`:

```json theme={"dark"}
{
  "requirement": "Equipment is new",
  "status": "IGNORED",
  "severity": "pending",
  "code": "EQUIP-001",
  "reason": "New-equipment flag not provided",
  "operator": "eq",
  "expected_values": ["true"],
  "actual_value": null,
  "source_program_identifier": null
}
```

Read `status` and `severity` for the outcome, and `code` for the kind of requirement behind it. The [Incentives Guide](/api-reference/incentives-lookups/overview) 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`.

| Code        | What it checks                                                                                                                                              | Resolved by                                                                                                                               |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `UTIL-001`  | The customer is an active account holder with the program's utility, on an eligible rate plan.                                                              | `customer.eiaid`, `customer.utility_account_number`, `customer.utility_account_status`, `customer.utility_rate_plan`                      |
| `EQUIP-001` | The equipment is new rather than used, and recent enough for the program.                                                                                   | `customer_device.is_new_equipment`, `customer_device.purchase_date`, `device.manufacture_year`                                            |
| `EQUIP-002` | The charger is at the level the program requires.                                                                                                           | `device.charger_level`                                                                                                                    |
| `EQUIP-003` | The device is on the program's approved product list, or from an approved brand.                                                                            | `program.approved_product`, `device.manufacturer`, `device.model_name`                                                                    |
| `EQUIP-004` | The device carries a UL, ETL, or other NRTL safety listing.                                                                                                 | `device.is_ul_listed`                                                                                                                     |
| `EQUIP-005` | The device is ENERGY STAR certified.                                                                                                                        | `device.is_energy_star_certified`                                                                                                         |
| `EQUIP-006` | Charging power is inside the program's range.                                                                                                               | `device.charging_power_kw`                                                                                                                |
| `EQUIP-007` | The device is networked, also described as smart or connected.                                                                                              | `device.is_networked`, `device.is_ocpp_compliant`                                                                                         |
| `EQUIP-008` | The device offers a connector type the program allows.                                                                                                      | `device.connector_types`                                                                                                                  |
| `EQUIP-009` | The charger is permanently installed rather than portable.                                                                                                  | `device.is_mobile_plugin_charger`, `customer_device.mounting_type`                                                                        |
| `CONT-001`  | A licensed or in-network contractor did the install.                                                                                                        | `customer_device.contractor_name`, `customer_device.installer_license`, `customer_device.installation_type`, `program.contractor_network` |
| `CONT-002`  | The electrical permit is approved and the inspection passed.                                                                                                | `customer_device.permit_approved`, `customer_device.permit_number`, `customer_device.inspection_passed`                                   |
| `VEH-001`   | The customer has an eligible registered vehicle.                                                                                                            | `customer.vehicle_count`, `customer_device.vehicle_type`, `customer_device.vehicle_registration`                                          |
| `CUST-001`  | The customer or household is under the program's rebate limit, and hasn't already won an award in this track.                                               | `customer.has_previous_rebate_at_address`, `program.one_rebate_per_x`, `program.first_eligible_in_track`                                  |
| `CUST-002`  | The building and customer class are in the program's scope.                                                                                                 | `customer.customer_classification`, `customer.is_homeowner`, `customer.building_age_years`, `customer.dwelling_units`                     |
| `CUST-003`  | The customer meets the program's income-qualification rule, which can also route them to a different tier.                                                  | `customer.is_income_qualified`                                                                                                            |
| `APP-001`   | The claim arrives inside the program's window after install or permission to operate.                                                                       | `customer_device.installation_date`, `customer_device.pto_date`                                                                           |
| `APP-002`   | The customer signed, accepted, or attested to something the program requires.                                                                               | The specific agreement, collected in Connect                                                                                              |
| `MISC`      | A real requirement that fits no category above, such as a service-territory map check, a device specification the program prices on, or a state-level rule. | Named in `requirement`                                                                                                                    |

<Note>
  `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.
</Note>
