Guide

How solar loan APIs actually underwrite a project

Behind every kitchen-table payment is an authenticated API payload: borrower data, itemized project costs, and dealer IDs — plus webhooks that move the job from soft pull to funded. This is the technical map homeowners and integrators both benefit from understanding.

At a glance

Auth patterns
API keys, OAuth 2.0 Bearer tokens, partner-gated portals
Lifecycle glue
Webhooks / AsyncAPI events instead of weeks of polling
Payload clusters
Borrower · Project (itemized) · Dealer merchant ID

Authentication and sensitive data

Solar loan APIs handle PII, SSNs, and FICO-related outputs. Production credentials are usually partner-gated after compliance vetting. Common patterns include API keys bound to CRM access profiles (e.g. JobNimbus → Sunlight) and OAuth 2.0 Bearer tokens (common in Wisetack-style integrations). Never paste keys into front-end JavaScript.

The credit application payload

A typical POST application bundles three clusters: (1) Borrower — legal name, address, income, and cryptographic consent for soft/hard inquiry; (2) Project — gross cost plus itemized solar vs roof vs battery lines so PPW rules can validate; (3) Dealer — merchant identifier that selects fee schedules, promotional buy-downs, and geographic eligibility. Success responses return approved tiers with initial payment, term, down payment, and re-amortization date when applicable.

Price-per-watt guardrails in the schema

Some lenders encode compliance in validation, not after the fact. Sunlight’s SunSaver product, for example, historically enforced maximum PPW by scope — solar-only, solar+roof, solar+battery, or all three — and rejects non-itemized or over-cap payloads with immediate API errors. That protects capital partners and forces cleaner contracts.

Webhooks and loan lifecycle events

From soft pull to document signing, Notice to Proceed (NTP), and funding, a loan can span weeks. Polling is wasteful; lenders and proposal tools push HTTP POSTs to partner endpoints. Solargraf-style triggers include proposal_details_updated, proposal_signed, and signed_pdf_generated. Wisetack-style webhooks can flip a CRM job to “Contract Signed,” start a welcome sequence, and notify procurement when funding clears.

Normalized aggregator schemas

Solargraf’s FinancialOptionsResponse illustrates how platforms hide lender idiosyncrasies. Fields like type (buy/loan/lease/ppa), financingType (e.g. loanpal for GoodLeap, mosaic), amount, rate, rateEscalator, dealerFeeAmount, and tiers[] let one dashboard compare products without learning each lender’s private API.

Example PPW validation matrix

Exact product limits change over time — treat this as an illustration of how API validation encodes pricing policy, not as live underwriting guidance.

Illustrative SunSaver PPW caps by project scope

Project scopeMax PPW (illustrative)API payload expectation
Solar only$7.00/WMay include efficiency / MPU add-ons per product rules
Solar + roof$10.00/WItemized roofing costs required
Solar + battery$11.00/WItemized battery storage costs required
Solar + roof + battery$12.50/WItemize both roofing and battery

Questions to ask

  • Which system originated my credit decision — lender portal, JobNimbus/CRM, or proposal software?
  • Were roof and battery costs itemized in the contract the lender validated?
  • Who receives webhook updates when my loan funds — and who tells me?

Red flags

  • Contract totals that cannot be itemized when the lender product requires it.
  • Installer shrugs when an API validation error blocks the loan instead of fixing pricing.
  • No written explanation of what “approved” means before NTP and funding.

Frequently asked questions

Common solar questions for this area — start a project for answers tied to your roof and utility bill.

Do I interact with the loan API myself?

Usually no. The installer or marketplace software calls it. You still authorize credit pulls and sign disclosures — read those carefully.

Why was my application rejected for “PPW”?

Price per watt exceeded the lender’s programmed maximum for your scope, or required add-ons were not itemized. Ask for a revised cash price breakdown, not just a different monthly payment.

Related

Sources

Your home in your home

Create your solar project

Enter your address for a quick teaser. Create a free account for the full Google Solar roof model, ROI dashboard, permits, and PDF report.

All financing guides · Quote check · Incentives