HomeGuidesAPI ReferenceChangelog
Log In
API Reference

Savings Analysis History

Use Savings Analysis History to retrieve previously run Savings Analyses for an account and optionally include the original request payload.

Use Savings Analysis History to retrieve previously run Savings Analyses for an account and optionally include the original request payload.

You can run many Savings Analysis requests for a single account as customer configurations change over time. Use Savings Analysis History endpoints to retrieve previous results and inspect past analyses. For the full analysis workflow, see Analysis APIs.

Savings Analysis History can return results for analyses run after July 1, 2015. You can also include the Switch request that produced each result by setting populateRequest=true.

Data definitions

Savings analyses returned by the Savings Analysis History endpoints use the same request and response structure as the Savings Analysis Request and Savings Analysis Response.

Use savingsAnalysisId with accountId or providerAccountId to retrieve one saved result. Use populateRequest=true when you need to inspect the original request body that produced the result.

Get Savings Analyses

Retrieve a list of savings analyses for a particular account. Results are returned with the most recent analysis first.

Resource URI

GET /rest/v1/accounts/{accountId}/analyses
GET /rest/v1/accounts/pid/{providerAccountId}/analyses

Request parameters


NameTypeDescription
populateRequestBooleanWhen true, includes the original Savings Analysis request. Optional.
earliestCreatedDateDateTimeOnly retrieve analyses performed on or after earliestCreatedDate. Optional.
latestCreatedDateDateTimeOnly retrieve analyses performed on or before latestCreatedDate. Optional.

By default, results are sorted by createdDate in descending order, with the most recent analysis at the top of the list.

Example

GET /rest/v1/accounts/pid/api-eg-01/analyses?fields=min

The following abbreviated response shows the shape of a Savings Analysis history list:

{
  "status": "success",
  "count": 3,
  "type": "AccountAnalysis",
  "results": [
    {
      "savingsAnalysisId": "34eb2c30-cf83-4a84-b6b8-948e34a3c9f1",
      "createdDate": "2015-12-01T20:11:30+0000",
      "accountId": "012f31cd-7d85-422c-bcca-6147ba349495",
      "designId": null,
      "currency": "USD",
      "summary": {
        "preTotalCost": 1448.88,
        "lifetimeSolarCost": 10852.268,
        "netAvoidedCostPctOffset": 0.644,
        "netAvoidedKWh": 3378.78,
        "preTotalKWh": 6747.444735,
        "netAvoidedRate": 0.276153,
        "postTotalKWhRate": 0.1693245,
        "preTotalKWhRate": 0.22281943,
        "postTotalRate": 0.15312317,
        "preTotalMinCost": 53.9616,
        "netAvoidedKWhPctOffset": 0.5008,
        "lifetimeAvoidedCost": 13183.894,
        "postTotalKWh": 3368.66073585,
        "lifetimeWithoutCost": 40974.17,
        "postTotalMinCost": 53.9616,
        "postTotalCost": 515.82,
        "preTotalRate": 0.21473018,
        "preTotalNonMinCost": 1448.88176783,
        "preTotalKWhCost": 1503.46176783,
        "postTotalNonMinCost": 515.81677912,
        "postTotalKWhCost": 570.39677912,
        "lifeTimeUtilityAvoidedRate": 0.409,
        "netAvoidedCost": 933.06,
        "lifeTimeUtilityAfterCost": 16938.008
      },
      "scenarios": null
    },

    // More savings analyses omitted.

  ]
}

Get One Savings Analysis

Retrieve one savings analysis by accountId or providerAccountId and savingsAnalysisId.

Resource URI

GET /rest/v1/accounts/{accountId}/analyses/{savingsAnalysisId}
GET /rest/v1/accounts/pid/{providerAccountId}/analyses/{savingsAnalysisId}

Request parameters

NameTypeDescription
populateRequestBooleanWhen true, includes the original Savings Analysis request. Optional.

Example

GET /rest/v1/accounts/pid/api-eg-01/analyses/34eb2c30-cf83-4a84-b6b8-948e34a3c9f1
{
  "status": "success",
  "count": 1,
  "type": "AccountAnalysis",
  "results": [
    {
      "savingsAnalysisId": "34eb2c30-cf83-4a84-b6b8-948e34a3c9f1",
      "createdDate": "2015-12-01T20:11:30+0000",
      "accountId": "012f31cd-7d85-422c-bcca-6147ba349495",
      "designId": null,
      "currency": "USD",
      "summary": {
        "preTotalCost": 1448.88,
        "lifetimeSolarCost": 10852.268,
        "netAvoidedCostPctOffset": 0.644,
        "netAvoidedKWh": 3378.78,
        "preTotalKWh": 6747.444735,
        "netAvoidedRate": 0.276153,
        "postTotalKWhRate": 0.1693245,
        "preTotalKWhRate": 0.22281943,
        "postTotalRate": 0.15312317,
        "preTotalMinCost": 53.9616,
        "netAvoidedKWhPctOffset": 0.5008,
        "lifetimeAvoidedCost": 13183.894,
        "postTotalKWh": 3368.66073585,
        "lifetimeWithoutCost": 40974.17,
        "postTotalMinCost": 53.9616,
        "postTotalCost": 515.82,
        "preTotalRate": 0.21473018,
        "preTotalNonMinCost": 1448.88176783,
        "preTotalKWhCost": 1503.46176783,
        "postTotalNonMinCost": 515.81677912,
        "postTotalKWhCost": 570.39677912,
        "lifeTimeUtilityAvoidedRate": 0.409,
        "netAvoidedCost": 933.06,
        "lifeTimeUtilityAfterCost": 16938.008
      },
      "scenarios":null
    }]
}

Next steps

  1. Return to Analysis APIs to choose another analysis workflow.
  2. Use Savings Analysis to run a new forecasted savings calculation.
  3. Use Savings Analysis Request Templates to start from a complete request body.