---
title: "consumption_meter_readings"
method: GET
path: "/api/v4/systems/{system_id}/consumption_meter_readings"
tags: ["Site Level Consumption Monitoring"]
---

# consumption_meter_readings

`GET /api/v4/systems/{system_id}/consumption_meter_readings`

## Request

- Base URL: `https://api-qa2.enphaseenergy.com`
- URL: `https://api-qa2.enphaseenergy.com/api/v4/systems/{system_id}/consumption_meter_readings`
- Auth: none declared
- TypeScript: <https://skmtc.dev/enphase/apis/monitoring-api/docs/api/v4/systems/:system_id/consumption_meter_readings/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the last known reading of each consumption meter on the system as of the requested time, regardless of whether the meter is currently in service or retired. Read_at is the time at which the reading was taken, and is always less than or equal to the requested end_at. Commonly, the reading will be within 30 minutes of the requested end_at. However, larger deltas can occur and do not necessarily mean there is a problem with the meter or the system. Systems that are configured to report infrequently can show large deltas on all meters, especially when end_at is close to the current time. Meters that have been retired from a system will show an end_at that doesn’t change, and that eventually is far away from the current time.

## Path parameters

- `system_id` integer, required

## Query parameters

- `end_at` integer

## Response `200`

consumption_meter_readings

- object
  - `system_id` integer: System id
  - `meter_readings` object[]: Consumption Meter Readings
    - `serial_num` string: the serial number of the meter
    - `value` integer: the meter reading, in Wh
    - `read_at` integer: the time when the reading was taken, always prior or equal to the requested 'end_at'
  - `meta` object: Information about the system such as its status, when it became operational and last reported to Envoy.
    - `status` string: System's status. Corresponding Enlighten values can be found in table added at the end of page.
    - `last_report_at` integer: Timestamp (in epoch format) at which the system's Envoy last submitted a report
    - `last_energy_at` integer: Timestamp (in epoch format) at which the systems's produced energy was last reported. Even if the last produced energy is 0, its timestamp will be returned.
    - `operational_at` integer: Timestamp (in epoch format) at which this system became operational. Corresponds to the system’s interconnect time, if one is specified. Otherwise, it is the system’s first reported interval end time.

## Other responses

- `401`: Authentication Error
- `403`: Forbidden
- `404`: Not Found
- `405`: Method Not Allowed
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `501`: Not Implemented

## Changes

- **2026-11-06** `a783ff728669`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/enphase/apis/monitoring-api/changes/api/v4/systems/:system_id/consumption_meter_readings/get.md)

---

[API](https://skmtc.dev/enphase/apis/monitoring-api.md) - [All operations](https://skmtc.dev/enphase/apis/monitoring-api/llms.txt) - [OpenAPI document](https://skmtc.dev/enphase/apis/monitoring-api/revisions/a783ff728669?raw)
