Overview
The Incentives API calculates incentives across multiple utility programs for a customer address and device. It automatically handles customer creation, utility lookup, and incentive aggregation. For detailed endpoint specifications, see the Check Incentives API reference.Operation Types
The Incentives API supports two operation modes:lookup Operation
Use for first-time customers or when you need fresh utility data:
- Requires full address including
street_1,city,state_or_province_code,postal_code, andcountry_code - Geocodes the address to find applicable utilities
- Slower due to address processing and utility lookup
refresh Operation
Use for returning customers with cached utility data:
- Address is optional (uses cached data)
- Significantly faster—no geocoding or utility lookup required
- Requires that the customer already exists
Reference IDs
Thereference_id field is required and serves multiple purposes:
- Must be unique within your account
- Enables fast lookups on subsequent API calls
- Use your internal customer/account ID for easy correlation
Reference IDs are scoped to your account. The same
reference_id can exist in different customer accounts without conflict.Creating Applications
Setcreate_application: true in the Incentives request to automatically create application records. When enabled, the response includes a connect_url field with a link to the customer application portal.
This streamlines the workflow by combining incentive calculation and application creation in a single API call.
Example Workflow
First-Time Customer (Lookup)
Returning Customer (Refresh)
Best Practices
Choose the Right Operation Type
- First interaction: Use
lookupwith full address - Subsequent calls: Use
refreshwith just thereference_id - Address changes: Use
lookupto update utility information
Reference ID Strategy
- Use your internal customer/account ID as the
reference_id - Maintain consistency across all API calls for the same customer
- Store the mapping between your IDs and Leap’s
customer_idfor reference
Error Handling
Common scenarios to handle:- No utility found: Address may be in an unsupported area
- Reference ID mismatch: Ensure the
reference_idmatches the customer’s existing record when using refresh - Missing address: Lookup operations require complete address information