Home Property Setup Describing a Property

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.

Description Free-text description: location, features, condition
Living area Usable living space in m²
Total area Total area including all rooms in m²
Street Street name for a more precise address
Apartment Apartment or unit number
Color Color marker for quick visual identification 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.

Building

General information about the building: construction year, type, materials, number of floors, energy class.

Floors Year built Building type Wall material Energy class Ceiling height
Apartment / Unit

Details about the unit: rooms, bathrooms, floor, balconies, condition, layout, window views.

Rooms Bedrooms Bathrooms Floor Balconies Condition Layout
Utilities

Heating, hot water, gas, internet, air conditioning, ventilation and other utility systems.

Heating Hot water Gas Internet Air conditioning
Infrastructure

Nearby facilities: elevators, distance to metro, school, kindergarten, shops, parks.

Elevators Metro distance School Shops Parks
Parking

Parking options: type of parking, number of spaces, garage area.

Parking spaces Parking type Garage area
Land Plot

For houses and land plots: area, purpose, category, soil type, fencing, distance to water and forest.

Land area Purpose Soil type Fence
Other

Additional information: furniture, stove type, maximum occupants.

Furniture Stove type Max occupants
You don't have to fill in all characteristics at once. You can always return and add more details later.

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"] } }
For int/float types, the API returns input_hint with the valid range (e.g. "1 - 200"). For string types with enum values, it returns allowed_values array.

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" } }'
Replace YOUR_TOKEN_HERE with the JWT token from the authentication step.