HomeGuidesAPI ReferenceChangelog
Log In
API Reference

Savings Analysis Property Inputs

Use common propertyInputs patterns to structure Savings Analysis requests for usage profiles, typical baselines, solar production, and storage optimization.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Use common propertyInputs patterns to structure Savings Analysis requests for usage profiles, typical baselines, solar production, and storage optimization.

Each propertyInputs object identifies an input with keyName, supplies its value with dataValue, and usually specifies the scenario or scenarios where the input applies with scenarios.

For the full request model, response model, and examples, see Savings Analysis. For the full analysis workflow, see Analysis APIs.

Resource URI

POST /rest/v1/accounts/analysis

Common request body fields

FieldTypeDescription
accountIdStringArcadia-generated account ID. Pass either accountId or providerAccountId. Optional.
providerAccountIdStringYour account ID. Pass either accountId or providerAccountId. Optional.
fromDateTimeDateTimeStart of the analysis. Set this to the first day of the month to return 12 monthly values for the first-year series. Required.
propertyInputsArrayScenario inputs for usage profiles, typical baselines, solar production, storage optimization, rate inflation, degradation, and other assumptions. Optional.
rateInputsArrayCustom tariff rates for the analysis, such as lease rates, PPA rates, or special tax rates. Optional.
populateCostsBooleanWhen true, includes a more detailed breakdown of first-year calculation results. Defaults to false. Optional.
tariffEffectiveOnDateUse one specific tariff version for the analysis. Optional.
autoBaselineBooleanEnables intelligent baselining. Defaults to true. Optional.
useIntelligentBaseliningBooleanControls interpolation and extrapolation when intelligent baselining is enabled. Optional.
batteryDegradationObjectBattery degradation settings for savings projections from year two onward. Optional.

Common propertyInputs objects

User-created profile by profileId

Use profileId when you want to reference a profile by its Arcadia-generated UUID.

{
    "keyName": "profileId",
    "dataValue": "676065b0fead7732016d4f85"
}

User-created profile by providerProfileId

Use providerProfileId when you want to reference a profile by your own custom identifier.

{
    "keyName": "providerProfileId",
    "dataValue": "site-194853-usage-2025"
}

Arcadia usage typical baseline by baselineType

Use typicalElectricity when you want Switch to use Arcadia Typical Baseline data for electricity usage.

{
    "keyName": "baselineType",
    "dataType": "STRING",
    "dataValue": "typicalElectricity",
    "scenarios": "before,after"
}

Arcadia solar production typical baseline by baselineType

Use typicalSolarPv when you want Switch to use Arcadia Typical Baseline data for solar production. The operator is commonly set to - when solar production offsets after-solar utility consumption.

{
    "keyName": "baselineType",
    "dataType": "STRING",
    "dataValue": "typicalSolarPv",
    "scenarios": "after,solar",
    "operator": "-"
}

Arcadia storage optimization profile by storageProviderProfileId

Use storageProviderProfileId to reference the generated profile set from the Storage Profile endpoint. This value maps to the generated -usage, -solar, and -storage profiles.

{
    "keyName": "storageProviderProfileId",
    "dataValue": "sins-example-storage-ppid-2025",
    "scenarios": "after,solar"
}
circle-info

Your scenarios and operator values may differ from these examples depending on the analysis type. Use these snippets as request-structure guidance, then confirm scenario behavior in Savings Analysis.

Next steps

  1. Return to Analysis APIs to choose another analysis workflow.
  2. Use Savings Analysis Request Templates to start from a complete request body.
  3. Use Savings Analysis to review the full request and response model.
Body Params
string

The Arcadia-generated ID of the account for which you want to do the savings analysis. Note you must pass either accountId or providerAccountId.

string

The alternative ID of the account for which you want to do the savings analysis. Note you must pass either accountId or providerAccountId.

date-time
required

Indicates the start of your analysis and should align with when you expect the system to interconnect (1-6 months in the future, typically). This setting affects the version of the account’s tariffs that are in effect during the first year of the analysis. The fromDateTime must be set to the first day of the month in order to return 12 monthly values for the first year series.

propertyInputs
array of objects

The parameters for the analysis. There are many different options available.

propertyInputs
rateInputs
array of objects

Custom tariffs for this analysis. You can use this to define lease rates, PPA rates, or special tax rates. Make sure to set the scenario property so that your rate is applied correctly.

rateInputs
boolean
Defaults to false

If set to true, your results will contain an even more detailed breakdown of the first year of results for this calculation.

date

This field enables doing a calculation with a single, specified version of a given tariff. For example, if the user specifies that they want to use the 2016-01-01 version of PG&E’s E-1 tariff, any calculation, whether it’s for 2013, 2015, or 2016, would use the rate data from that version and only that version of the tariff.

boolean
Defaults to true

Use this field to disable intelligent baselining in the usual case where you don’t want it.

boolean

This field works in conjunction with autoBaseline (above) and determines how to interpolate and extrapolate usage data when that is set to true. Read intelligent baselining for details.

batteryDegradation
object

Percentage degradation from year 2 onwards in your savings analysis projections.

Responses

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json