---
title: "Update condition report metadata"
method: PUT
path: "/leases/{lease_id}/condition-reports/{report_id}"
tags: ["Condition Reports"]
---

# Update condition report metadata

`PUT /leases/{lease_id}/condition-reports/{report_id}`

## Request

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

Update metadata of a condition report. Only allowed when status is `DRAFT`.

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

## Path parameters

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

## Request body

- object
  - `report_date` string, date
  - `conducted_by` string
  - `conducted_by_type` 'OWNER' | 'AGENT' | 'BAILIFF'
  - `general_notes` string, nullable

## Response `200`

Updated condition report

- ConditionReportResponse
  - `id` string, uuid
  - `lease_id` string, uuid
  - `report_type` 'ENTRY' | 'EXIT'
  - `report_date` string, date
  - `status` 'DRAFT' | 'COMPLETED' | 'SIGNED' | 'DISPUTED'
  - `conducted_by` string
  - `conducted_by_type` 'OWNER' | 'AGENT' | 'BAILIFF'
  - `general_notes` string, nullable
  - `document_url` string, nullable: Filled PDF URL (from generate-pdf)
  - `document_signature_id` string, uuid, nullable: FK to document_signatures (from initiate-signature)
  - `signed_document_url` string, nullable: Signed PDF URL (from finalize-signature)
  - `rooms` RoomConditionResponse[]
    - `id` string, uuid
    - `room_id` string, uuid
    - `general_notes` string, nullable
    - `elements` ElementConditionResponse[]
      - `id` string, uuid
      - `element_type` 'FLOOR' | 'WALL' | 'CEILING' | 'DOOR' | 'WINDOW' | 'ELECTRICAL' | 'PLUMBING' | 'HEATING'
      - `condition` 'EXCELLENT' | 'GOOD' | 'FAIR' | 'POOR' | 'DAMAGED' | 'NEEDS_REPAIR' | 'BROKEN' | 'MISSING': Reuses existing InventoryConditionStatus enum (8 states)
      - `comment` string, nullable
      - `photos` string[]: Media IDs (uploaded via POST /media/upload/condition_report/{id}). Resolve URLs via GET /media/serve/{media_id}
      - `wear_coefficient` number, nullable: Wear coefficient (0.0–1.0) per décret 2016-1104
      - `created_at` string, date-time
      - `updated_at` string, date-time
    - `created_at` string, date-time
    - `updated_at` string, date-time
  - `meters` 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
  - `keys` KeySnapshotResponse[]
    - `id` string, uuid
    - `estate_key_id` string, uuid
    - `quantity_delivered` integer
    - `condition_notes` string, nullable
    - `created_at` string, date-time
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400`: Report is not in DRAFT status
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Condition report not found

---

[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)
