# Request a sandbox-only agent credential Source: https://docs.wattshift.com/api-reference/agent-credentials/request-a-sandbox-only-agent-credential /api-reference/openapi.json post /v1/agent-credentials # Revoke a sandbox agent credential Source: https://docs.wattshift.com/api-reference/agent-credentials/revoke-a-sandbox-agent-credential /api-reference/openapi.json post /v1/agent-credentials/{credentialId}/revoke # calculate period bill impact from inline context Source: https://docs.wattshift.com/api-reference/calculate/calculate-period-bill-impact-from-inline-context /api-reference/openapi.json post /v1/calculate/impact Calculates period bill impact using rate plan, zipcode, and optional carbon settings supplied in the request body. Does not require a persisted home. Inline usage is required when useDefaultUsage is false or omitted; set useDefaultUsage to true to derive usage from Palmetto baseline data instead of supplying inline usage arrays. # calculate period bill using a specific rate plan Source: https://docs.wattshift.com/api-reference/calculate/calculate-period-bill-using-a-specific-rate-plan /api-reference/openapi.json post /v1/calculate/impact/rateplan/{ratePlanId} Bill calculation for a MongoDB rate plan id only (no home). Carbon and grid revenue are omitted without a home zipcode. # Request a sandbox-only agent credential Source: https://docs.wattshift.com/api-reference/endpoint/agent-credentials/request-a-sandbox-only-agent-credential api-reference/openapi.json POST /v1/agent-credentials # Revoke a sandbox agent credential Source: https://docs.wattshift.com/api-reference/endpoint/agent-credentials/revoke-a-sandbox-agent-credential api-reference/openapi.json POST /v1/agent-credentials/{credentialId}/revoke # calculate period bill impact from inline context Source: https://docs.wattshift.com/api-reference/endpoint/calculate/calculate-period-bill-impact-from-inline-context api-reference/openapi.json POST /v1/calculate/impact Calculates period bill impact using rate plan, zipcode, and optional carbon settings supplied in the request body. Does not require a persisted home. Inline usage is required when useDefaultUsage is false or omitted; set useDefaultUsage to true to derive usage from Palmetto baseline data instead of supplying inline usage arrays. # calculate period bill using a specific rate plan Source: https://docs.wattshift.com/api-reference/endpoint/calculate/calculate-period-bill-using-a-specific-rate-plan api-reference/openapi.json POST /v1/calculate/impact/rateplan/{ratePlanId} Bill calculation for a MongoDB rate plan id only (no home). Carbon and grid revenue are omitted without a home zipcode. # Submit structured feedback or a question Source: https://docs.wattshift.com/api-reference/endpoint/feedback/submit-structured-feedback-or-a-question api-reference/openapi.json POST /v1/feedback # [Beta] Get bill upload processing status Source: https://docs.wattshift.com/api-reference/endpoint/homes/beta-get-bill-upload-processing-status api-reference/openapi.json POST /v1/homes/bill-upload/{id}/status # [Beta] Onboard a site by uploading utility bill PDFs Source: https://docs.wattshift.com/api-reference/endpoint/homes/beta-onboard-a-site-by-uploading-utility-bill-pdfs api-reference/openapi.json POST /v1/homes/bill-upload # calculate monthly bill impact Source: https://docs.wattshift.com/api-reference/endpoint/homes/calculate-monthly-bill-impact api-reference/openapi.json POST /v1/homes/{id}/bill/monthly Calculates monthly bill cost and includes grid-services revenue and carbon impact when home context and signal data are available. # calculate period bill impact Source: https://docs.wattshift.com/api-reference/endpoint/homes/calculate-period-bill-impact api-reference/openapi.json POST /v1/homes/{id}/bill/period Calculates bill cost for a custom date range and includes optional grid-services revenue and carbon impact when home context and signal data are available. # calculate period bill impact Source: https://docs.wattshift.com/api-reference/endpoint/homes/calculate-period-bill-impact-1 api-reference/openapi.json POST /v1/homes/{id}/calculate/impact Calculates bill cost for a custom date range and includes optional grid-services revenue and carbon impact when home context and signal data are available. # calculate period bill using a specific rate plan Source: https://docs.wattshift.com/api-reference/endpoint/homes/calculate-period-bill-using-a-specific-rate-plan api-reference/openapi.json POST /v1/homes/bill/period/rateplan/{ratePlanId} Bill calculation for a MongoDB rate plan id only (no home). Carbon and grid revenue are omitted without a home zipcode. # calculate period bill with inline home context Source: https://docs.wattshift.com/api-reference/endpoint/homes/calculate-period-bill-with-inline-home-context api-reference/openapi.json POST /v1/homes/bill/period Calculates period bill impact using inline home context instead of a persisted home id. # create home Source: https://docs.wattshift.com/api-reference/endpoint/homes/create-home api-reference/openapi.json POST /v1/homes/create # create solar Source: https://docs.wattshift.com/api-reference/endpoint/homes/create-solar api-reference/openapi.json POST /v1/homes/solar/create # find home Source: https://docs.wattshift.com/api-reference/endpoint/homes/find-home api-reference/openapi.json POST /v1/homes/{id}/get # get battery estimated savings Source: https://docs.wattshift.com/api-reference/endpoint/homes/get-battery-estimated-savings api-reference/openapi.json POST /v1/homes/{id}/battery/estimate_savings Estimates annual solar+battery savings for a home. Month inputs use calendar month numbers 1-12. # get HVAC estimated savings (monthly or annual) Source: https://docs.wattshift.com/api-reference/endpoint/homes/get-hvac-estimated-savings-monthly-or-annual api-reference/openapi.json POST /v1/homes/{id}/hvac/estimate_savings # get price signal Source: https://docs.wattshift.com/api-reference/endpoint/homes/get-price-signal api-reference/openapi.json POST /v1/homes/{id}/price_signal Returns a home-context price signal. Omit the body for the default home window, or provide both ISO 8601 startTime and endTime. # get price signal open adr Source: https://docs.wattshift.com/api-reference/endpoint/homes/get-price-signal-open-adr api-reference/openapi.json POST /v1/homes/{id}/price_signal/open_adr # list home hvac devices Source: https://docs.wattshift.com/api-reference/endpoint/homes/list-home-hvac-devices api-reference/openapi.json POST /v1/homes/{id}/devices/hvac/list # list homes Source: https://docs.wattshift.com/api-reference/endpoint/homes/list-homes api-reference/openapi.json POST /v1/homes/list # remove home Source: https://docs.wattshift.com/api-reference/endpoint/homes/remove-home api-reference/openapi.json POST /v1/homes/{id}/remove Removes a sandbox/test home owned by the API credential. Uses the same homes:write scope as createHome. # update home Source: https://docs.wattshift.com/api-reference/endpoint/homes/update-home api-reference/openapi.json POST /v1/homes/{id}/update # find HVAC Source: https://docs.wattshift.com/api-reference/endpoint/hvac/find-hvac api-reference/openapi.json POST /v1/devices/hvac/{id}/get # get set point schedule Source: https://docs.wattshift.com/api-reference/endpoint/hvac/get-set-point-schedule api-reference/openapi.json POST /v1/devices/hvac/{id}/set_point_schedule/get # get user preference Source: https://docs.wattshift.com/api-reference/endpoint/hvac/get-user-preference api-reference/openapi.json POST /v1/devices/hvac/{id}/user_preferences/get # preview Source: https://docs.wattshift.com/api-reference/endpoint/hvac/preview api-reference/openapi.json POST /v1/devices/hvac/{id}/preview # record thermostat behavior Source: https://docs.wattshift.com/api-reference/endpoint/hvac/record-thermostat-behavior api-reference/openapi.json POST /v1/devices/hvac/{id}/thermostat_behavior/record # remove HVAC Source: https://docs.wattshift.com/api-reference/endpoint/hvac/remove-hvac api-reference/openapi.json POST /v1/devices/hvac/{id}/remove # remove HVAC Source: https://docs.wattshift.com/api-reference/endpoint/hvac/remove-hvac-1 api-reference/openapi.json POST /v1/devices/hvac/{id}/unlink # set user preference Source: https://docs.wattshift.com/api-reference/endpoint/hvac/set-user-preference api-reference/openapi.json POST /v1/devices/hvac/{id}/user_preferences/set # set webhook thermostat behavior Source: https://docs.wattshift.com/api-reference/endpoint/hvac/set-webhook-thermostat-behavior api-reference/openapi.json POST /v1/devices/hvac/thermostat_behavior/webhook/set # update HVAC Source: https://docs.wattshift.com/api-reference/endpoint/hvac/update-hvac api-reference/openapi.json POST /v1/devices/hvac/{id}/linked # url for today view Source: https://docs.wattshift.com/api-reference/endpoint/hvac/url-for-today-view api-reference/openapi.json POST /v1/devices/hvac/{id}/today-url/generate # check eligibility for zipcode Source: https://docs.wattshift.com/api-reference/endpoint/onboarding/check-eligibility-for-zipcode api-reference/openapi.json POST /v1/onboarding/eligibility/check # generate onboarding url Source: https://docs.wattshift.com/api-reference/endpoint/onboarding/generate-onboarding-url api-reference/openapi.json POST /v1/onboarding/url/generate # generate session token Source: https://docs.wattshift.com/api-reference/endpoint/onboarding/generate-session-token api-reference/openapi.json POST /v1/onboarding/session-token/generate # get onboarding status Source: https://docs.wattshift.com/api-reference/endpoint/onboarding/get-onboarding-status api-reference/openapi.json POST /v1/onboarding/status/get # list utilities Source: https://docs.wattshift.com/api-reference/endpoint/utility/list-utilities api-reference/openapi.json POST /v1/utility/get Discover utilities and rate plans without creating a home. A request requires utilityId, zipcode, or both lat and long. Pass utilityId (EIA utility ID) when you already know the utility; use zipcode or lat/long to discover utilities for a location. Response utilityId is that same EIA ID. Send ratePlans[].id as ratePlanId; ratePlans[].udId repeats that WattShift plan ID, while ratePlans[].rateID is the semantic tariff reference (not an EIA ID). Pass `utilityId` (EIA utility ID) when you already know the utility; use `zipcode` (or lat/long) to discover utilities for a location. The response `utilityId` is that same EIA ID. It is not a rate plan id — send `ratePlans[].id` as `ratePlanId`, `ratePlans[].udId` repeats that WattShift plan ID, and `ratePlans[].rateID` is the semantic tariff reference. ## Lookup by utility EIA ID When you already know the utility's EIA ID (for example, `14328` for PG\&E), request rate plans directly: ```json theme={null} { "utilityId": "14328", "detailLevel": "minimal" } ``` # Set or update the price signal webhook for the organization Source: https://docs.wattshift.com/api-reference/endpoint/webhook/set-or-update-the-price-signal-webhook-for-the-organization api-reference/openapi.json POST /v1/webhook/price_signal/set Each organization may have at most one price signal webhook. If one already exists, this endpoint updates it. # set webhook for optimized HVAC set-point schedules Source: https://docs.wattshift.com/api-reference/endpoint/webhook/set-webhook-for-optimized-hvac-set-point-schedules api-reference/openapi.json POST /v1/webhook/set_point_schedule/set # trigger price signal webhook for organization homes Source: https://docs.wattshift.com/api-reference/endpoint/webhook/trigger-price-signal-webhook-for-organization-homes api-reference/openapi.json POST /v1/webhook/price_signal/trigger # trigger set-point schedule webhook Source: https://docs.wattshift.com/api-reference/endpoint/webhook/trigger-set-point-schedule-webhook api-reference/openapi.json POST /v1/webhook/set_point_schedule/trigger # Submit structured feedback or a question Source: https://docs.wattshift.com/api-reference/feedback/submit-structured-feedback-or-a-question /api-reference/openapi.json post /v1/feedback # [Beta] Get bill upload processing status Source: https://docs.wattshift.com/api-reference/homes/[beta]-get-bill-upload-processing-status /api-reference/openapi.json post /v1/homes/bill-upload/{id}/status # [Beta] Onboard a site by uploading utility bill PDFs Source: https://docs.wattshift.com/api-reference/homes/[beta]-onboard-a-site-by-uploading-utility-bill-pdfs /api-reference/openapi.json post /v1/homes/bill-upload # calculate monthly bill impact Source: https://docs.wattshift.com/api-reference/homes/calculate-monthly-bill-impact /api-reference/openapi.json post /v1/homes/{id}/bill/monthly Calculates monthly bill cost and includes grid-services revenue and carbon impact when home context and signal data are available. # calculate period bill impact Source: https://docs.wattshift.com/api-reference/homes/calculate-period-bill-impact /api-reference/openapi.json post /v1/homes/{id}/bill/period Calculates bill cost for a custom date range and includes optional grid-services revenue and carbon impact when home context and signal data are available. # calculate period bill impact Source: https://docs.wattshift.com/api-reference/homes/calculate-period-bill-impact-1 /api-reference/openapi.json post /v1/homes/{id}/calculate/impact Calculates bill cost for a custom date range and includes optional grid-services revenue and carbon impact when home context and signal data are available. # calculate period bill using a specific rate plan Source: https://docs.wattshift.com/api-reference/homes/calculate-period-bill-using-a-specific-rate-plan /api-reference/openapi.json post /v1/homes/bill/period/rateplan/{ratePlanId} Bill calculation for a MongoDB rate plan id only (no home). Carbon and grid revenue are omitted without a home zipcode. # calculate period bill with inline home context Source: https://docs.wattshift.com/api-reference/homes/calculate-period-bill-with-inline-home-context /api-reference/openapi.json post /v1/homes/bill/period Calculates period bill impact using inline home context instead of a persisted home id. # create home Source: https://docs.wattshift.com/api-reference/homes/create-home /api-reference/openapi.json post /v1/homes/create # create solar Source: https://docs.wattshift.com/api-reference/homes/create-solar /api-reference/openapi.json post /v1/homes/solar/create # find home Source: https://docs.wattshift.com/api-reference/homes/find-home /api-reference/openapi.json post /v1/homes/{id}/get # get battery estimated savings Source: https://docs.wattshift.com/api-reference/homes/get-battery-estimated-savings /api-reference/openapi.json post /v1/homes/{id}/battery/estimate_savings Estimates annual solar+battery savings for a home. Month inputs use calendar month numbers 1-12. # get HVAC estimated savings (monthly or annual) Source: https://docs.wattshift.com/api-reference/homes/get-hvac-estimated-savings-monthly-or-annual /api-reference/openapi.json post /v1/homes/{id}/hvac/estimate_savings # get price signal Source: https://docs.wattshift.com/api-reference/homes/get-price-signal /api-reference/openapi.json post /v1/homes/{id}/price_signal Returns a home-context price signal. Omit the body for the default home window, or provide both ISO 8601 startTime and endTime. # get price signal open adr Source: https://docs.wattshift.com/api-reference/homes/get-price-signal-open-adr /api-reference/openapi.json post /v1/homes/{id}/price_signal/open_adr # list home hvac devices Source: https://docs.wattshift.com/api-reference/homes/list-home-hvac-devices /api-reference/openapi.json post /v1/homes/{id}/devices/hvac/list # list homes Source: https://docs.wattshift.com/api-reference/homes/list-homes /api-reference/openapi.json post /v1/homes/list # remove home Source: https://docs.wattshift.com/api-reference/homes/remove-home /api-reference/openapi.json post /v1/homes/{id}/remove Removes a sandbox/test home owned by the API credential. Uses the same homes:write scope as createHome. # update home Source: https://docs.wattshift.com/api-reference/homes/update-home /api-reference/openapi.json post /v1/homes/{id}/update # find HVAC Source: https://docs.wattshift.com/api-reference/hvac/find-hvac /api-reference/openapi.json post /v1/devices/hvac/{id}/get # get set point schedule Source: https://docs.wattshift.com/api-reference/hvac/get-set-point-schedule /api-reference/openapi.json post /v1/devices/hvac/{id}/set_point_schedule/get # get user preference Source: https://docs.wattshift.com/api-reference/hvac/get-user-preference /api-reference/openapi.json post /v1/devices/hvac/{id}/user_preferences/get # preview Source: https://docs.wattshift.com/api-reference/hvac/preview /api-reference/openapi.json post /v1/devices/hvac/{id}/preview # record thermostat behavior Source: https://docs.wattshift.com/api-reference/hvac/record-thermostat-behavior /api-reference/openapi.json post /v1/devices/hvac/{id}/thermostat_behavior/record # remove HVAC Source: https://docs.wattshift.com/api-reference/hvac/remove-hvac /api-reference/openapi.json post /v1/devices/hvac/{id}/remove # remove HVAC Source: https://docs.wattshift.com/api-reference/hvac/remove-hvac-1 /api-reference/openapi.json post /v1/devices/hvac/{id}/unlink # set user preference Source: https://docs.wattshift.com/api-reference/hvac/set-user-preference /api-reference/openapi.json post /v1/devices/hvac/{id}/user_preferences/set # set webhook thermostat behavior Source: https://docs.wattshift.com/api-reference/hvac/set-webhook-thermostat-behavior /api-reference/openapi.json post /v1/devices/hvac/thermostat_behavior/webhook/set # update HVAC Source: https://docs.wattshift.com/api-reference/hvac/update-hvac /api-reference/openapi.json post /v1/devices/hvac/{id}/linked # url for today view Source: https://docs.wattshift.com/api-reference/hvac/url-for-today-view /api-reference/openapi.json post /v1/devices/hvac/{id}/today-url/generate # Introduction Source: https://docs.wattshift.com/api-reference/introduction API Reference for WattShift