---
title: "Retrieve Design Summary"
method: GET
path: "/tenants/{tenant_id}/designs/{id}/summary"
tags: ["Designs"]
---

# Retrieve Design Summary

`GET /tenants/{tenant_id}/designs/{id}/summary`

Retrieve the summary of a design.

---

This action allows you to pass back Aurora design information into your own systems. You will likely call this endpoint after a user has modified a design within the Aurora application and intends to return back to the portal or primary application he/she originally came from (Salesforce, SugarCRM...).

The design summary contains a field called 'arrays'. The contents of the field is a JSON string containing details of the solar system designed. Each array is a group of solar modules that have the same roof face, module model, azimuth, pitch, orientation (portrait vs. landscape), MLPE (module level power electronics, such as microinverter or dc-optimizer) and which connect to the same MPPT within a string inverter. Example: let's assume you have a house with a simple gable roof ('A'-roof), where one side is south-facing and the other north. Furthermore, let's assume that that you install a 8kW system consisting of 32 x 250 Watt modules. 8 of them on the north-facing roof and 24 of them on the south-facing roof connecting to two different inverters. There would be 2 arrays in the design summary, one with "face = 1" and the other with "face = 2". Please note that the "face" IDs are not guaranteed to reflect the same directionality (i.E. face 1 is not guaranteed to be South), instead they are a way of grouping arrays located on the same roof face. The "face" IDs are not included in the layout DXF files.

