| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Create post-storage usage, solar, and storage profiles by submitting account, profile, tariff, and battery inputs to the Storage Profile endpoint.
Use this endpoint after you have created the base consumption profile and, when applicable, one or more solar production profiles. The response generates three profiles that can be used in a Storage-in-Switch Savings Analysis.
Storage profiles cannot be created with private tariffs. Use a public tariff and confirm the tariff status with the
privacyfield on theTariffobject.
Resource URI
POST /rest/v1/profiles/storagePUT requests are not allowed.
Required setup
- Create or identify an account with
accountIdorproviderAccountId. - Create or identify an
ELECTRICITYconsumption profile. - Create or identify any solar production profiles needed for the storage model.
- Choose the post-solar tariff to pass as
storage.mainTariffId. - Pass
fromDateTimewith an explicit timezone that matches the usage and solar profiles.
Key request fields
| Field | Type | Description |
|---|---|---|
providerAccountId | String | Your account identifier. Use this or accountId to identify the account. |
providerProfileId | String | Prefix for the three generated post-storage profiles. Switch appends -usage, -solar, and -storage. |
fromDateTime | String | Start date and time for the generated profiles. Include the timezone. |
consumption | Object | Consumption profile to use in storage profile creation. |
solar | Object or Array | Solar profile or profiles to use in storage profile creation. Supports dataFactor scaling. |
storage.mainTariffId | Integer | Post-solar tariff used by the storage model. |
storage.dispatchStrategy | Object | Controls battery charging and discharging behavior. Defaults to optimized dispatch when omitted. |
storage.batteryNameplatePower | Number | Maximum battery power output in kW DC. Use this when charge and discharge rate limits are the same. Optional. |
storage.batteryNameplateCapacity | Number | Total battery energy storage capacity in kWh DC. Optional. |
storage.batteryNameplateChargePowerKwDc | Number | Maximum battery charge power in kW DC. Use with batteryNameplateDischargePowerKwDc when charge and discharge limits differ. Optional. |
storage.batteryNameplateDischargePowerKwDc | Number | Maximum battery discharge power in kW DC. Use with batteryNameplateChargePowerKwDc when charge and discharge limits differ. Optional. |
storage.batteryMinSoc | Number | Minimum state of charge as a fraction of total capacity. Optional. |
storage.batteryMaxSoc | Number | Maximum state of charge as a fraction of total capacity. Optional. |
storage.batteryInitialSoc | Number | Initial state of charge as a fraction of total capacity. Optional. |
storage.batteryDcCoupled | Boolean | Whether the battery is directly connected to the solar DC output. Optional. |
storage.allowBatteryToGrid | Boolean | Whether the battery can export energy to the grid. Optional. |
storage.allowGridToBattery | Boolean | Whether the battery can charge from the grid. Optional. |
storage.allowSolarToGrid | Boolean | Whether solar energy can export directly to the grid. Optional. |
storage.allowSolarToBattery | Boolean | Whether solar energy can charge the battery. Optional. |
storage.tariffPropertyInputs | Array | Tariff property inputs required by the selected tariff, such as eligibility or applicability values. Optional. |
For the full request model, storage profile workflow, dispatch strategy details, generated-profile behavior, and response notes, see Storage Profiles API.
Generated profiles
A successful request creates three post-storage profiles in the account:
| Suffix | Profile | Description |
|---|---|---|
-usage | Post-storage grid imports to site | Grid-to-site kWh after battery operation, excluding imports used only to charge the battery. |
-solar | Post-storage grid exports from solar | Solar-to-grid export kWh after self-consumption and battery charging. |
-storage | Grid imports and exports to and from the battery | Net grid imports and exports attributable to battery grid charging and battery exports. |
Example
{
"providerAccountId": "sins-example-jun23",
"providerProfileId": "sins-example-jun23-poststorage",
"fromDateTime": "2023-05-01T00:00:00-07:00",
"consumption": {
"providerProfileId": "sins-example-jun23-bills"
},
"solar": [
{
"providerProfileId": "sins-example-jun23-solar",
"dataFactor": 1.5
}
],
"storage": {
"mainTariffId": 3424821,
"dispatchStrategy": {
"optimize": true
},
"batteryNameplatePower": "3.0",
"batteryNameplateCapacity": "6.0",
"batteryMinSoc": "0.1",
"batteryMaxSoc": "1.0",
"batteryInitialSoc": "0.5",
"batteryDcCoupled": true,
"allowBatteryToGrid": true,
"allowGridToBattery": true,
"allowSolarToGrid": true,
"allowSolarToBattery": true
}
}Use the generated providerProfileId prefix, such as sins-example-jun23-poststorage, as the storageProviderProfileId value in a Storage-in-Switch Request Template.
A successful response creates three profiles that share the same providerProfileId prefix and use -usage, -solar, and -storage suffixes. Retrieve a generated profile with Get Storage Profile with profileId or Get Storage Profile with providerProfileId.
