Skip to main content
PATCH
Update a property

Overview

Partially updates a property record by its Ask Wire id. Only the fields included in the request body are changed; omitted fields are left as-is. Send the request as application/json. To attach or replace supporting documents, use the asset files endpoints instead of this one.
notes must be valid HTML (e.g. <p>your text</p>), not plain text. Sending plain text in notes currently fails with 500 {"error": "Asset update failed"} on this endpoint — Create a property rejects the same input more correctly, with 400 {"notes": ["Content must be valid HTML."]}. Wrapping the value in an HTML tag updates successfully here. Every other field verified below updates successfully regardless of format.
Sending an explicit null for a field does not clear it — the field keeps its previous value. There is currently no verified way to clear a field via this endpoint.

Path parameters


Request

Body (application/json)

Accepts the same fields as Create a property (except purpose, see below), all optional — include only the fields you want to change.

Core fields

purpose is not accepted on this endpoint — it’s set on create and isn’t changed via update. It’s still returned in the response below.

Location

address, latitude, longitude, property_type, price, and floor_number were verified against a live PATCH response. Per the backend’s own schema, municipality is not a writable field — region, regional_unit, and neighborhood (plain integer IDs) are what the endpoint actually accepts for geography.

Classification


Property details

property_type is the only field below with a server-enforced enum, verified against the backend’s own schema. property_usage, heating_type, energy_class, condition, and view are free-text strings (up to 255 characters) as far as the API is concerned — the values listed for them are conventions used by the Ask Wire web app, not constraints the API enforces.

Cadastral details

sheet_number, plan_number, parcel_block_number, parcel_number, and block_number are not fields on this endpoint — per the backend schema, only the fields below are accepted here. Those other identifiers belong to a separate Cyprus cadastral-search lookup flow in the app, not to asset updates.

Example request


Response

Returns the full, updated asset record. Verified against a live response — field set and shapes below are accurate as observed, not assumed.

Response fields

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
integer
required

Body

application/json
property_type
enum<string>
required
Available options:
Apartment,
House,
Field,
Plot,
Warehouse,
Shop,
Office,
Storage,
Retail,
Right to Build,
Parking space,
Other
portfolio
string | null
ref_asset_id
string | null
reference_id
string | null
notes
string | null

Must be valid HTML, e.g.

text

.

address
string | null
latitude
number | null
longitude
number | null
district
string | null

Free-text district name.

zone_name
string | null
country
enum<string>
Available options:
greece,
cyprus
region
integer | null
regional_unit
integer | null
neighborhood
integer | null
listing_type
enum<string> | null
Available options:
rent,
sale,
sold,
listing_status
enum<string> | null
Available options:
active,
inactive,
property_usage
string | null

Free text, not a server-enforced enum.

price
string<decimal> | null
sales_price
string<decimal> | null
build_area
number | null
land_area
number | null
basement_area
number | null
covered_veranda_area
number | null
uncovered_veranda_area
number | null
construction_year
integer | null
renovated
boolean | null
renovation_year
integer | null
building_floor_count
integer | null
floor_number
integer | null
number_of_bedrooms
integer | null
number_of_bathrooms
integer | null
parking_space
integer | null
has_parking_space
boolean | null
storage_space
integer | null
heating_type
string | null

Free text, not a server-enforced enum.

cooling_type
string | null
energy_class
string | null

Free text, not a server-enforced enum.

condition
string | null

Free text, not a server-enforced enum.

view
string | null

Free text, not a server-enforced enum.

right_of_ownership
string | null
description
string | null
seller
string | null
owner
string | null
auction
boolean
road_access
boolean
garden
boolean | null
swimming_pool
boolean | null
building_coefficient
number | null
coverage_ratio
number | null
parcel_id
string | null
Maximum string length: 30
registration_number
string | null
registration_block
string | null
registration_codes
object[] | null

Response

The updated property

A manually managed property record, as returned by create, retrieve, and update. Verified against live responses.

id
integer
ref_asset_id
string | null
reference_id
string | null
municipality
object | null
municipal_unit
object | null
region
integer | null
regional_unit
integer | null
neighborhood
integer | null
marketability_report_id
integer | null
marketability_report_status
string | null
marketability_report_task_id
integer | null
marketability_report_task_status
string | null
marketability_report_task_approved_at
string<date-time> | null
marketability_report_reference
string | null
adjusted_price_sqm
number | null
files
any[]
sub_assets
any[]
registration_codes
object[]
deleted
boolean
notes
string | null

HTML content.

created_at
string<date-time>
modified_at
string<date-time>
listing_type
enum<string> | null
Available options:
rent,
sale,
sold,
title
string | null
url
string | null
images
string | null
source
string | null
eauction_code
string | null
price
string | null

Decimal string, e.g. "150000.0000".

sales_price
string | null
price_per_sqm
string | null
auction
boolean
auction_status
string | null
auction_kind
string | null
auction_notice_date
string<date-time> | null
auction_conduct_date
string<date-time> | null
address
string | null
country
enum<string>
Available options:
greece,
cyprus
district
string | null
zone_name
string | null
client_id
string | null
client_name
string | null
owner
string | null
seller
string | null
latitude
number | null
longitude
number | null
property_type
enum<string> | null
Available options:
Apartment,
House,
Field,
Plot,
Warehouse,
Shop,
Office,
Storage,
Retail,
Right to Build,
Parking space,
Other
property_usage
enum<string> | null
Available options:
residential,
commercial,
mixed
portfolio
string | null
purpose
string | null
build_area
number | null
land_area
number | null
basement_area
number | null
covered_veranda_area
number | null
uncovered_veranda_area
number | null
construction_year
integer | null
renovated
boolean | null
renovation_year
integer | null
building_floor_count
integer | null
floor_number
integer | null
parking_space
integer | null
has_parking_space
boolean | null
storage_space
integer | null
garden
boolean | null
swimming_pool
boolean | null
road_access
boolean | null
heating_type
string | null
cooling_type
string | null
energy_class
string | null
condition
string | null
view
string | null
right_of_ownership
string | null
description
string | null
overview
string | null
map_url
string | null
coverage_ratio
number | null
building_coefficient
number | null
registration_number
string | null
registration_block
string | null
parcel_id
string | null
listing_status
enum<string> | null
Available options:
active,
inactive,
share_on_sale
string | null
number_of_bedrooms
integer | null
number_of_bathrooms
integer | null