Continuing the example above, connecting 8 of the 24 modules on the south-facing roof to microinverters, 8 to DC optimizers and stringing the remaining 8 to a central inverter would result in a total of 4 arrays in the design summary (one due to the roof face and 3 due to the usage of MLPE's and/or a central string inverter).

## Path parameters

- `tenant_id` string, uuid, required
- `id` string, uuid, required

## Response `200`

Design Summary successfully retrieved.

- object
  - `design` object
    - `design_id` string, uuid — Unique ID identifying the design.
    - `design_request_id` string, uuid — Unique ID identifying the design request the design was created from.
    - `external_provider_id` string — Unique ID of design provided by external provider.
    - `project_id` string, uuid — Unique ID identifying the project that this design belongs to.
    - `created_at` string — The timestamp of when the design was created, formatted as "YYYY-MM-DD HH:MM:SS UTC"
    - `bill_of_materials` object[] — Array containing bill of materials
      - `id` string, uuid — Unique ID identifying the component. Null if the component is not managed in Aurora's database (ex. generic components or externally-managed components).
      - `component_type` 'batteries' | 'cell_string_optimizers' | 'combiner_boxes' | 'dc_optimizers' | 'disconnects' | 'inverters' | 'load_centers' | 'meters' | 'microinverters' | 'modules' | 'racking_components' | 'service_panels' — Type of component.
      - `sku` string — Manufacturer specific SKU of the component. May be null for components managed by Aurora's database.
      - `name` string — Name of the component.
      - `manufacturer_name` string — Manufacturer name of the component.
      - `quantity` integer — The number of components used in the design.
    - `system_size_ac` number, double — Size of design in Watts (AC)
    - `system_size_ptc` number, double — Size of design in Watts (DC, PTC)
    - `system_size_stc` number, double — Size of design in Watts (DC, STC)
    - `arrays` object[] — List of PV arrays grouped by tilt, azimuth, inverter.
      - `size` number, double — DC array size in Watts
      - `azimuth` number, double — Azimuth in degrees between 0 (North) to 360
      - `configuration` 'string inverter' | 'microinverter' | 'dc optimizer' | 'no inverter/MLPE' — Configuration option.
      - `dc_optimizer` object — DC Optimizer
        - `id` string, uuid — Unique ID identifying the DC optimizer
        - `name` string — Component name of the DC optimizer
        - `count` integer — Number of DC Optimizers
      - `microinverter` object — Microinverter
        - `id` string, uuid — Unique ID identifying the microinverter
        - `name` string — Component name of the microinverter
        - `count` integer — Number of microinverters
        - `rated_power` number — Rated power of the microinverter in Watts
      - `module` object — Solar Panel
        - `id` string, uuid — Unique ID identifying the solar module
        - `rating_stc` number, double — STC rating of the module in Watts
        - `name` string — Component name of the solar module
        - `count` integer — Number of solar modules
        - `orientation` 'landscape' | 'portrait' — Orientation of the module.
      - `face` integer — Identifier of the roof face on the house in the 3D model (1-indexed, i.e. 1,2,3...). Arrays/modules placed outside of the roof outline, the face will be -1. The roof face gets recalculated when the 3D model changes, i.e. adding a roof may change a previously labeled roof face 1 into roof face 2.
      - `ground_mounted` boolean — True if the modules are mounted on the ground; false if they are mounted on a roof face.
      - `pitch` number, double — Pitch of the module in degrees between 0 to 90
      - `strings` object — Strings
        - `count` integer — Number of strings in the array
      - `string_inverter` object — Inverter
        - `index` integer — Index of string inverter below (1-indexed)
      - `shading` object — Shading values
        - `solar_access` object — Solar Access Percentage (SAP) values
          - `annual` number, double — Average annual SAP value
          - `monthly` number[] — Monthly SAP
        - `total_solar_resource_fraction` object
          - `annual` number, double — Average annual TSRF value
    - `string_inverters` object[] — List of string inverter.
      - `id` string, uuid — Unique ID identifying the string inverter.
      - `name` string — Component name of the string inverter.
      - `rated_power` number, double — Size of the string inverter in Watts.
    - `storage_inverters` object[] — List of inverters included in the storage design.
      - `id` string, uuid — Unique ID identifying the inverter.
      - `name` string — Component name of the inverter.
      - `rated_power` number, double — Size of the inverter in Watts.
    - `batteries` object[] — List of batteries included in the storage design.
      - `id` string, uuid — Unique ID identifying the battery.
      - `name` string — Component name of the battery.
      - `has_integrated_inverter` boolean — Describes whether the battery has an integrated inverter or not.
    - `energy_production` object — Energy production of the designed PV system in kWh. Data is only present if performance simulation has been run
      - `up_to_date` boolean — True if the performance simulation has been successfully run and the results are up-to-date, false otherwise.
      - `annual` number, double — Total annual energy production.
      - `annual_offset` string — Annual energy offset (percentage of address energy consumption covered by the design's energy production)
      - `monthly` number[] — Energy production broken down by month
      - `hourly` number[] — Energy production broken down by hour (8760 values)
      - `loss_summary` object[] — Ordered list of energy loss steps from the performance simulation. Each entry represents one stage in the loss waterfall — the energy or irradiance remaining after applying that loss. Entries must be processed in order; loss_percentage is computed relative to the immediately preceding entry. An empty array is returned when no performance simulation has been run. See the [System Loss Settings API](https://docs.aurorasolar.com/reference/retrievedesignsystemlosssettings) for the mapping between editable loss settings and these loss-summary stages.
        - `category` 'irradiance' | 'dc' | 'ac' | 'other' — The loss group this entry belongs to.
        - `name` string — Identifier for this loss step, as produced by the simulation engine.
        - `value` integer — Absolute irradiance or energy remaining at this step, rounded to the nearest integer.
        - `units` 'kWh/m²' | 'kWh' — Unit for the value field. kWh/m² for irradiance category entries (annual insolation); kWh for dc, ac, and other category entries.
        - `loss_percentage` number, double, nullable — Percentage loss relative to the immediately preceding entry's value, rounded to 1 decimal place (e.g. -2.0 means 2% loss). Null only for the very first irradiance entry and the very first dc entry (reference points on different scales). All other entries — including the first ac and first other entries — have a non-null loss_percentage.
      - `total_configured_loss_percentage` number, double, nullable — The cumulative loss from the user-configured derate inputs, displayed as "Estimated total loss" in Design Mode, as a percentage rounded to 1 decimal place (e.g. 8.6 means 8.6% total loss). Computed as a compound product of the configured per-loss derates (1 - Π(1 - lossᵢ)), not a simple sum. Excludes losses computed automatically by the simulation engine (e.g. the shading derate when the shading engine is enabled), so this value will differ from the full loss waterfall in loss_summary. Returns 0.0 when losses are configured but the computed net derate is zero (including when the shading engine excludes all applicable derates) — this is distinct from null, which means no performance simulation has been run or no system losses are configured.
    - `storage_selected_operating_mode` 'backup' | 'self_consumption' | 'energy_arbitrage' — How storage system performance is simulated. Affects avoided cost and financial analyses.
    - `backup_enabled` boolean, nullable — Whether backup functionality is enabled for the storage system. Only present if the design has a storage system.
    - `lidar_shading_enabled` boolean — Whether lidar-based shading is enabled for this design.
    - `lidar_has_areas_removed` boolean — Whether at least one area has been removed from Lidar on this design.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/aurorasolar/apis/sync-api.md) · [All operations](https://skmtc.net/aurorasolar/apis/sync-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aurorasolar/sync-api/versions/5b41808d104d/schema)
