---
title: "Update Property"
method: PATCH
path: "/api/properties/{property_id}"
tags: ["Properties"]
---

# Update Property

`PATCH /api/properties/{property_id}`

## Request

- Base URL: `https://api.earmarkiq.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.earmarkiq.app/api/properties/{property_id}`
- Auth: HTTP bearer

Edit nickname, purchase price, mortgage balance, postcode, UPRN, or
the manual value override. A postcode change re-resolves the location
and re-warms the index cache; a UPRN change attempts a PMI valuation
when entitled.

## Path parameters

- `property_id` string, uuid, required

## Request body

- PropertyUpdate
  - `nickname` string, nullable
  - `postcode` string, nullable
  - `purchase_price` union
    - number
    - string
  - `mortgage_balance` union
    - number
    - string
  - `uprn` string, nullable
  - `manual_value` union
    - number
    - string
  - `clear_manual_value` boolean

## Response `200`

Successful Response

- PropertyResponse
  - `id` string, required
  - `nickname` string, nullable, required
  - `postcode` string, required
  - `admin_district` string, nullable, required
  - `region` string, nullable, required
  - `property_type` string, required
  - `purchase_price` number, required
  - `purchase_month` string, required
  - `mortgage_balance` number, nullable, required
  - `estimated_value` number, nullable, required
  - `equity` number, nullable, required
  - `index_month_used` string, nullable, required
  - `location_level_used` string, nullable, required
  - `is_active` boolean, required
  - `created_at` string, required
  - `attribution` string, required
  - `valuation_source` string, nullable
  - `valuation_date` string, nullable
  - `valuation_confidence` string, nullable
  - `valuation_lower_bound` string, nullable
  - `valuation_upper_bound` string, nullable
  - `manual_value` number, nullable
  - `uprn` string, nullable
  - `value_label` string, nullable
  - `needs_value` boolean
  - `pmi_verdict` string, nullable
  - `pmi_rejected_reason` string, nullable
  - `pmi_checked_at` string, nullable
  - `pmi_estimate_seen` number, nullable
  - `pmi_estimate_confidence` string, nullable
  - `pmi_estimate_lower_bound` number, nullable
  - `pmi_estimate_upper_bound` number, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/earmarkiq/apis/earmark-api.md) · [All operations](https://skmtc.dev/earmarkiq/apis/earmark-api/llms.txt) · [OpenAPI document](https://skmtc.dev/earmarkiq/apis/earmark-api/revisions/4a2c41907105?raw)
