---
title: "Create a meter reading"
method: POST
path: "/meter-readings"
tags: ["Usage"]
---

# Create a meter reading

`POST /meter-readings`

Submit a customer-reported analog meter reading for the active meter of a subscription.

## Request body

- object
  - `value` number, required — Cumulative meter value in kWh
  - `timestamp` string, date-time, required — Timestamp of the reading in UTC
  - `message` string — Optional message from the submitter
  - `subscription` string, required — The subscription the meter reading belongs to

## Response `200`

Meter reading accepted

- MeterReading
  - `object` 'meter_reading', required
  - `id` string, required — The unique identifier for the meter reading
  - `customer` string, required — The unique identifier for the customer
  - `subscription` string, required — The unique identifier for the subscription
  - `meter` string, required — The unique identifier for the meter
  - `value` number, required — The value of the meter reading
  - `timestamp` string, date-time, required — Timestamp get's always adjusted to the start of the day in Europe/Berlin
  - `type` 'customer_report' | 'grid_reading' | 'grid_estimation', required — The type of the meter reading
  - `created_at` string, date-time, required

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — The client must authenticate itself to get the requested response.
- `402` — A higher pricing plan is required to access the resource.
- `403` — The client does not have the necessary permissions to access the resource.
- `404` — The server can't find the requested resource.
- `405` — The request method is not allowed.
- `409` — The request could not be completed due to a conflict mainly due to unique constraints.
- `422` — The request was well-formed but was unable to be followed due to semantic errors.
- `429` — The client has sent too many requests.
- `500` — The server has encountered a situation it doesn't know how to handle.

---

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