2 Describing a Property
Fill in the details: description, area, characteristics, and other important information about your property
Why is this important?
A well-described property helps you keep track of all important details, makes it easier to prepare contracts and listings, and gives you a complete picture of your real estate portfolio.
Detailed description allows you to:
- Quickly find the right property by its characteristics
- Prepare rental listings with all necessary details
- Compare properties in your portfolio
- Keep all technical information about the property in one place
How to Edit a Property
Open any property from your list and click the "Edit" button. You will see a form with all available fields that you can fill in.
Go to "Properties" → select a property → click "Edit" in the top right corner.
For more details, see the Properties section in the Library.
Basic Information
Start by filling in the basic details. These fields are shown on the property card and in the list.
Additional Characteristics
Below the basic fields you will find the additional characteristics section. It contains detailed technical information, organized into groups. Fill in only what is relevant for your property type.
General information about the building: construction year, type, materials, number of floors, energy class.
Details about the unit: rooms, bathrooms, floor, balconies, condition, layout, window views.
Heating, hot water, gas, internet, air conditioning, ventilation and other utility systems.
Nearby facilities: elevators, distance to metro, school, kindergarten, shops, parks.
Parking options: type of parking, number of spaces, garage area.
For houses and land plots: area, purpose, category, soil type, fencing, distance to water and forest.
Additional information: furniture, stove type, maximum occupants.
For Developers: REST API
You can also update property details and characteristics via the REST API.
PUT Update Property
▶Update basic property fields: description, area, address details. Only send the fields you want to change.
PUT /api/v1/properties/{id}
Headers:
Authorization: Bearer {token}
Content-Type: application/json
Request Body:
{
"description": "Cozy 2-room apartment in the city center, 5th floor",
"living_area": 45.5,
"total_area": 68.0,
"apartment_number": "42"
}
Response (200 OK):
{
"message": "Property updated successfully",
"data": {
"id": 2,
"name": "My Apartment",
"description": "Cozy 2-room apartment in the city center, 5th floor",
"living_area": "45.50",
"total_area": "68.00"
}
}
GET Available Characteristic Codes
▶Before setting characteristics, get the list of available codes and their data types. Each code belongs to a group (building, apartment, utilities, etc.).
GET /api/v1/property-data-types/grouped
Response (200 OK):
{
"data": {
"building": [
{"code": "FLOOR_COUNT", "data_type": "int", "unit": null},
{"code": "YEAR_BUILT", "data_type": "int", "unit": null},
{"code": "BUILDING_TYPE", "data_type": "string", "unit": null}
],
"apartment": [
{"code": "ROOM_COUNT", "data_type": "int", "unit": null},
{"code": "FLOOR_NUMBER", "data_type": "int", "unit": null}
],
"utilities": [...],
"infrastructure": [...],
"parking": [...],
"land": [...]
},
"groups": ["building", "apartment", "utilities", ...]
}
To see the allowed values for a specific code (e.g. enum fields like BUILDING_TYPE), request its details:
GET /api/v1/property-data-types/BUILDING_TYPE
Response (200 OK):
{
"code": "BUILDING_TYPE",
"data_type": "string",
"group_code": "building",
"constraints": {
"allowedValues": ["panel", "brick", "monolith", "wood",
"block", "foam_block", "frame", "mixed", "other"]
}
}
PUT Update Characteristics
▶Use the batch endpoint to set multiple characteristics at once. Values are passed as code-value pairs.
PUT /api/v1/properties/{id}/data-values/batch
Request Body:
{
"values": {
"ROOM_COUNT": "3",
"FLOOR_NUMBER": "5",
"FLOOR_COUNT": "9",
"YEAR_BUILT": "2015",
"BUILDING_TYPE": "brick",
"HEATING_TYPE": "central",
"APARTMENT_CONDITION": "euro_repair",
"BATHROOM_COUNT": "1",
"BALCONY_COUNT": "1",
"ELEVATOR_COUNT": "2"
}
}
Response (200 OK):
{
"message": "Values updated successfully",
"updated": 10,
"removed": 0,
"errors": []
}
cURL Examples
▶1. Update Property
curl -X PUT https://landlordkeeper.com/api/v1/properties/2 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN_HERE" \
-d '{
"description": "Cozy 2-room apartment in the city center",
"living_area": 45.5,
"total_area": 68.0,
"apartment_number": "42"
}'
2. Update Characteristics
curl -X PUT https://landlordkeeper.com/api/v1/properties/2/data-values/batch \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN_HERE" \
-d '{
"values": {
"ROOM_COUNT": "3",
"FLOOR_NUMBER": "5",
"FLOOR_COUNT": "9",
"BUILDING_TYPE": "brick",
"HEATING_TYPE": "central"
}
}'