WattShift Impact Calculations turn interval energy data into customer-facing impact metrics. Send 15-minute import usage, optionally include solar export, and receive calculated bill cost plus available grid-services revenue and carbon impact. These endpoints are useful when you need to compare actual and counterfactual scenarios, validate a device-control strategy, estimate EV charging cost, or show the value of solar, storage, and load shifting under the customer’s actual tariff. The home-backed monthly and period routes are the public impact calculation endpoints. Their paths still includeDocumentation Index
Fetch the complete documentation index at: https://docs.wattshift.com/llms.txt
Use this file to discover all available pages before exploring further.
bill for backward compatibility, but they return the tariff bill and, when home context is available, relevant grid-services revenue and carbon impact fields.
Endpoints
| Use case | Endpoint | When to use it |
|---|---|---|
| Calendar-month impact calculation | POST /v1/homes/{homeId}/bill/monthly | You have one full calendar month of 15-minute usage data for an onboarded home. |
| Custom-period impact calculation | POST /v1/homes/{homeId}/bill/period | You have a billing period or scenario window that does not line up exactly with a calendar month. |
{id}. In the examples below, {homeId} means the same value: the ID of the home you are calculating impacts for.
Prerequisites
Home-backed impact calculations require the home to have a storedutilityId and ratePlanId.
- Set these during API-based onboarding.
- Use Update Home if you need to change them later.
- When a request asks for
ratePlanId, send the selectedratePlans[].idfromPOST /v1/utility/get. The companionratePlans[].rateIDis the semantic tariff reference, not the value to send asratePlanId.
Usage Data
Both impact-calculation endpoints expect daily arrays of 15-minute interval values.- Each day must contain exactly 96 numeric values.
usageis import consumption in kWh.exportis optional solar or battery export in kWh, using the same daily shape asusage.- If
exportis provided, it must contain the same number of days asusage.
Monthly Bills
Use the monthly endpoint when the analysis period is a complete calendar month.usage array must contain one daily array for every day in the requested month. January requires 31 daily arrays; February 2024 requires 29; February 2025 requires 28.
Period Bills
Use the period endpoint when the analysis window is a customer billing period or scenario window.startDate and endDate as YYYY-MM-DD or ISO 8601 timestamps. The usage array must include one daily array for each date from startDate up to, but not including, endDate. For example, 2025-01-07 through 2025-02-08 requires 32 daily arrays.
Response
Home-backed monthly and period calculations return impact fields for the requested window:startDate and endDate instead of month and year.
billTotal: Total tariff bill cost in local currency.gridServicesRev: Estimated grid-services revenue in local currency, when available from the home’s meter, zipcode, and price-signal context.CO2e: Carbon dioxide equivalent emissions in pounds of marginal greenhouse gas, when available from the home’s zipcode and carbon-signal context.debugInfo: Optional diagnostic details whendebugis set totrue.
Notes
Billing period matching: Queries that do not precisely match a customer’s billing period are still useful for relative bill and scenario calculations, but they will not exactly match the customer’s utility bill total. Scenario comparison: To show the value of a shift, run the same endpoint twice: once with the baseline usage profile and once with the shifted or optimized profile. ComparebillTotal, gridServicesRev, and CO2e across the two responses.
Solar export: Include export when the customer has solar or battery exports that should offset import usage under the selected tariff.