---
title: "Record meter snapshots"
method: POST
path: "/leases/{lease_id}/condition-reports/{report_id}/meter-readings"
tags: ["Condition Reports"]
---

# Record meter snapshots

`POST /leases/{lease_id}/condition-reports/{report_id}/meter-readings`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/leases/{lease_id}/condition-reports/{report_id}/meter-readings`
- Auth: HTTP bearer

Record meter readings as dated snapshots. Does **not** update the current meter value:
uses the snapshot pattern to capture the state at the time of the condition report.

References existing `LeaseMeter` entities via `lease_meter_id`.

Only allowed when the report is in `DRAFT` status.

**Permissions required:** `leases:write`

## Path parameters

- `lease_id` string, uuid, required
- `report_id` string, uuid, required

## Request body

- object
  - `meters` MeterSnapshotInput[], required
    - `lease_meter_id` string, uuid, required: Reference to existing LeaseMeter
    - `reading_value` number, required
    - `photo_media_id` string, uuid, nullable: Media ID of meter reading photo (uploaded via POST /media/upload/condition_report/{id})
    - `notes` string, nullable

## Response `200`

Meter snapshots recorded

- MeterSnapshotResponse[]
  - `id` string, uuid
  - `lease_meter_id` string, uuid
  - `reading_value` number
  - `photo_media_id` string, uuid, nullable: Media ID of meter reading photo
  - `notes` string, nullable
  - `created_at` string, date-time

## Other responses

- `400`: Report is not in DRAFT status
- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
