Interval data availability
Interval data explained
Interval data is a snapshot of a customer's energy usage for a given time period. Data is provided in different granularities depending on the utility. Commonly provided granularities are 15 minute (usually the best case), hourly or daily intervals.
{
"first_interval_discovered": "2021-11-01T00:00:00Z",
"last_interval_discovered": "2022-11-01T00:00:00Z",
"granularities": [
15,
30
],
"meters": [
{
"id": 12345,
"intervals": [
{
"start": "2022-11-01T00:00:00Z",
"end": "2022-11-01T00:15:00Z",
"electricity_consumption": 20000,
"net_electricity_consumption": 15000,
"generated_electricity": 5000,
"electricity_demand": 5000,
"gas_consumption": 13.4
}
]
}
]
}
Initial data availability
While not all utilities provide intervals, after a customer connects their utility account, Bayou fetches all interval data available from the utility. After all fetched intervals are available, the intervals_ready webhook is sent.
Bayou only provides interval data in the API - it isn't available today in the dashboard which only has bill data.
For convenience within the webhook body, all interval data is categorized:
- first and last interval discovered
- available_data: Provides a hierarchical summary of the account numbers, meters and corresponding time periods from which interval data is available for the customer. Each meter also shows its type of service (electric or gas
{
"event": "intervals_ready",
"object": {
"customer_id": 12345,
"customer_external_id": "MSCOTT123",
"first_interval_discovered": "2022-11-01T00:00:00Z",
"last_interval_discovered": "2022-11-01T00:00:00Z",
"available_data": {
"account_numbers": [
{
"id": 123456,
"meters": [
{
"id": "XYZ12345",
"type": "gas",
"periods": [
{
"period_from": "2022-11-01T00:00:00Z",
"period_to": "2022-11-01T00:00:00Z"
}
]
}
]
}
]
}
Interval data updates
After initial connection, Bayou refreshes interval data for each customer in most cases hourly. Because we don't yet have a new_intervals webhook for this case, intervals can be refreshed by performing a new get intervals API call.
Updated 4 months ago