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.

For convenience within the webhook body, all interval data is categorized:

  1. first and last interval discovered
  2. 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.