How to Use Rate Plan IDs
- Fetch available rate plans with
/v1/utility/get. - Choose the plan that matches the home.
- Use that plan’s returned
idasratePlanIdwhen creating or updating a home. - Reuse that same
ratePlanIdin API calls that ask for it.
ratePlans[] response includes:
idrateIDratePlanNamesupportedType
id: the WattShift plan identifier you pass asratePlanIdto home endpointsrateID: the semantic normalized rate identifier you can use as a human-readable tariff reference
Typical Flow
- Call
/v1/utility/get. - Pick a plan from the returned
ratePlansarray. - Send that plan’s
idasratePlanIdto/v1/homes/createor/v1/homes/{id}/update. - Use the same home for price signals, impact calculations, and optimization workflows.
Understanding the Semantic Rate ID
WattShift’s normalized rate data also includes a semantic rate ID that captures plan characteristics directly in the identifier. That format is useful when you want a deeper reference for plan structure, eligibility, climate region, or effective dates.POST /v1/utility/get returns that semantic identifier separately as ratePlans[].rateID, while ratePlans[].id remains the value to send as ratePlanId.
The semantic RateID schema uses sector-specific formats. Residential plans use a long-form 13-segment structure, and non-residential sectors use an extended format. Both include four separate time/version fields:
effective_startvintage_yearenrollment_closeeffective_end
rateID. Use it as a structured reference for the normalized tariff, while continuing to send ratePlans[].id as ratePlanId.
Example:
C / I / A formats.