Use Profile APIs to store profile data series, retrieve profile data, and model storage-adjusted profiles for an account.
Use Profile APIs to store profile data series, retrieve profile data, and model storage-adjusted profiles for an account.
A profile organizes one or more data series for an account. This data can include electricity consumption in kWh, demand in kW, solar production, modeled baseline data, or post-storage usage.
Profiles belong to an Account object. It is typical, but not required, to have at least one profile per account. If you are choosing between API families, see Getting Started.
Data definitions
Profile
A Profile stores usage, demand, solar production, or modeled baseline data for an account. Use the Arcadia-generated profileId or your own providerProfileId to retrieve, update, or delete profile data.
| Field | Type | Description |
|---|---|---|
profileId | String | Arcadia-generated unique ID for the profile. |
providerProfileId | String | Your unique profile identifier, when provided. |
accountId | String | Arcadia-generated account ID for the account that owns the profile. |
providerAccountId | String | Your account identifier for the account that owns the profile. |
serviceTypes | String | Service type for the profile, such as ELECTRICITY or SOLAR_PV. |
readingData | Array | Usage, demand, or production readings stored on the profile. |
baselineMeasures | Array | Modeled generic-year values, commonly used for solar production profiles. |
The Profile object has a header with key identifiers and metadata, including the Arcadia-generated profileId, your providerProfileId, the profile name, serviceTypes, and other properties. It also includes usage summaries and the input data points.
Profile inputs can be bills or readings. Readings are commonly from electricity metering and often use uniform durations, such as 15-minute or hourly intervals. Readings can also be irregular, such as billing cycles or measurements that do not occur at regular times. A reading can represent an interval or a specific point in time.
Profiles also include a ReadingSummary object for each series. The summary includes the number of readings, the date and time range for the series, and other useful summary values.
Add reading data
Choose the reading-data method based on how much data you need to send and how the source data is structured:
- Real Time Interval API: Use this approach when adding one or a small number of intervals. It is optimized for real-time feeds, such as sending updates every 15 minutes or hour.
- Reading API: Use this approach when programmatically sending irregular readings. It is designed for data that does not fit into uniform intervals.
- Bulk loading with file upload: Use file upload when batch uploading hundreds or thousands of intervals or readings from a CSV file.
How these APIs fit together
- Create or identify the Account that owns the profile.
- Use Profiles API to create a profile shell, upload readings, retrieve profile data, or delete profile data.
- Use Storage Profile API when you need to model battery storage behavior and generate post-storage profiles.
- Use generated profile data in Account Cost Calculation API or Analysis APIs when calculating bills, projections, or savings.
