Skip to main content
POST
/
v1
/
homes
/
create
create home
curl --request POST \
  --url https://api.example.com/v1/homes/create \
  --header 'Content-Type: application/json' \
  --header 'x-ws-api-key: <api-key>' \
  --data '
{
  "name": "My Test Home",
  "zipcode": "95313",
  "utilityId": "14328",
  "ratePlanId": "6915de25881cbc6041e4c7f1",
  "solarSystemSizeKw": 5,
  "isNonNetMetered": false
}
'
{
  "id": "ws_home_123456789",
  "createdAt": "2025-01-02T12:00:00.000Z",
  "updatedAt": "2025-01-02T12:00:00.000Z",
  "name": "My home",
  "userId": "user_123456789",
  "UtilityId": "12199",
  "ratePlanId": "6915de25881cbc6041e4c7f1",
  "unstructuredAddress": null,
  "timezone": "America/Los_Angeles",
  "country": "US",
  "city": "San Francisco",
  "zipcode": "94107",
  "streetAddress": "123 Market St",
  "meterId": null,
  "meterIdSource": null,
  "energyMarketBiddingEnabled": true,
  "enabled": true,
  "carbonSignalIntensity": "MEDIUM",
  "channelPartnerId": null
}

Authorizations

x-ws-api-key
string
header
required

WattShift API key

Headers

x-ws-api-key
string

WattShift API Key

Body

application/json
name
string
required

The name of the home

Required string length: 1 - 255
userId
string

The ID of the owner of the home

UtilityId
string

Deprecated utility ID

utilityId
string

The utility ID

ratePlanId
string | null

The rate plan ID

unstructuredAddress
string

The unstructured address

clientId
string

The client ID

country
string

The country

city
string

The city

zipcode
string

The zip code

streetAddress
string

The street address

solarInfo
object

Solar installation information

solarSystemSizeKw
number

Solar system size in kW; creates or updates solar info when set with isNonNetMetered

isNonNetMetered
boolean

Non-net-metered solar billing flag; creates or updates solar info when set with solarSystemSizeKw

carbonSignalIntensity
enum<string>

The carbon signal intensity

Available options:
LOW,
MEDIUM,
HIGH
meterId
string
meterIdSource
enum<string>
Available options:
leap
enabled
boolean

This is to check if the home is enabled

channelPartnerId
string

Optional tracking for channel partners (requires using a valid ID)

modalHome
boolean

Whether this home was created from the modal flow

Response

id
string
required
createdAt
any
required
updatedAt
any
required
energyMarketBiddingEnabled
boolean
required
carbonSignalIntensity
enum<string>
required
Available options:
LOW,
MEDIUM,
HIGH
modalHome
boolean
required
name
string | null
userId
string | null
UtilityId
string | null
ratePlanId
string | null
unstructuredAddress
string | null
timezone
string | null
country
string | null
city
string | null
zipcode
string | null
streetAddress
string | null
meterId
string | null
meterIdSource
string | null
enabled
boolean | null
channelPartnerId
string | null