HomeGuidesAPI ReferenceChangelog
Log In
API Reference

Calculate Multiple Scenarios

Run multiple on-demand calculation scenarios in one request.

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

Use this endpoint to run multiple on-demand calculation scenarios in one request.

triangle-exclamation

The Mass Calculation endpoint is only available under special circumstances to Enterprise customers using Signal.

When to use this endpoint

Use POST /rest/v1/ondemand/calculate/mass when you need to:

  • Compare costs across multiple tariffs.
  • Run multiple scenarios using the same date range and shared inputs.
  • Compare tariff, property input, usage, or rate input changes across scenarios.
  • Return calculation results keyed by scenario name.

Required inputs

ParameterTypeDescription
fromDateTimeDateTimeStarting date and time for the request.
toDateTimeDateTimeEnding date and time for the request.
scenariosList of CalculationScenarioIndividual calculation scenarios to run.

Common optional inputs

ParameterTypeDescription
sharedScenarioCalculationScenarioInputs shared across all calculations unless overridden in an individual scenario.
detailLevelEnumerationControls the level of detail returned in calculation results. Defaults to ALL.
groupByEnumerationControls how calculation details are grouped. Defaults to the natural grouping for the rates.
billingPeriodBooleanSet to true when the calculation dates represent an actual billing cycle. Defaults to true.
applyUtilityTaxBooleanAttempts to apply utility tax when an address is provided.
addressAddressSpecifies the location used to apply utility tax. Required when applyUtilityTax is true.
minimumsBooleanEnables enforcing minimum charges.
excludeChargeClassStringExcludes one or more charge classes from the calculation results.
tariffEffectiveOnDateTimeUses the tariff version active on the specified date.

Scenario inputs

ParameterTypeDescription
masterTariffIdIntegerArcadia ID of the tariff used for this scenario.
scenarioNameStringUser-provided identifier for the scenario. Defaults to a simple index if omitted.
propertyInputsArray of PropertyDataUsage data, demand values, applicability criteria, or other calculation inputs for this scenario.
rateInputsArray of TariffRateCustom rates supplied for this scenario.

Related endpoints

Body Params
date
required
Defaults to 2022-07-13T00:00:00-07:00

Starting date and time for this request.

date
required
Defaults to 2022-08-11T00:00:00-07:00

End date and time for this request.

string
enum
Defaults to ALL

Toggles the level of details for the calculation result.

Allowed:
scenarios
array of objects
required

A list of the scenarios to calculate. A user-provided identifier for this calculation. If provided, it will be used to identify the scenario in the calculation results. Defaults to a simple index. Format example: "scenarios": [{ "scenarioName": "E-1", "masterTariffId": 522 }, { "scenarioName": "E-6-TOU", "masterTariffId": 525 }, { "scenarioName": "E-6-TOU-SmartRate", "masterTariffId": 525, "propertyInputs": [{ "keyName": "isSmartRateCustomer", "dataValue": true }]

scenarios*
sharedScenario
object

A single scenario, the values for which will be shared among all calculations. Example: "sharedScenario": { "propertyInputs": [{ "keyName": "consumption", "dataValue": 1000 }]

string
enum

This controls how the calculation details are grouped. Examples (Defaults to the natural grouping for the rates)

Allowed:
address
object

Specifies the location in which to apply a utility tax. (Required if applyUtilityTax = true)

boolean
Defaults to true

A true or false flag. If the dates of the calculation represent an actual billing cycle, then you should set this to true. This will give you precise values for items like fixed charges. When it’s not set, or set to false, these charges will be prorated across the number of days in the calculation.

boolean

When true, the calculation attempts to apply a utility tax to the provided address. (Default = true when address provided, else false)

boolean

This field enables enforcing minimum charges on this calculation.

excludeChargeClass
array of strings

Specifies a charge class to exclude from the calculation results. Available options are TRANSMISSION, DISTRIBUTION, SUPPLY, TAX, CONTRACTED, USER_ADJUSTED, AFTER_TAX, and OTHER.

excludeChargeClass
date

Use the version of the tariff that was active on the given date. By default the calculation uses the tariff version(s) effective between fromDateTime and toDateTime.

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