Overview
The Applications API allows you to query and monitor rebate applications throughout their lifecycle. You can search and retrieve application data to track progress and integrate with your systems. For detailed endpoint specifications, see the Applications API reference pages:Application Status Workflow
Applications follow a defined status progression:Status Definitions
not_started: Application created but work hasn’t begunin_progress: Application is being actively worked onawaiting_partner: Waiting on external partner (installer, utility, etc.)completed: All work finished, ready for submissionsubmitted: Application submitted to utility/program administratorapproved: Application approved, rebate processingrejected: Application rejected (see rejection details in application data)
Search vs Get Application
The API provides two ways to retrieve application data, optimized for different use cases:Search Applications (GET /applications)
- Returns simplified application data
- Optimized for listing and filtering
- Faster response times
- Supports pagination
- Filter by
refId,customer_id, orapplication_status
Get Application (GET /applications/{id})
- Returns complete application data
- Includes all customer fields and customer device details
- Slower but more comprehensive
Recommended pattern: Use Search Applications for listing and filtering, then use Get Application to retrieve full details when a user selects a specific application.
Attachments
Applications may have associated attachments such as invoices, permits, photos, and other documentation. You can list and download attachments for applications. For detailed endpoint specifications, see:Attachment Types
Applications support the following attachment types:INVOICE_EQUIPMENT- Equipment purchase invoiceINVOICE_INSTALL- Installation invoicePERMIT- Building/electrical permitPHOTO_NAMEPLATE- Equipment nameplate photoPHOTO_INSTALL- Installation photoPHOTO_METER- Utility meter photoAHRI_CERT- AHRI certification documentNEAT_REPORT- NEAT/SIR reportINCOME_FORM- Income verification formW9- W-9 tax formOTHER- Other documentation
Listing Attachments
List all attachments for one or more applications:Downloading Attachments
Get a signed download URL for an attachment (valid for 1 hour):downloadUrl field with a temporary signed URL for downloading the file.
Common Workflows
Creating and Tracking Applications
- Create via Incentives API: Use
create_application: truein the Incentives request - Get the
connect_url: Share with customer to complete their application - Monitor progress: Poll using
GET /applications?refId=customer-123to track status changes - Retrieve details: Use
GET /applications/{id}when you need complete application data
Monitoring Application Status
Applications are updated internally as they progress through the workflow. You can monitor status changes by:- Polling periodically: Check application status at regular intervals
- Filtering by status: Use
application_statusparameter to find applications in specific states - Tracking by customer: Use
refIdorcustomer_idto monitor specific customers’ applications
Example: Finding Applications by Status
Best Practices
Efficient Querying
- Use Search Applications for lists (faster, paginated)
- Cache application lists and refresh periodically
- Only fetch full details (Get Application) when you need complete data
- Use appropriate
limitvalues for pagination (default: 50, max: 100)
Status Monitoring
- Poll at reasonable intervals (avoid excessive API calls)
- Filter by
application_statusto find applications requiring attention - Track the
updated_attimestamp to identify recent changes
Integration Patterns
- Store the mapping between your system IDs and application IDs
- Use
refIdconsistently to link applications to your customers - Cache application data locally to reduce API calls
- Refresh cached data when you detect status changes
Related Resources
- Search Applications API Reference
- Get Application API Reference
- Incentives API Guide - Create applications
- API Authentication