{"openapi":"3.1.0","info":{"title":"Casafari API","description":"The Casafari API provides clients with methods for manipulating alerts feeds, accounts, and consulting a reference\nof available locations, features and conditions.","version":"0.1.0"},"servers":[{"url":"https://api.casafari.com"}],"paths":{"/login":{"post":{"tags":["user-management---authentication"],"summary":"Login","operationId":"user-management__post__login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserManagementLoginRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserManagementJWTTokenResponseSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserManagementHTTPValidationError"}}}}}}},"/refresh-token":{"get":{"tags":["user-management---authentication"],"summary":"Refresh Token","operationId":"user-management__get__refresh-token","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserManagementJWTRefreshTokenResponseSchema"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/types":{"get":{"tags":["api---references"],"summary":"Get types (v1)","description":"Returns a list of all possible estate types.","operationId":"api__get__v1__references__types","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiTypesV1"},"type":"array"},"examples":{"0":{"value":{"types":[{"group":"apartment","names":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung"]},{"group":"house","names":["country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe"]},{"group":"investment","names":["retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt"]},{"group":"plot","names":["urban_plot","rural_plot"]},{"group":"room","names":["room"]},{"group":"other","names":["other","garage","parking"]},{"group":"building","names":["apartment_building","office_building","mix_use_building"]}],"types_with_countries":[{"name":"apartment","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"studio","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"duplex","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE"]},{"name":"penthouse","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","UAE"]},{"name":"dachgeschosswohnung","countries":["Germany"]},{"name":"etagenwohnung","countries":["Germany"]},{"name":"erdgeschosswohnung","countries":["Germany"]},{"name":"country_house","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE"]},{"name":"house","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"palace","countries":["Portugal","Spain","France","Italy","Switzerland","Austria"]},{"name":"townhouse","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","UAE","Poland"]},{"name":"villa","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE"]},{"name":"country_estate","countries":["Portugal","Spain","France","Italy","Switzerland","Austria"]},{"name":"chalet","countries":["Portugal","Spain","France","Italy","Switzerland","Austria"]},{"name":"bungalow","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece"]},{"name":"reihenhaus","countries":["Germany"]},{"name":"reihenendhaus","countries":["Germany"]},{"name":"reihenmittelhaus","countries":["Germany"]},{"name":"einfamilienhaus","countries":["Germany"]},{"name":"zweifamilienhaus","countries":["Germany"]},{"name":"landwirtschaftliche_betriebe","countries":["Germany"]},{"name":"retail","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"office","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"industrial","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE"]},{"name":"warehouse","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"hotel","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"other_commercial","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"restaurant","countries":["Germany","UAE","Poland"]},{"name":"werkstatt","countries":["Germany"]},{"name":"urban_plot","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"rural_plot","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"room","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","UAE","Poland"]},{"name":"other","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]},{"name":"garage","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Poland"]},{"name":"parking","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece"]},{"name":"apartment_building","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE"]},{"name":"office_building","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","UAE","Poland"]},{"name":"mix_use_building","countries":["Portugal","Spain","France","Italy","Switzerland","Austria","Germany","Greece","UAE","Poland"]}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/features":{"get":{"tags":["api---references"],"summary":"Get features (v1)","description":"Returns a list of all possible property features.","operationId":"api__get__v1__references__features","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiFeaturesV1"},"type":"array"},"examples":{"0":{"value":{"features":[{"group":"floor","names":["no_floor","ground","middle","top"]},{"group":"orientation","names":["exterior","interior"]},{"group":"views","names":["water","landscape","city","golf","park"]},{"group":"directions","names":["north","south","east","west"]},{"group":"characteristics","names":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/locations/by-coordinates":{"get":{"tags":["api---references"],"summary":"Get location by passed coordinates (v1)","description":"Returns a location for the given coordinates with user restrictions.","operationId":"api__get__v1__references__locations__by-coordinates","parameters":[{"description":"The latitude coordinate.","required":true,"schema":{"type":"number","maximum":90.0,"minimum":-90.0},"name":"latitude","in":"query"},{"description":"The longitude coordinate.","required":true,"schema":{"type":"number","maximum":180.0,"minimum":-180.0},"name":"longitude","in":"query"},{"description":"Language to use for the location names in the response. (When the provided language is not supported, the results will be returned in English.)","required":false,"schema":{"type":"string"},"name":"lang","in":"query"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiReferenceLocationV1"},"examples":{"0":{"value":{"location_id":1615,"name":"São Gonçalo de Lagos","parent_id":1611,"administrative_level":"Freguesia","locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"País","zip_codes":[],"level":1},{"location_id":1597,"name":"Faro","administrative_level":"Distrito","zip_codes":[],"level":2},{"location_id":1611,"name":"Lagos","administrative_level":"Concelho","zip_codes":[],"level":3},{"location_id":1615,"name":"São Gonçalo de Lagos","administrative_level":"Freguesia","zip_codes":["8600-532","8600-302","8600-537"],"level":4}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/conditions":{"get":{"tags":["api---references"],"summary":"Get conditions (v1)","description":"Returns a list of all possible estate conditions.","operationId":"api__get__v1__references__conditions","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiConditionsV1"},"type":"array"},"examples":{"0":{"value":{"conditions":["used","ruin","very-good","new","other"]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/agencies":{"get":{"tags":["api---references"],"summary":"Get agencies (v1)","description":"Returns a list of all possible agencies with user restrictions.","operationId":"api__get__v1__references__agencies","parameters":[{"description":"A name of the agency to search.","required":true,"schema":{"type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiAgenciesV1"},"type":"array"},"examples":{"0":{"value":{"agencies":[{"name":"ComprarCasa Guimarães & Guimarães Centro","agency_type":"company","source_ids":[1616,2492]},{"name":"ComprarCasa Setúbal Estádio","agency_type":"company","source_ids":[1616]}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/agents":{"get":{"tags":["api---references"],"summary":"Get agents (v1)","description":"Returns a list of all possible agents with user restrictions.","operationId":"api__get__v1__references__agents","parameters":[{"description":"A name of the agent to search.","required":true,"schema":{"type":"string"},"name":"name","in":"query"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiAgentsV1"},"type":"array"},"examples":{"0":{"value":{"agents":["Paulo Diogo","Paulo Costa"]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/sources":{"get":{"tags":["api---references"],"summary":"Get sources (v1)","description":"Returns a list of all domains for the requested location.","operationId":"api__get__v1__references__sources","parameters":[{"description":"The location ID to search sources for.","required":true,"schema":{"type":"integer"},"name":"locationId","in":"query"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiSourcesV1"},"type":"array"},"examples":{"0":{"value":{"domains":["barnes-portugal.com"]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listing-alerts/feeds":{"get":{"tags":["api---alerts"],"summary":"Get feeds list (v1)","description":"Returns all alerts feeds for currently authenticated user.","operationId":"api__get__v1__listing-alerts__feeds","parameters":[{"description":"Whether to include information about feed filters in the response.","required":false,"schema":{"type":"boolean"},"name":"filter","in":"query"},{"description":"Indicates if manager user wants to see only own feeds.","required":false,"schema":{"type":"boolean"},"name":"only_self","in":"query"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiAlertsFeedV1"},"type":"array"},"examples":{"0":{"value":[{"id":887,"user":"user@email.com","name":"Apartments for sale"},{"id":888,"user":"user@email.com","name":"Houses for sale"}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["api---alerts"],"summary":"Create feed (v1)","description":"Create alerts feed for currently authenticated user.<br/>\n    Feed is a predefined set of conditions to filter alerts by.<br/>\n    The `id` of created feed then should be used as URL parameter for\n    [get alerts by feed](/#operation/getAlertsFeed) endpoint\n    to get alerts filtered by feed filter conditions.","operationId":"api__post__v1__listing-alerts__feeds","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAlertsFeedV1"},"examples":{"0":{"value":{"name":"Apartments for sale in Cascais, Oeiras, Lisbon","filter":{"operation":"sale","types":["apartment","studio","duplex","penthouse"],"location_ids":[2942,1861,1600],"conditions":["used","very-good","new"],"statuses":["active","reserved"],"price_from":150000,"price_to":800000,"price_per_sqm_from":2000,"price_per_sqm_to":8000,"bedrooms_from":1,"bedrooms_to":3,"total_area_from":30,"total_area_to":130,"construction_year_from":1950,"floors":["middle","top"],"views":["city"],"directions":["west","south"],"characteristics":["balcony","elevator","parking"],"private":false,"new_development":false,"has_agency_name":true,"has_email":false,"without_agencies":["Airbnb","Casa.Sapo"]}}}}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAlertsFeedV1"},"examples":{"0":{"value":{"id":887,"user":"user@email.com","name":"Apartments for sale in Cascais, Oeiras, Lisbon","filter":{"operation":"sale","types":["apartment","studio","duplex","penthouse"],"location_ids":[2942,1861,1600],"conditions":["used","very-good","new"],"statuses":["active","reserved"],"price_from":150000,"price_to":800000,"price_per_sqm_from":2000,"price_per_sqm_to":8000,"bedrooms_from":1,"bedrooms_to":3,"total_area_from":30,"total_area_to":130,"construction_year_from":1950,"floors":["middle","top"],"views":["city"],"directions":["west","south"],"characteristics":["balcony","elevator","parking"],"private":false,"new_development":false,"has_agency_name":true,"has_email":false,"without_agencies":["Airbnb","Casa.Sapo"]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listing-alerts/feeds/{id}":{"get":{"tags":["api---alerts"],"summary":"Get alerts by feed (v1)","description":"Returns paginated list of alerts (by feed ID) for currently authenticated user.","operationId":"api__get__v1__listing-alerts__feeds__{id}","parameters":[{"description":"A unique integer value identifying this alerts feed.","required":true,"schema":{"type":"string"},"name":"id","in":"path"},{"description":"Number of results to return per page.","required":false,"schema":{"type":"integer"},"name":"limit","in":"query"},{"description":"Offset from which to start the search. Maximum value is 50000.","required":false,"schema":{"type":"integer"},"name":"offset","in":"query"},{"description":"The field by which to sort the results.","required":false,"schema":{"type":"string","enum":["alert_date","-alert_date","alert_id","-alert_id","created_at","-created_at","updated_at","-updated_at"],"default":"-alert_date"},"name":"order_by","in":"query"},{"description":"Start date (in the format `YYYY-MM-DD`) of the period for alerts of interest.<br/>Overrides `alert_date_from` value if it was specified in the feed filter.<br/>Invalid values are ignored.","required":false,"schema":{"type":"string","format":"date"},"name":"alert_date_from","in":"query"},{"description":"End date (in the format `YYYY-MM-DD`) of the period for alerts of interest.<br/>Overrides `alert_date_to` value if it was specified in the feed filter.<br/>Invalid values are ignored.","required":false,"schema":{"type":"string","format":"date"},"name":"alert_date_to","in":"query"},{"description":"Start date and time (in the format `YYYY-MM-DDTHH:mm:ss`) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data.<br/>Overrides `created_at_from` value if it was specified in the feed filter.<br/>Invalid values are ignored.","required":false,"schema":{"type":"string","format":"date-time"},"name":"created_at_from","in":"query"},{"description":"End date and time (in the format `YYYY-MM-DDTHH:mm:ss`) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data.<br/>Overrides `created_at_to` value if it was specified in the feed filter.<br/>Invalid values are ignored.","required":false,"schema":{"type":"string","format":"date-time"},"name":"created_at_to","in":"query"},{"description":"Start date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos.\nNote: Some alerts may still not have photos if the original listing did not include any.<br/>Overrides `created_at_with_photos_from` value if it was specified in the feed filter.<br/>Invalid values are ignored.","required":false,"schema":{"type":"string","format":"date-time"},"name":"created_at_with_photos_from","in":"query"},{"description":"End date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos.\nNote: Some alerts may still not have photos if the original listing did not include any.<br/>Overrides `created_at_with_photos_to` value if it was specified in the feed filter.<br/>Invalid values are ignored.","required":false,"schema":{"type":"string","format":"date-time"},"name":"created_at_with_photos_to","in":"query"},{"description":"Get only alerts of the specific subtype (for the requested feed).<br/>Invalid values are ignored.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `alert_subtypes` field in the feed.filter instead.</strong>","required":false,"schema":{"type":"string","enum":["new","price_up","price_down","reserved","delisted","sold"]},"name":"alert_subtype","in":"query"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"properties":{"count":{"type":"integer","example":123},"next":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=400&limit=100","nullable":true},"previous":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=200&limit=100","nullable":true},"results":{"$ref":"#/components/schemas/ApiAlertDocumentsV1"}},"type":"object"},"type":"array"},"examples":{"0":{"value":{"count":79,"next":"http://api.casafari.com/v1/listing-alerts/feeds/887?alert_date_from=2021-09-01&limit=50&offset=50","results":[{"alert_id":412269711,"listing_id":110358519,"title":"Apartamento T2 em Santa Engracia","ref":"ID-124021076-47","alert_type":"sale_price","alert_subtype":"price_down","old_value":"549000","new_value":"545000","alert_date":"2021-10-24","alert_date_and_time":"2021-10-24T05:37:09","created_at":"2021-10-24T05:38:53.273581","created_at_with_photos":"2021-10-24T05:43:27.622175","updated_at":"2021-04-05T17:47:19.191211","property_url":"https://www.casafari.com/home-sale/property-51277418","listing_url":"https://www.idealista.pt/imovel/31407575/","listing_uid":"1054046","property_id":51277418,"type":"apartment","type_group":"apartment","location":{"location_id":28649,"name":"Santa Engrácia","administrative_level":"Localidade","zip_codes":[]},"locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"País","zip_codes":["1200-224"]},{"location_id":1599,"name":"Lisbon","administrative_level":"Distrito","zip_codes":[]},{"location_id":1600,"name":"Lisbon","administrative_level":"Concelho","zip_codes":[]},{"location_id":1760,"name":"São Vicente","administrative_level":"Freguesia","zip_codes":[]},{"location_id":28649,"name":"Santa Engrácia","administrative_level":"Localidade","zip_codes":[]}],"address":"","zip_code":"80804","cadastral_reference":"2181605VK4728A0001TA","coordinates":{"latitude":38.7194,"longitude":-9.12209},"condition":"used","contacts_info":{"phone":"215551538"},"total_area":130,"living_area":128,"plot_area":0,"terrace_area":15,"bedrooms":3,"rooms":0,"bathrooms":2,"features":{"floor":"middle","views":["city","landscape"],"directions":["west","south"],"characteristics":["balcony","elevator","garage","parking","storage"]},"construction_year":2015,"operations":["sale"],"is_bank_property":false,"is_auction_property":false,"is_new_development_property":false,"is_private_property":false,"sale_status":"active","sale_currency":"EUR","sale_price":545000,"sale_price_base":545000,"sale_price_per_sqm":4192.0,"sale_price_per_sqm_base":4192.0,"rent_status":"none","rent_currency":"EUR","rent_price":0,"rent_price_base":0,"rent_price_per_sqm":0.0,"rent_price_per_sqm_base":0.0,"rent_period":"none","agency_legal_id":"402016653","agency":"Helena Almeida Pires","agent":"","source_name":"Idealista","description":"O apartamento é composto de sala de estar e jantar ampla, com janelas de vidro duplo que dão enorme luminosidade, ao ambiente.","thumbnails":["https://st2.retelligence.co/c/2875/4/7f/5a0fc6ebf8e4e41d062342a29b50647f350.jpg","https://st2.retelligence.co/c/2875/c/f0/b0c609e7e242f55b2fb02efd33258cf0350.jpg"],"pictures":["https://media.casasapo.pt/Z1140x855/Wnone/S5/C2729/P20091734/Tphoto/ID56933201-0000-0500-0000-00000d1ffcdc.jpg","https://media.casasapo.pt/Z1140x855/Wnone/S5/C2729/P20091734/Tphoto/ID56933201-0000-0500-0000-00000d1ffcd5.jpg"],"energy_certificate":"B","energy_rating":"B","heating_type":"Central heating","available_from":"2026-07-01","available_to":"2027-06-30"}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["api---alerts"],"summary":"Delete feed (v1)","description":"Delete alerts feed (by feed ID) for currently authenticated user.","operationId":"api__delete__v1__listing-alerts__feeds__{id}","parameters":[{"description":"A unique integer value identifying this alerts feed.","required":true,"schema":{"type":"string"},"name":"id","in":"path"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"properties":{"success":{"type":"boolean","description":"Boolean indicating whether the delete action was successful.","example":true}},"type":"object"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/properties/search/{property_id}":{"get":{"tags":["api---properties"],"summary":"Get property by ID (v1)","description":"Returns a property object.","operationId":"api__get__v1__properties__search__{property_id}","parameters":[{"description":"","required":true,"schema":{"type":"string"},"name":"property_id","in":"path"},{"description":"Number of results to return per page.","required":false,"schema":{"type":"integer"},"name":"limit","in":"query"},{"description":"Offset from which to start the search. Maximum value is 50000.","required":false,"schema":{"type":"integer"},"name":"offset","in":"query"}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"properties":{"count":{"type":"integer","example":123},"next":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=400&limit=100","nullable":true},"previous":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=200&limit=100","nullable":true},"results":{"$ref":"#/components/schemas/ApiPropertyDetailResponseV1"}},"type":"object"},"type":"array"},"examples":{"0":{"value":{"property_id":6256230,"primary_listing_id":23587829,"type":"other","type_group":"other","operations":["rent"],"location":{"location_id":5699,"name":"Laranjeiras","administrative_level":"Localidade","zip_codes":["3250-151"]},"locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"Pais","zip_codes":["1200-224"]},{"location_id":1599,"name":"Lisbon","administrative_level":"Distrito","zip_codes":["1000-017"]},{"location_id":1600,"name":"Lisbon","administrative_level":"Concelho","zip_codes":["1000-017"]},{"location_id":2818,"name":"Sao Domingos De Benfica","administrative_level":"Freguesia","zip_codes":["1500-561"]},{"location_id":5699,"name":"Laranjeiras","administrative_level":"Localidade","zip_codes":["3250-151"]}],"coordinates":{"latitude":38.7482,"longitude":-9.17304},"total_area":0,"living_area":0,"plot_area":0,"terrace_area":0,"bathrooms":0,"rooms":0,"number_of_parkings":1,"rent_currency":"EUR","rent_period":"none","rent_price":75,"rent_status":"rented","sale_currency":"EUR","sale_price":0,"sale_status":"none","is_private_property":true,"features":{"floor":"no_floor","orientation":"exterior","view":"city","views":["city"],"direction":"south","directions":["east","north","south","west"],"characteristics":["balcony","elevator","garage","garden","parking","swimming_pool"]},"condition":"other","rent_time_on_market":{"date_start":"2020-06-12","date_end":"2020-06-24","days_on_market":13,"has_untracked_period":false},"listings":[{"listing_id":23587829,"total_area":0,"plot_area":0,"terrace_area":0,"bathrooms":0,"rooms":0,"sale_status":"none","sale_currency":"EUR","sale_price":0,"sale_price_base":0,"rent_status":"hold","rent_currency":"EUR","rent_price":75,"rent_price_base":75,"agency_legal_id":"402016653","agency":"Susana Pires","listing_old_url":"https://www.idealista.pt/imovel/31407575/","description":"Temos disponível para aluguer ...","listing_uid":"595677247","construction_year":0,"source_name":"OLX","contacts_info":{"email":"test@email.com","phone":"+0 123456789"},"energy_certificate":"Unknown","energy_rating":"Unknown","ceiling_label":"3.0 m","commission":3.57,"min_rent_area":50,"heating_type":"Central heating","companies":[{"name":"Company name","casafari_connect_on":true}],"created_at":"2020-06-25T00:00:00","floor_number":5,"is_private":true,"casafari_connect":true,"thumbnails":["https://st2.retelligence.co/c/829/a/5c/b2ce05100bc5bfeac4ff1e26d0b1da5c350.jpg","https://st2.retelligence.co/c/829/5/48/c3c0b9a8fbf962ef3e1bd9bc370d2548350.jpg","https://st2.retelligence.co/c/829/4/4c/a56ceed6847a157120f0db798b94844c350.jpg"],"pictures":["https://ireland.apollo.olxcdn.com:443/v1/files/9ch7n2jh2aj92-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/0mghzm4vvrrm2-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/aim442ored301-PT/image;s=1000x700"],"ref_numbers":["ref_number_1","ref_number_2"],"is_private_property":false,"is_auction_property":false,"is_bank_property":false}],"history":[{"sale_price":0,"sale_currency":"EUR","rent_price":70,"rent_currency":"EUR","changed_at":"2021-03-09"}],"sale_price_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","sale_price_new":1000,"sale_price_old":900}],"rent_price_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","rent_price_new":75,"rent_price_old":70}],"sale_status_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","sale_status_new":"active","sale_status_old":"sold"}],"rent_status_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","rent_price_new":"rented","rent_price_old":"active"}],"property_url":"https://www.casafari.com/home-sale/property-6256230","address":"","zip_code":"75140","description":"Temos disponível para aluguer ...","construction_year":0,"rent_price_base":75,"rent_price_per_sqm":0.0,"rent_price_per_sqm_base":0.0,"sale_price_base":0,"sale_price_per_sqm":0.0,"sale_price_per_sqm_base":0.0,"is_auction_property":false,"is_bank_property":false,"changed_at":"2020-06-25T00:00:00","thumbnails":["https://st2.retelligence.co/c/829/a/5c/b2ce05100bc5bfeac4ff1e26d0b1da5c350.jpg","https://st2.retelligence.co/c/829/5/48/c3c0b9a8fbf962ef3e1bd9bc370d2548350.jpg","https://st2.retelligence.co/c/829/4/4c/a56ceed6847a157120f0db798b94844c350.jpg"],"pictures":["https://ireland.apollo.olxcdn.com:443/v1/files/9ch7n2jh2aj92-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/0mghzm4vvrrm2-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/aim442ored301-PT/image;s=1000x700"],"gross_yield":0.0,"title":"Aluga-de Lugar de Garagem, Laranjeiras, Lisboa","energy_certificate":"A","energy_rating":"A","ref_numbers":["ref_number_1","ref_number_2"],"casafari_connect":true,"source_floor_numbers":[1,5],"ceiling_label":"3.0 m","min_rent_area":50,"retail_data":{"is_street_level":true,"number_of_floors":2,"number_of_premises":1,"possible_business_types":["cafe","restaurant"]}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/locations":{"post":{"tags":["api---references"],"summary":"Get locations (v1)","description":"Returns a list of all possible locations with user restrictions.","operationId":"api__post__v1__references__locations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiGetLocationsV1"},"examples":{"0":{"value":{"name":"ferreiras","coordinates":[{"longitude":-8.183479,"latitude":37.1404},{"longitude":-8.18482,"latitude":37.13909},{"longitude":-8.1854,"latitude":37.13805},{"longitude":-8.21646,"latitude":37.11383},{"longitude":-8.183479,"latitude":37.1404}],"lang":"pt"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiLocationsV1"},"examples":{"0":{"value":{"locations":[{"location_id":1603,"name":"Ferreiras","parent_id":1602,"administrative_level":"Freguesia","locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"País","zip_codes":["1200-224"],"level":1},{"location_id":1597,"name":"Faro","administrative_level":"Distrito","zip_codes":[],"level":2},{"location_id":1602,"name":"Albufeira","administrative_level":"Concelho","zip_codes":[],"level":3},{"location_id":1603,"name":"Ferreiras","administrative_level":"Freguesia","zip_codes":[],"level":4}]}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/locations/typeahead":{"post":{"tags":["api---references"],"summary":"Get locations typeahead suggestions scoped by country code (v1)","description":"Returns location typeahead suggestions within the given country (ES or PT).","operationId":"api__post__v1__references__locations__typeahead","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiLocationsTypeAheadFilterV1"},"examples":{"0":{"value":{"country_codes":["PT"],"name":"lisboa","lang":"en","size":30}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTypeAheadV1"},"examples":{"0":{"value":{"typeahead":[{"location_id":1296,"name":"Lisboa","matched_name":"Lisboa","administrative_level":"Distrito","breadcrumbs":[{"location_id":499,"name":"Portugal"},{"location_id":1296,"name":"Lisboa"}]}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/references/zipcode-boundary":{"post":{"tags":["api---references"],"summary":"Get zipcode boundary by zipcode and country code (v1)","description":"Get zipcode boundary by zipcode and country code.","operationId":"api__post__v1__references__zipcode-boundary","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiZipCodeBoundaryFilterV1"},"examples":{"0":{"value":{"zip_code":"36116","country_code":"ES"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiZipCodeBoundaryV1"},"examples":{"0":{"value":{"zip_code":"36116","boundary":[[{"latitude":42.59448,"longitude":-8.3877},{"latitude":42.58795,"longitude":-8.38622},{"latitude":42.58338,"longitude":-8.38604},{"latitude":42.59568,"longitude":-8.39284},{"latitude":42.59448,"longitude":-8.3877}]]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listing-alerts/search":{"post":{"tags":["api---alerts"],"summary":"Search alerts (v1)","description":"Returns paginated list of alerts (by requested parameters) for currently authenticated user.","operationId":"api__post__v1__listing-alerts__search","parameters":[{"description":"Number of results to return per page.","required":false,"schema":{"type":"integer","maximum":100.0,"default":20},"name":"limit","in":"query"},{"description":"The initial index from which to return the results.","required":false,"schema":{"type":"integer","maximum":50000.0},"name":"offset","in":"query"},{"description":"The field by which to sort the results.","required":false,"schema":{"type":"string","enum":["alert_date","-alert_date","alert_id","-alert_id","created_at","-created_at","updated_at","-updated_at"],"default":"-alert_date"},"name":"order_by","in":"query"},{"description":"Get only alerts of the specific subtype.<br/>Invalid values are ignored. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `alert_subtypes` field in the body parameters instead.</strong>","required":false,"schema":{"type":"string","enum":["new","price_up","price_down","reserved","delisted","sold"]},"name":"alert_subtype","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAlertsSearchFilterV1"},"examples":{"0":{"value":{"operation":"sale","types":["apartment","studio","duplex","penthouse"],"location_ids":[2942,1861,1600],"conditions":["used","very-good","new"],"statuses":["active","reserved"],"price_from":150000,"price_to":800000,"price_per_sqm_from":2000,"price_per_sqm_to":8000,"bedrooms_from":1,"bedrooms_to":3,"total_area_from":30,"total_area_to":130,"construction_year_from":1950,"floors":["middle","top"],"views":["city"],"directions":["west","south"],"characteristics":["balcony","elevator","parking"],"private":false,"new_development":false,"has_agency_name":true,"has_email":false,"without_agencies":["Airbnb","Casa.Sapo"],"alert_date_from":"2021-09-01"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"properties":{"count":{"type":"integer","example":123},"next":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=400&limit=100","nullable":true},"previous":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=200&limit=100","nullable":true},"results":{"$ref":"#/components/schemas/ApiAlertDocumentsV1"}},"type":"object"},"type":"array"},"examples":{"0":{"value":{"count":79,"next":"https://api.casafari.com/v1/listing-alerts/search?limit=50&offset=50","results":[{"alert_id":412269711,"listing_id":110358519,"title":"Apartamento T2 em Santa Engracia","ref":"ID-124021076-47","alert_type":"sale_price","alert_subtype":"price_down","old_value":"549000","new_value":"545000","alert_date":"2021-10-24","alert_date_and_time":"2021-10-24T05:37:09","created_at":"2021-10-24T05:38:53.273581","created_at_with_photos":"2021-10-24T05:43:27.622175","updated_at":"2021-04-05T17:47:19.191211","property_url":"https://www.casafari.com/home-sale/property-51277418","listing_url":"https://www.idealista.pt/imovel/31407575/","listing_uid":"1054046","property_id":51277418,"type":"apartment","type_group":"apartment","location":{"location_id":28649,"name":"Santa Engrácia","administrative_level":"Localidade","zip_codes":[]},"locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"País","zip_codes":["1200-224"]},{"location_id":1599,"name":"Lisbon","administrative_level":"Distrito","zip_codes":[]},{"location_id":1600,"name":"Lisbon","administrative_level":"Concelho","zip_codes":[]},{"location_id":1760,"name":"São Vicente","administrative_level":"Freguesia","zip_codes":[]},{"location_id":28649,"name":"Santa Engrácia","administrative_level":"Localidade","zip_codes":[]}],"address":"","zip_code":"80804","cadastral_reference":"2181605VK4728A0001TA","coordinates":{"latitude":38.7194,"longitude":-9.12209},"condition":"used","contacts_info":{"phone":"215551538"},"total_area":130,"living_area":128,"plot_area":0,"terrace_area":15,"bedrooms":3,"rooms":0,"bathrooms":2,"features":{"floor":"middle","views":["city","landscape"],"directions":["west","south"],"characteristics":["balcony","elevator","garage","parking","storage"]},"construction_year":2015,"operations":["sale"],"is_bank_property":false,"is_auction_property":false,"is_new_development_property":false,"is_private_property":false,"sale_status":"active","sale_currency":"EUR","sale_price":545000,"sale_price_base":545000,"sale_price_per_sqm":4192.0,"sale_price_per_sqm_base":4192.0,"rent_status":"none","rent_currency":"EUR","rent_price":0,"rent_price_base":0,"rent_price_per_sqm":0.0,"rent_price_per_sqm_base":0.0,"rent_period":"none","agency_legal_id":"402016653","agency":"Helena Almeida Pires","agent":"","source_name":"Idealista","description":"O apartamento é composto de sala de estar e jantar ampla, com janelas de vidro duplo que dão enorme luminosidade, ao ambiente.","thumbnails":["https://st2.retelligence.co/c/2875/4/7f/5a0fc6ebf8e4e41d062342a29b50647f350.jpg","https://st2.retelligence.co/c/2875/c/f0/b0c609e7e242f55b2fb02efd33258cf0350.jpg"],"pictures":["https://media.casasapo.pt/Z1140x855/Wnone/S5/C2729/P20091734/Tphoto/ID56933201-0000-0500-0000-00000d1ffcdc.jpg","https://media.casasapo.pt/Z1140x855/Wnone/S5/C2729/P20091734/Tphoto/ID56933201-0000-0500-0000-00000d1ffcd5.jpg"],"energy_certificate":"B","energy_rating":"B","heating_type":"Central heating","available_from":"2026-07-01","available_to":"2027-06-30"}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/comparables/search":{"post":{"tags":["api---comparables"],"summary":"Search comparables (v1)","description":"Returns comparable properties by the given parameters.","operationId":"api__post__v1__comparables__search","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSearchComparablesRequestV1"},"examples":{"0":{"value":{"comparables_count":20,"location_boundary":{"circle":{"distance":3.5,"target_point":{"coordinates":{"latitude":38.74,"longitude":-9.17}}}},"sold_or_rented_after":"2020-06-01","days_on_market_from":10,"days_on_market_to":1000,"operation":"sale","comparables_types":["apartment"],"bedrooms":2,"construction_year":2010,"total_area":125,"condition":"used","floors":["middle","top"],"floor_number":[3,5],"views":["city","landscape"],"directions":["west","north"],"characteristics":{"must_have":["balcony","elevator"],"nice_to_have":["garage","parking","storage"]},"energy_ratings":["A","B","C"]}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSearchComparablesResponseV1"},"examples":{"0":{"value":{"results":[{"property_id":256778247,"property_url":"https://www.casafari.com/home-sale/property-256778247","primary_listing_id":186140786,"type":"apartment","type_group":"apartment","coordinates":{"latitude":38.7109,"longitude":-9.16226},"location":{"location_id":1721,"name":"Lapa","administrative_level":"Localidade","zip_codes":[]},"locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"País","zip_codes":[]},{"location_id":1599,"name":"Lisbon","administrative_level":"Distrito","zip_codes":[]},{"location_id":1600,"name":"Lisbon","administrative_level":"Concelho","zip_codes":[]},{"location_id":1719,"name":"Estrela","administrative_level":"Freguesia","zip_codes":[]},{"location_id":1721,"name":"Lapa","administrative_level":"Localidade","zip_codes":[]}],"address":"","zip_code":"10119","distance":3.305,"construction_year":0,"total_area":122,"living_area":122,"plot_area":0,"terrace_area":26,"bedrooms":2,"rooms":0,"bathrooms":2,"floor_number":1,"condition":"used","features":{"floor":"middle","orientation":"exterior","view":"city","views":["city"],"direction":"south","directions":["south"],"characteristics":["balcony","elevator","garage","garden","parking","storage","terrace"]},"operations":["sale"],"sale_status":"sold","sale_currency":"EUR","sale_price":695000,"sale_price_base":695000,"sale_price_per_sqm":5697.0,"sale_price_per_sqm_base":5697.0,"rent_status":"none","rent_currency":"EUR","rent_price":0,"rent_price_base":0,"rent_price_per_sqm":0.0,"rent_price_per_sqm_base":0.0,"rent_period":"none","title":"Apartamento T2 à venda em Lapa","description":"Apartamento T2 com estacionamento situado na Lapa...","thumbnails":["https://st2.retelligence.co/c/2506/4/0f/98684d26c1300adf96eea8b9c70cc40f350.jpg","https://st2.retelligence.co/c/2506/5/02/10c59c86fd7ed3719c725370338e9502350.jpg","https://st2.retelligence.co/c/2506/1/ec/c89d5a300735d01b7881124d333bd1ec350.jpg"],"pictures":["https://example-original-image-url.com/image1.jpg","https://example-original-image-url.com/image2.jpg","https://example-original-image-url.com/image3.jpg"],"gross_yield":0.0,"sold_at":"2023-01-18T00:00:00","total_sale_price_change":-10.9,"total_rent_price_change":0.0,"last_sale_price_reduction":8.55,"last_rent_price_reduction":0.0,"sale_price_last_change":{"change_date":"2022-12-29","old_value":760000,"new_value":695000},"sale_time_on_market":{"date_start":"2022-02-21","date_end":"2023-01-18","days_on_market":332,"has_untracked_period":false},"sale_active_listings_count":0,"rent_active_listings_count":0,"similarity_score":0.644,"listing_urls":[],"is_dvf":false,"is_outlier":false,"is_private_property":false,"energy_certificate":"C","energy_rating":"C"}],"statistics":{"average_price":1506739,"average_price_per_sqm":12321.0,"average_time_on_the_market":43,"average_listings_per_property":2.7,"sold_or_rented_in_last_six_months":26},"estimated_prices":{"fast_sell_price":1432316,"fair_market_price":1540125,"out_of_market_price":1647934,"fast_sell_price_per_sqm":11458.53,"fair_market_price_per_sqm":12321.0,"out_of_market_price_per_sqm":13183.47},"casafari_link":"http://app-server.application.svc.cluster.local:8080/market-analytics/valuation?valuation_businessType=sale&val..."}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/properties/search":{"post":{"tags":["api---properties"],"summary":"Search properties (v1)","description":"Search properties.","operationId":"api__post__v1__properties__search","parameters":[{"description":"Number of results to return per page.","required":false,"schema":{"type":"integer","maximum":100.0,"default":20},"name":"limit","in":"query"},{"description":"The initial index from which to return the results.","required":false,"schema":{"type":"integer","maximum":50000.0},"name":"offset","in":"query"},{"description":"The order of search results.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"name":"order","in":"query"},{"description":"The field by which to sort the results.","required":false,"schema":{"type":"string","enum":["price","price_per_sqm","total_area","plot_area","bedrooms","construction_year","last_update","time_on_market"]},"name":"order_by","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPropertiesSearchRequestV1"},"examples":{"0":{"value":{"search_operations":["rented","rent"],"conditions":["used"],"location_ids":[499],"custom_location_boundary":{"circle":{"distance":30.0,"target_point":{"coordinates":{"latitude":38.71,"longitude":-9.17}}}},"price_from":800,"price_to":10000,"price_per_sqm_from":5,"price_per_sqm_to":50,"bedrooms_from":1,"bedrooms_to":3,"bathrooms_from":1,"bathrooms_to":2,"rooms_from":1,"rooms_to":4,"number_of_parkings_from":1,"number_of_parkings_to":2,"total_area_from":30,"total_area_to":1000,"living_area_from":20,"living_area_to":800,"floor_numbers":[1,2,3],"views":["city"],"directions":["west","south"],"floors":["middle","top"],"energy_ratings":["A","B","C"],"casafari_connect":true}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"properties":{"count":{"type":"integer","example":123},"next":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=400&limit=100","nullable":true},"previous":{"type":"string","format":"uri","example":"http://api.example.org/accounts/?offset=200&limit=100","nullable":true},"results":{"$ref":"#/components/schemas/ApiPropertiesSearchResponseV1"}},"type":"object"},"type":"array"},"examples":{"0":{"value":{"count":349,"next":"https://api.casafari.com/v1/properties/search?limit=20&offset=20&order=asc&order_by=price","results":[{"property_id":6256230,"primary_listing_id":23587829,"type":"other","type_group":"other","operations":["rent"],"location":{"location_id":5699,"name":"Laranjeiras","administrative_level":"Localidade","zip_codes":["3250-151"]},"locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"Pais","zip_codes":["1200-224"]},{"location_id":1599,"name":"Lisbon","administrative_level":"Distrito","zip_codes":["1000-017"]},{"location_id":1600,"name":"Lisbon","administrative_level":"Concelho","zip_codes":["1000-017"]},{"location_id":2818,"name":"Sao Domingos De Benfica","administrative_level":"Freguesia","zip_codes":["1500-561"]},{"location_id":5699,"name":"Laranjeiras","administrative_level":"Localidade","zip_codes":["3250-151"]}],"coordinates":{"latitude":38.7482,"longitude":-9.17304},"total_area":0,"living_area":0,"plot_area":0,"terrace_area":0,"bathrooms":0,"rooms":0,"number_of_parkings":1,"rent_currency":"EUR","rent_period":"none","rent_price":75,"rent_status":"rented","sale_currency":"EUR","sale_price":0,"sale_status":"none","is_private_property":true,"features":{"floor":"no_floor","orientation":"exterior","view":"city","views":["city"],"direction":"south","directions":["east","north","south","west"],"characteristics":["balcony","elevator","garage","garden","parking","swimming_pool"]},"condition":"other","rent_time_on_market":{"date_start":"2020-06-12","date_end":"2020-06-24","days_on_market":13,"has_untracked_period":false},"listings":[{"listing_id":23587829,"total_area":0,"plot_area":0,"terrace_area":0,"bathrooms":0,"rooms":0,"sale_status":"none","sale_currency":"EUR","sale_price":0,"sale_price_base":0,"rent_status":"hold","rent_currency":"EUR","rent_price":75,"rent_price_base":75,"agency_legal_id":"402016653","agency":"Susana Pires","listing_old_url":"https://www.idealista.pt/imovel/31407575/","description":"Temos disponível para aluguer ...","listing_uid":"595677247","construction_year":0,"source_name":"OLX","contacts_info":{"email":"test@email.com","phone":"+0 123456789"},"energy_certificate":"Unknown","energy_rating":"Unknown","ceiling_label":"3.0 m","commission":3.57,"min_rent_area":50,"heating_type":"Central heating","companies":[{"name":"Company name","casafari_connect_on":true}],"created_at":"2020-06-25T00:00:00","floor_number":5,"is_private":true,"casafari_connect":true,"thumbnails":["https://st2.retelligence.co/c/829/a/5c/b2ce05100bc5bfeac4ff1e26d0b1da5c350.jpg","https://st2.retelligence.co/c/829/5/48/c3c0b9a8fbf962ef3e1bd9bc370d2548350.jpg","https://st2.retelligence.co/c/829/4/4c/a56ceed6847a157120f0db798b94844c350.jpg"]}],"history":[{"sale_price":0,"sale_currency":"EUR","rent_price":70,"rent_currency":"EUR","changed_at":"2021-03-09"}],"sale_price_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","sale_price_new":1000,"sale_price_old":900}],"rent_price_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","rent_price_new":75,"rent_price_old":70}],"sale_status_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","sale_status_new":"active","sale_status_old":"sold"}],"rent_status_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","rent_price_new":"rented","rent_price_old":"active"}],"property_url":"https://www.casafari.com/home-sale/property-6256230","address":"","zip_code":"75140","description":"Temos disponível para aluguer ...","construction_year":0,"rent_price_base":75,"rent_price_per_sqm":0.0,"rent_price_per_sqm_base":0.0,"sale_price_base":0,"sale_price_per_sqm":0.0,"sale_price_per_sqm_base":0.0,"is_auction_property":false,"is_bank_property":false,"changed_at":"2020-06-25T00:00:00","thumbnails":["https://st2.retelligence.co/c/829/a/5c/b2ce05100bc5bfeac4ff1e26d0b1da5c350.jpg","https://st2.retelligence.co/c/829/5/48/c3c0b9a8fbf962ef3e1bd9bc370d2548350.jpg","https://st2.retelligence.co/c/829/4/4c/a56ceed6847a157120f0db798b94844c350.jpg"],"pictures":["https://ireland.apollo.olxcdn.com:443/v1/files/9ch7n2jh2aj92-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/0mghzm4vvrrm2-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/aim442ored301-PT/image;s=1000x700"],"gross_yield":0.0,"title":"Aluga-de Lugar de Garagem, Laranjeiras, Lisboa","energy_certificate":"A","energy_rating":"A","ref_numbers":["ref_number_1","ref_number_2"],"casafari_connect":true,"source_floor_numbers":[1,5],"ceiling_label":"3.0 m","min_rent_area":50,"retail_data":{"is_street_level":true,"number_of_floors":2,"number_of_premises":1,"possible_business_types":["cafe","restaurant"]}}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/properties/match-by-listings":{"post":{"tags":["api---properties"],"summary":"Get property by listing IDs (v1)","description":"Returns a mapping properties IDs to listing IDs.","operationId":"api__post__v1__properties__match-by-listings","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPropertiesSearchByListingIDsRequestV1"},"examples":{"0":{"value":{"listing_ids":[1,2,3,4]}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPropertiesSearchByListingIDsResponseV1"},"examples":{"0":{"value":[{"property_id":12,"listing_ids":[1,2,3]},{"property_id":34,"listing_ids":[3,4]}]}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/properties/smart-links":{"post":{"tags":["api---properties"],"summary":"Create a smart link (BETA) (v1)","description":"Generates a smart link that provides detailed property information\n    with customizable components, branding, and user/company information overrides.","operationId":"api__post__v1__properties__smart-links","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCreateSmartLinkRequestV1"},"examples":{"0":{"value":{"primary_listing_ids":[111111111,222222222],"settings":{"brand_color":"#000000","language":"pt","is_indexing_by_search_engine":true,"is_hide_source":true,"components_to_include":["price","days_on_market","price_change","sources","history","location_intelligence","comparables","valuation","market_analytics"]},"user":{"first_name":"Test","last_name":"Test","email":"user@casafari.com","phone":"+111111111111","photo_url":"https://www.photos-cdn.com/user-photo.png","about_me":"about me text info"},"company":{"name":"Company Name","logo_url":"https://www.photos-cdn.com/company-logo.png"}}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiCreateSmartLinkResponseV1"},"examples":{"0":{"value":{"id":"68d119290bc138b51fc58f4c","url":"https://www.casafari.com/estate/sharepage/68d119290bc138b51fc58f4c"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/valuation/comparables-prices":{"post":{"tags":["api---valuation"],"summary":"Search estimated prices (v1)","description":"Returns estimated prices by the given parameters.","operationId":"api__post__v1__valuation__comparables-prices","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiComparablesPricesRequestV1"},"examples":{"0":{"value":{"comparables_count":20,"location_boundary":{"circle":{"distance":3.5,"target_point":{"coordinates":{"latitude":38.74,"longitude":-9.17}}}},"sold_or_rented_after":"2020-06-01","days_on_market_from":10,"days_on_market_to":1000,"operation":"sale","comparables_types":["apartment"],"bedrooms":2,"construction_year":2010,"total_area":125,"condition":"used","floors":["middle","top"],"floor_number":[3,5],"views":["city","landscape"],"directions":["west","north"],"characteristics":{"must_have":["balcony","elevator"],"nice_to_have":["garage","parking","storage"]},"energy_ratings":["A","B","C"]}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiComparablesPricesV1"},"examples":{"0":{"value":{"statistics":{"average_price":767950,"average_price_per_sqm":6376,"average_time_on_the_market":169,"average_listings_per_property":6.2,"sold_or_rented_in_last_six_months":453},"estimated_prices":{"fast_sell_price":741210,"fair_market_price":797000,"out_of_market_price":852790,"fast_sell_price_per_sqm":5929.68,"fair_market_price_per_sqm":6376.0,"out_of_market_price_per_sqm":6822.32}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listing-alerts/feeds/{id}/update":{"put":{"tags":["api---alerts"],"summary":"Update feed (v1)","description":"Update alerts feed by id.","operationId":"api__put__v1__listing-alerts__feeds__{id}__update","parameters":[{"description":"A unique integer value identifying this alerts feed.","required":true,"schema":{"type":"string"},"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAlertsFeedV1"},"examples":{"0":{"value":{"name":"Apartments for sale in Cascais, Oeiras, Lisbon","filter":{"operation":"sale","types":["apartment","studio","duplex","penthouse"],"location_ids":[2942,1861,1600],"conditions":["used","very-good","new"],"statuses":["active","reserved"],"price_from":150000,"price_to":800000,"price_per_sqm_from":2000,"price_per_sqm_to":8000,"bedrooms_from":1,"bedrooms_to":3,"total_area_from":30,"total_area_to":130,"construction_year_from":1950,"floors":["middle","top"],"views":["city"],"directions":["west","south"],"characteristics":["balcony","elevator","parking"],"private":false,"new_development":false,"has_agency_name":true,"has_email":false,"without_agencies":["Airbnb","Casa.Sapo"]}}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAlertsFeedV1"},"examples":{"0":{"value":{"id":887,"name":"Apartments for sale in Cascais, Oeiras, Lisbon","filter":{"operation":"sale","types":["apartment","studio","duplex","penthouse"],"location_ids":[2942,1861,1600],"conditions":["used","very-good","new"],"statuses":["active","reserved"],"price_from":150000,"price_to":800000,"price_per_sqm_from":2000,"price_per_sqm_to":8000,"bedrooms_from":1,"bedrooms_to":3,"total_area_from":30,"total_area_to":130,"construction_year_from":1950,"floors":["middle","top"],"views":["city"],"directions":["west","south"],"characteristics":["balcony","elevator","parking"],"private":false,"new_development":false,"has_agency_name":true,"has_email":false,"without_agencies":["Airbnb","Casa.Sapo"]},"user":"user@email.com"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Not found.","example":"Not found."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v2/properties/search":{"post":{"tags":["api---properties"],"summary":"Search properties (v2)","description":"Search properties.","operationId":"api__post__v2__properties__search","parameters":[{"description":"Number of results to return per page.","required":false,"schema":{"type":"integer","maximum":100.0,"default":20},"name":"limit","in":"query"},{"description":"The order of search results.","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"name":"order","in":"query"},{"description":"The field by which to sort the results.","required":false,"schema":{"type":"string","enum":["price","price_per_sqm","total_area","plot_area","bedrooms","construction_year","last_update","time_on_market"]},"name":"order_by","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiPropertiesSearchRequestV2"},"examples":{"0":{"value":{"search_operations":["rented","rent"],"conditions":["used"],"location_ids":[499],"custom_location_boundary":{"circle":{"distance":30.0,"target_point":{"coordinates":{"latitude":38.71,"longitude":-9.17}}}},"price_from":800,"price_to":10000,"price_per_sqm_from":5,"price_per_sqm_to":50,"bedrooms_from":1,"bedrooms_to":3,"bathrooms_from":1,"bathrooms_to":2,"rooms_from":1,"rooms_to":4,"total_area_from":30,"total_area_to":1000,"living_area_from":20,"living_area_to":800,"floor_numbers":[1,2,3],"views":["city"],"directions":["west","south"],"floors":["middle","top"],"energy_ratings":["A","B","C"],"casafari_connect":true}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ApiPropertiesSearchResponseV2"},"type":"array"},"examples":{"0":{"value":{"count":349,"next":"https://api.casafari.com/v1/properties/search?limit=20&cursor=adasdas&pit_id=1232-322-1231-3213&order=asc&order_by=price","results":[{"property_id":6256230,"primary_listing_id":23587829,"type":"other","type_group":"other","operations":["rent"],"location":{"location_id":5699,"name":"Laranjeiras","administrative_level":"Localidade","zip_codes":["3250-151"]},"locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"Pais","zip_codes":["1200-224"]},{"location_id":1599,"name":"Lisbon","administrative_level":"Distrito","zip_codes":["1000-017"]},{"location_id":1600,"name":"Lisbon","administrative_level":"Concelho","zip_codes":["1000-017"]},{"location_id":2818,"name":"Sao Domingos De Benfica","administrative_level":"Freguesia","zip_codes":["1500-561"]},{"location_id":5699,"name":"Laranjeiras","administrative_level":"Localidade","zip_codes":["3250-151"]}],"coordinates":{"latitude":38.7482,"longitude":-9.17304},"total_area":0,"living_area":0,"plot_area":0,"terrace_area":0,"bathrooms":0,"rooms":0,"number_of_parkings":1,"rent_currency":"EUR","rent_period":"none","rent_price":75,"rent_status":"rented","sale_currency":"EUR","sale_price":0,"sale_status":"none","is_private_property":true,"features":{"floor":"no_floor","orientation":"exterior","view":"city","views":["city"],"direction":"south","directions":["east","north","south","west"],"characteristics":["balcony","elevator","garage","garden","parking","swimming_pool"]},"condition":"other","rent_time_on_market":{"date_start":"2020-06-12","date_end":"2020-06-24","days_on_market":13,"has_untracked_period":false},"listings":[{"listing_id":23587829,"total_area":0,"plot_area":0,"terrace_area":0,"bathrooms":0,"rooms":0,"sale_status":"none","sale_currency":"EUR","sale_price":0,"sale_price_base":0,"rent_status":"hold","rent_currency":"EUR","rent_price":75,"rent_price_base":75,"agency_legal_id":"402016653","agency":"Susana Pires","listing_old_url":"https://www.idealista.pt/imovel/31407575/","description":"Temos disponível para aluguer ...","listing_uid":"595677247","construction_year":0,"source_name":"OLX","contacts_info":{"email":"test@email.com","phone":"+0 123456789"},"energy_certificate":"Unknown","energy_rating":"Unknown","ceiling_label":"3.0 m","commission":3.57,"min_rent_area":50,"heating_type":"Central heating","companies":[{"name":"Company name","casafari_connect_on":true}],"created_at":"2020-06-24T00:00:00","floor_number":3,"is_private":true,"casafari_connect":true,"thumbnails":["https://st2.retelligence.co/c/829/a/5c/b2ce05100bc5bfeac4ff1e26d0b1da5c350.jpg","https://st2.retelligence.co/c/829/5/48/c3c0b9a8fbf962ef3e1bd9bc370d2548350.jpg","https://st2.retelligence.co/c/829/4/4c/a56ceed6847a157120f0db798b94844c350.jpg"]}],"history":[{"sale_price":0,"sale_currency":"EUR","rent_price":70,"rent_currency":"EUR","changed_at":"2021-03-09"}],"sale_price_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","sale_price_new":1000,"sale_price_old":900}],"rent_price_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","rent_price_new":75,"rent_price_old":70}],"sale_status_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","sale_status_new":"active","sale_status_old":"sold"}],"rent_status_history":[{"date_end":"2021-06-26","date_start":"2021-03-09","rent_price_new":"rented","rent_price_old":"active"}],"property_url":"https://www.casafari.com/home-sale/property-6256230","address":"","zip_code":"75140","description":"Temos disponível para aluguer ...","construction_year":0,"rent_price_base":75,"rent_price_per_sqm":0.0,"rent_price_per_sqm_base":0.0,"sale_price_base":0,"sale_price_per_sqm":0.0,"sale_price_per_sqm_base":0.0,"is_auction_property":false,"is_bank_property":false,"changed_at":"2020-06-25T00:00:00","thumbnails":["https://st2.retelligence.co/c/829/a/5c/b2ce05100bc5bfeac4ff1e26d0b1da5c350.jpg","https://st2.retelligence.co/c/829/5/48/c3c0b9a8fbf962ef3e1bd9bc370d2548350.jpg","https://st2.retelligence.co/c/829/4/4c/a56ceed6847a157120f0db798b94844c350.jpg"],"pictures":["https://ireland.apollo.olxcdn.com:443/v1/files/9ch7n2jh2aj92-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/0mghzm4vvrrm2-PT/image;s=1000x700","https://ireland.apollo.olxcdn.com:443/v1/files/aim442ored301-PT/image;s=1000x700"],"gross_yield":0.0,"title":"Aluga-de Lugar de Garagem, Laranjeiras, Lisboa","energy_certificate":"A","energy_rating":"A","ref_numbers":["ref_number_1","ref_number_2"],"casafari_connect":true,"source_floor_numbers":[1,5],"ceiling_label":"3.0 m","min_rent_area":50,"retail_data":{"living_area":100,"sale_price_per_sqm":0.0,"rent_price_per_sqm":6.5}}]}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v2/comparables/search":{"post":{"tags":["api---comparables"],"summary":"Search comparables (v2)","description":"Returns comparable properties by the given parameters.","operationId":"api__post__v2__comparables__search","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSearchComparablesRequestV2"},"examples":{"0":{"value":{"comparables_count":20,"location_boundary":{"circle":{"distance":10.0,"target_point":{"coordinates":{"latitude":48.8727989,"longitude":2.3025047}}}},"sold_or_rented_after":"2020-08-01","days_on_market_from":10,"days_on_market_to":1000,"operation":"sale","comparables_types":["apartment"],"bedrooms":2,"construction_year":2010,"total_area":125,"condition":"used","floors":["top"],"views":["city"],"directions":["west"],"characteristics":{"must_have":["balcony","garage","parking"],"nice_to_have":["storage","terrace","furniture"],"exclude":["swimming_pool"]},"energy_ratings":["A","B","C"]}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiSearchComparablesResponseV2"},"examples":{"0":{"value":{"results":[{"property_id":274282877,"property_url":"https://www.casafari.com/home-sale/property-274282877","primary_listing_id":48301172,"type":"apartment","type_group":"apartment","coordinates":{"latitude":48.8244,"longitude":2.33662},"location":{"location_id":464483,"name":"Montsouris Dareau","administrative_level":"Quartier","zip_codes":[]},"locations_structure":[{"location_id":458874,"name":"France","administrative_level":"Pays","zip_codes":[]},{"location_id":460841,"name":"Île-de-France","administrative_level":"Région","zip_codes":[]},{"location_id":464393,"name":"Paris","administrative_level":"Département","zip_codes":[]},{"location_id":464481,"name":"Paris 14ème","administrative_level":"Arrondissement","zip_codes":["75014"]},{"location_id":464483,"name":"Montsouris Dareau","administrative_level":"Quartier","zip_codes":[]}],"address":"place Coluche","zip_code":"10-279","distance":5.932,"construction_year":0,"total_area":122,"living_area":122,"plot_area":0,"terrace_area":0,"bedrooms":3,"rooms":4,"bathrooms":2,"condition":"very-good","features":{"floor":"no_floor","orientation":"exterior","view":"city","views":["city","park"],"characteristics":["balcony","furniture","garage","garden","parking","storage","terrace"]},"operations":["sale","rent"],"sale_status":"sold","sale_currency":"EUR","sale_price":1295000,"sale_price_base":1295000,"sale_price_per_sqm":10615.0,"sale_price_per_sqm_base":10615.0,"rent_status":"rented","rent_currency":"EUR","rent_price":3200,"rent_price_base":3200,"rent_price_per_sqm":26.2,"rent_price_per_sqm_base":26.2,"rent_period":"month","title":"Location Appartement PARIS (75014)","description":"Avenue Reille, proche du Parc MONTSOURIS. Possibilité d'un box en sus (100€).","thumbnails":["https://st2.retelligence.co/c/11744/c/e0/8836d1c12d82f095e68e1379f33e9ce0350.jpg","https://st2.retelligence.co/c/11744/6/75/703a8f30c69c34f4eebbca01653ad675350.jpg","https://st2.retelligence.co/c/11744/b/88/bcc51278102c5d314ccd7163eb07eb88350.jpg"],"pictures":["https://example-original-image-url.com/image1.jpg","https://example-original-image-url.com/image2.jpg","https://example-original-image-url.com/image3.jpg"],"gross_yield":0.0,"sold_at":"2021-12-09T00:00:00","rented_at":"2021-06-28T00:00:00","total_sale_price_change":-7.5,"total_rent_price_change":-5.88,"last_sale_price_reduction":5.47,"last_rent_price_reduction":4.48,"sale_price_last_change":{"change_date":"2021-10-01","old_value":1370000,"new_value":1295000},"rent_price_last_change":{"change_date":"2021-02-05","old_value":3350,"new_value":3200},"sale_time_on_market":{"date_start":"2021-06-17","date_end":"2021-12-09","days_on_market":176,"has_untracked_period":false},"rent_time_on_market":{"date_start":"2020-09-23","date_end":"2021-06-28","days_on_market":279,"has_untracked_period":false},"sale_active_listings_count":0,"rent_active_listings_count":0,"similarity_score":0.518,"listing_urls":[],"ref_numbers":[],"is_outlier":false,"is_private_property":false,"energy_certificate":"B","energy_rating":"B"}],"dvf_results":[{"dvf_reference":2022536672,"coordinates":{"lat":48.8704,"lon":2.28867},"distance":1.05,"type":"apartment","type_group":"apartment","sale_price":1450000,"sale_price_base":1450000,"sale_price_psqm":12946.4,"sale_price_psqm_base":12946.4,"sold_at":"2022-06-30T00:00:00","total_area":112,"rooms":3,"bedrooms":2,"address":"3.0, 4153, 75016.0, 75116, Paris 16e Arrondissement","location":{"location_id":464501,"name":"Chaillot","administrative_level":"Quartier","zip_codes":["75116"]},"locations_structure":[{"location_id":458874,"name":"France","administrative_level":"Pays","zip_codes":[]},{"location_id":460841,"name":"Île-de-France","administrative_level":"Région","zip_codes":[]},{"location_id":464393,"name":"Paris","administrative_level":"Département","zip_codes":[]},{"location_id":464500,"name":"Paris 16ème","administrative_level":"Arrondissement","zip_codes":["75016","75116"]},{"location_id":464501,"name":"Chaillot","administrative_level":"Quartier","zip_codes":["75116"]}],"sale_status":"sold","thumbnails":[]}],"transactional_data":[{"id":1,"reference":"SVP1651","cadastral_reference":"3209303VK4730G","bedrooms":4,"bathrooms":1,"coordinates":{"lat":38.72173045073177,"lon":-9.139062286971456},"total_area":105.0,"plot_area":1680.0,"source_typology":"apartment","source_annexes":"Aparcamiento anejo","type":"apartment","type_group":"apartment","sold_at":"2023-05-27T09:18:00Z","currency":"EUR","price":632400.0,"price_per_sqm":6022.86,"with_mortgage":true,"distance":0.06,"location_id":5339,"construction_year":1990,"address":"Cataluña  BARCELONA CORSEGA, 293","location":{"location_id":5339,"name":"Barcelos, Vila Boa, Vila Frescainha (São Martinho) e São Pedro (Manteigas)","administrative_level":"Freguesia","zip_codes":[]},"locations_structure":[{"location_id":499,"name":"Portugal","administrative_level":"País","zip_codes":[]},{"location_id":4649,"name":"Braga","administrative_level":"Distrito","zip_codes":[]},{"location_id":4759,"name":"Barcelos","administrative_level":"Concelho","zip_codes":[]},{"location_id":5339,"name":"Barcelos, Vila Boa, Vila Frescainha (São Martinho) e São Pedro (Manteigas)","administrative_level":"Freguesia","zip_codes":[]}],"image_url":"http://www.street_view.com/1","country_code":"PT"}],"statistics":{"average_price":1506739,"average_price_per_sqm":12321.0,"average_time_on_the_market":43,"average_listings_per_property":2.7,"sold_or_rented_in_last_six_months":26},"estimated_prices":{"fast_sell_price":1432316,"fair_market_price":1540125,"out_of_market_price":1647934,"fast_sell_price_per_sqm":11458.53,"fair_market_price_per_sqm":12321.0,"out_of_market_price_per_sqm":13183.47},"casafari_link":"http://app-server.application.svc.cluster.local:8080/market-analytics/valuation?valuation_businessType=sale&val..."}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v2/comparables/ai-builder":{"post":{"tags":["api---comparables"],"summary":"Initialize an AI Builder session (v2)","description":"Initializes an AI Builder session from a saved CMA (valuation) and returns\n    the generated report ID along with the URL of the AI Builder session.","operationId":"api__post__v2__comparables__ai-builder","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAIBuilderRequestV2"},"examples":{"0":{"value":{"valuation_id":1,"agent":{"first_name":"John","last_name":"Doe","shop_name":"Example Realty","photo_url":"https://example.com/photo.jpg","email":"john.doe@example.com","phone":"+351912345678","whatsapp":"+351912345678","instagram":"example_agent","telegram":"example_agent","agent_webpage":"https://example.com/agent-page","agent_bio":"Experienced real estate agent."},"language":"en","external_ref":"CRM-12345"}}}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiAIBuilderResponseV2"},"examples":{"0":{"value":{"id":"6a43a32841b3e35c735b9053","url":"https://www.casafari.com/market-report/valuation/builder/6a43a32841b3e35c735b9053"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"Authentication credentials were not provided."}},"type":"object"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"properties":{"detail":{"type":"string","description":"Description of the error encountered.","example":"You do not have permission to perform this action."}},"type":"object"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"properties":{"errors":{"type":"object","description":"Description of the errors encountered."}},"type":"object"}}}}},"security":[{"HTTPBearer":[]}]}},"/market-analytics-api/analysis":{"post":{"tags":["market-analytics-api---analysis"],"summary":"Analysis","description":"Market analysis based on the requested property parameters.","operationId":"market-analytics-api__post__analysis","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiAnalysisRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiAnalysisResponse","title":"Response Analysis Analysis Post"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/market-analytics-api/distributions/properties":{"post":{"tags":["market-analytics-api---distributions"],"summary":"Properties Distribution","description":"Returns the properties lightweight data sample and distribution quartiles.<br>Lightweight data includes only price and location data.","operationId":"market-analytics-api__post__distributions__properties","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiPropertiesDistributionRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiPropertiesDistributionResponseSchema"}}}},"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/market-analytics-api/distributions/prices":{"post":{"tags":["market-analytics-api---distributions"],"summary":"Price Distribution","description":"Returns the number of properties distributed across price ranges.<br>Each range is defined by price boundaries and shows the number of properties with prices falling within those boundaries.","operationId":"market-analytics-api__post__distributions__prices","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiPriceDistributionRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiPriceDistributionUnitResponseSchema"},"type":"array","title":"Response Price Distribution Distributions Prices Post"}}}},"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/market-analytics-api/distributions/bedrooms":{"post":{"tags":["market-analytics-api---distributions"],"summary":"Bedrooms Distribution","description":"Returns property distribution based on the number of bedrooms.<br>Each distribution unit includes the bedroom count, number of matching properties, and related analysis.","operationId":"market-analytics-api__post__distributions__bedrooms","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiBedroomsDistributionRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiBedroomsDistributionUnitResponseSchema"},"type":"array","title":"Response Bedrooms Distribution Distributions Bedrooms Post"}}}},"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/market-analytics-api/distributions/time-on-market":{"post":{"tags":["market-analytics-api---distributions"],"summary":"Time On Market Distribution","description":"Returns time on market (days and months) distribution by price ranges.<br>Each distribution unit is defined by price boundaries and includes the time on market for properties within those boundaries.","operationId":"market-analytics-api__post__distributions__time-on-market","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiTimeOnMarketDistributionRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiTimeOnMarketDistributionUnitResponseSchema"},"type":"array","title":"Response Time On Market Distribution Distributions Time On Market Post"}}}},"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/market-analytics-api/time-series":{"post":{"tags":["market-analytics-api---time series"],"summary":"Time Series","description":"Returns time series data for the real estate market.<br>Each time series unit includes the interval start date based on the provided `date_interval` and a value corresponding to the selected `data_point`.","operationId":"market-analytics-api__post__time-series","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiTimeSeriesRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiTimeSeriesUnitResponseSchema"},"type":"array","title":"Response Time Series Time Series Post"}}}},"204":{"description":"No Content"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAnalyticsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/alerts-api/webhooks":{"put":{"tags":["alerts-api---webhooks"],"summary":"Set webhook URL","description":"Sets (or replaces) the delivery URL for **all** your alert feeds.\n\nBefore saving, a **GET** request is sent to the URL — your server must respond with HTTP **200**, otherwise this endpoint returns **400**.\n\nAlert deliveries themselves arrive as **POST** requests with a JSON array body.\n\nThe URL is stored per user: changing it here instantly affects every feed, including alerts already queued for delivery. Feeds cannot be created until the webhook is configured.\n\nA signing secret is provisioned on the first call and returned in `secret` **once**; later calls return `secret: null`. Lost it? Use `POST /webhooks/rotate-secret`.","operationId":"alerts-api__put__webhooks","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiSetWebhookRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiSetWebhookResponseSchema"}}}},"400":{"description":"Webhook URL verification failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiErrorDetailSchema"},"example":{"detail":"Webhook URL verification failed: Expected HTTP 200, got 404."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/alerts-api/webhooks/rotate-secret":{"post":{"tags":["alerts-api---webhooks"],"summary":"Rotate signing secret","description":"Issues a new current signing secret. By default the previous secrets stay valid for a **24-hour grace window** so you can install the new key before removing the old one. Pass `{\"immediate\": true}` to revoke all previous secrets right away — use this only when a secret is compromised.","operationId":"alerts-api__post__webhooks__rotate-secret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiRotateSecretRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiRotateSecretResponseSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/alerts-api/feeds":{"get":{"tags":["alerts-api---feeds"],"summary":"List feeds","description":"Returns a paginated list of feeds, sorted newest first. Follow `next_url` directly to get the next page - it is an opaque URL, do not construct it manually.","operationId":"alerts-api__get__feeds","parameters":[{"required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"},"name":"cursor","in":"query"},{"description":"Number of feeds to return per page.","required":false,"schema":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","description":"Number of feeds to return per page.","default":20},"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiFeedListResponseSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["alerts-api---feeds"],"summary":"Create feed","description":"Create a new alert feed that delivers matching real estate events to your webhook URL.\n\n## Alert Delivery Format\n\nEvents are delivered as a **POST** request with a single JSON object body:\n\n```json\n{\n  \"alert_id\": 100042,\n  \"url\": \"https://www.casafari.com/listing/12345\",\n  \"address\": \"Rua do Exemplo 12, Lisbon\",\n  \"location\": \"Lisbon\",\n  \"sale_status\": \"active\",\n  \"sale_price\": 250000,\n  \"sale_price_psqm\": 2500.0,\n  \"sale_currency\": \"EUR\",\n  \"rent_status\": \"none\",\n  \"rent_price\": 0,\n  \"rent_period\": \"none\",\n  \"rent_price_psqm\": 0.0,\n  \"rent_currency\": \"EUR\",\n  \"thumbnails\": [\n    \"https://cdn.example.com/thumb1.jpg\"\n  ],\n  \"matched_feeds\": [\n    {\n      \"feed_id\": 42,\n      \"feed_name\": \"My Alert Feed\"\n    }\n  ]\n}\n```\n\nYour server must respond with HTTP **200**. Any other status code is treated as a failure.\n\n## Before You Start: Configure Your Webhook\n\nFeeds deliver to your **per-user webhook URL** — one URL for all feeds, managed separately:\n\n1. `PUT /webhooks` — set your delivery URL (it is probed with a GET and must answer 200)\n2. Create feeds — this endpoint returns **409** until the webhook is configured\n\nChanging the URL via `PUT /webhooks` instantly affects all feeds, including already-queued alerts.\n\n## Retry Policy\n\nIf your server does not respond with HTTP 200 within **5 seconds**, delivery is retried —\n**60 seconds** after the first failure, then every **10 minutes** — until the alert expires\n(typically 24h). Feeds are never disabled automatically.\n\n## Authentication of deliveries\n\nEvery delivery is signed with [Standard Webhooks](https://www.standardwebhooks.com/): each POST\ncarries `webhook-id`, `webhook-timestamp`, and `webhook-signature` headers. Verify the\nHMAC-SHA256 signature over the raw request body using the secret from `PUT /webhooks`\n(rotate it via `POST /webhooks/rotate-secret`).","operationId":"alerts-api__post__feeds","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiCreateAlertFeedRequestSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiFeedDetailResponseSchema"}}}},"409":{"description":"Webhook is not configured.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiErrorDetailSchema"},"example":{"detail":"No webhook configured. Set your delivery URL via PUT /webhooks first."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/alerts-api/feeds/{feed_id}":{"get":{"tags":["alerts-api---feeds"],"summary":"Get feed","description":"Returns the feed configuration in the same format as it was originally created. Filters that were not set at creation time are omitted entirely (not returned as null); filters explicitly set to null are returned as null.","operationId":"alerts-api__get__feeds__{feed_id}","parameters":[{"required":true,"schema":{"type":"integer","title":"Feed Id"},"name":"feed_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiFeedDetailResponseSchema"}}}},"404":{"description":"Feed not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiErrorDetailSchema"},"example":{"detail":"Feed not found."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["alerts-api---feeds"],"summary":"Delete feed","description":"Permanently removes the feed. No further alerts will be delivered for it.","operationId":"alerts-api__delete__feeds__{feed_id}","parameters":[{"required":true,"schema":{"type":"integer","title":"Feed Id"},"name":"feed_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiSuccessResponseSchema"}}}},"404":{"description":"Feed not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiErrorDetailSchema"},"example":{"detail":"Feed not found."}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsApiHTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"UserManagementAccessRequest":{"properties":{"params":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Params"},"headers":{"additionalProperties":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}]},"type":"object","title":"Headers","description":"Request header type."},"method":{"$ref":"#/components/schemas/UserManagementHTTPMethod"},"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url"},"query":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Query"},"endpoint_name":{"type":"string","title":"Endpoint Name"},"service_name":{"$ref":"#/components/schemas/UserManagementServiceEnum"}},"type":"object","required":["params","headers","method","url","query","endpoint_name","service_name"],"title":"AccessRequest"},"UserManagementAccessResponse":{"properties":{"user_id":{"type":"integer","title":"User Id"},"company_id":{"type":"string","title":"Company Id"},"allowed_locations":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Allowed Locations"},"country_ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Country Ids"}},"type":"object","required":["user_id","company_id","allowed_locations","country_ids"],"title":"AccessResponse"},"UserManagementBody_authorize_post_oauth_authorize_post":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"Body_authorize_post_oauth_authorize_post"},"UserManagementBody_introspect_oauth_introspect_post":{"properties":{"token":{"type":"string","title":"Token"},"client_id":{"type":"string","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"}},"type":"object","required":["token","client_id","client_secret"],"title":"Body_introspect_oauth_introspect_post"},"UserManagementClientRegistrationRequest":{"properties":{"redirect_uris":{"items":{"type":"string"},"type":"array","title":"Redirect Uris"},"token_endpoint_auth_method":{"type":"string","title":"Token Endpoint Auth Method","default":"none"},"grant_types":{"items":{"type":"string"},"type":"array","title":"Grant Types"},"response_types":{"items":{"type":"string"},"type":"array","title":"Response Types"},"client_name":{"anyOf":[{"type":"string","maxLength":150},{"type":"null"}],"title":"Client Name"}},"type":"object","title":"ClientRegistrationRequest","description":"RFC 7591 Dynamic Client Registration request (public MCP connectors: Claude/ChatGPT/custom).\n\nSemantic validation (allowed grant types, redirect-uri safety) lives in the registration service so it can\nreturn RFC 7591 error codes; this model only captures the metadata fields and their structural defaults."},"UserManagementClientRegistrationResponse":{"properties":{"client_id":{"type":"string","title":"Client Id"},"client_id_issued_at":{"type":"integer","title":"Client Id Issued At"},"token_endpoint_auth_method":{"type":"string","title":"Token Endpoint Auth Method"},"grant_types":{"items":{"type":"string"},"type":"array","title":"Grant Types"},"response_types":{"items":{"type":"string"},"type":"array","title":"Response Types"},"redirect_uris":{"items":{"type":"string"},"type":"array","title":"Redirect Uris"},"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"},"client_secret_expires_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Client Secret Expires At"}},"type":"object","required":["client_id","client_id_issued_at","token_endpoint_auth_method","grant_types","response_types","redirect_uris"],"title":"ClientRegistrationResponse","description":"RFC 7591 §3.2.1 client information response. `client_secret`/`client_secret_expires_at` appear only for\nconfidential clients; public clients omit them (serialized with exclude_none by the route)."},"UserManagementDetailsResponse":{"properties":{"details":{"type":"string","title":"Details"}},"type":"object","required":["details"],"title":"DetailsResponse"},"UserManagementHTTPMethod":{"type":"string","enum":["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"],"title":"HTTPMethod"},"UserManagementHTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/UserManagementValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"UserManagementIntrospectionResponse":{"properties":{"active":{"type":"boolean","title":"Active"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"},"sub":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sub"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"token_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Type"},"aud":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aud"},"exp":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Exp"},"mcp_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Tools"},"allowed_locations":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Allowed Locations"},"country_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Country Ids"}},"type":"object","required":["active"],"title":"IntrospectionResponse"},"UserManagementJWTRefreshTokenResponseSchema":{"properties":{"access_token":{"type":"string","title":"Access Token"}},"type":"object","required":["access_token"],"title":"JWTRefreshTokenResponseSchema"},"UserManagementJWTTokenResponseSchema":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["access_token","refresh_token"],"title":"JWTTokenResponseSchema"},"UserManagementLoginRequestSchema":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","minLength":1,"title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequestSchema"},"UserManagementServiceEnum":{"type":"string","enum":["api","properties-api","transactional-data","cadastre-api","market-analytics-api","transactional-data-api","french-energy-certification-api","config-template-creator-ai-api","application-service","alerts-api","poi-places-api"],"title":"ServiceEnum"},"UserManagementValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ApiTypesV1":{"properties":{"types":{"items":{"properties":{"group":{"type":"string","description":"Name of the group of types."},"names":{"items":{"type":"string"},"type":"array","description":"List of type names that belong to a specific group."}},"type":"object","required":["group","names"]},"type":"array","description":"List of grouped property types."},"types_with_countries":{"items":{"properties":{"name":{"type":"string","description":"Type name."},"countries":{"items":{"type":"string"},"type":"array","description":"List of countries where the type is available."}},"type":"object","required":["name","countries"]},"type":"array","description":"List of type names with countries where each type is available."}},"type":"object","required":["types","types_with_countries"]},"ApiFeaturesV1":{"properties":{"group":{"type":"string","description":"Name of the group of features."},"names":{"items":{"type":"string"},"type":"array","description":"List of feature names that belong to a specific group."}},"type":"object","required":["group","names"]},"ApiReferenceLocationV1":{"properties":{"location_id":{"type":"integer","description":"ID of the location."},"name":{"type":"string","description":"Name of the location."},"parent_id":{"type":"integer","description":"ID of the parent level location."},"administrative_level":{"type":"string","description":"Location administrative level."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]},"level":{"type":"integer","description":"Location level as number."}},"type":"object","required":["location_id","name","administrative_level","level"]},"type":"array","description":"Information about all the parent locations, starting from the top-most level - country."}},"type":"object","required":["location_id","name","parent_id","administrative_level","locations_structure"]},"ApiConditionsV1":{"properties":{"conditions":{"items":{"type":"string"},"type":"array","description":"List of condition names."}},"type":"object","required":["conditions"]},"ApiAgenciesV1":{"properties":{"name":{"type":"string","description":"Name of the agency."},"agency_type":{"type":"string","description":"Type of the agency."},"source_ids":{"items":{"type":"integer"},"type":"array","description":"List of source IDs that belongs to the agency."}},"type":"object","required":["name","agency_type","source_ids"]},"ApiAgentsV1":{"properties":{"agents":{"items":{"type":"string"},"type":"array","description":"The list of suggested agents."}},"type":"object","required":["agents"]},"ApiSourcesV1":{"properties":{"domains":{"items":{"type":"string"},"type":"array","description":"The domain urls."}},"type":"object","required":["domains"]},"ApiAlertsFeedV1":{"properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string","maxLength":200,"description":"Name of the feed."},"filter":{"properties":{"operation":{"type":"string","enum":["sale","rent"],"description":"Operation type."},"location_ids":{"items":{"type":"integer","maximum":2147483647.0,"minimum":1.0},"type":"array","maxItems":100,"description":"List of location IDs, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint."},"custom_location":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Closed polygon of geo-points to search within. First and last points must match.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `custom_locations` field instead.</strong>"},"custom_locations":{"items":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array"},"type":"array","maxItems":4,"description":"List of closed polygons of geo-points to search within. Each polygon must contain at least 4 points. First and last points must match in each polygon. Maximum 4 polygons allowed."},"types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"<br>Country availability per type is available at the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br><br>Property types by type groups:<br/><strong>apartment:</strong> etagenwohnung, apartment, duplex, studio, erdgeschosswohnung, dachgeschosswohnung, penthouse<br/><strong>house:</strong> family_house (<span style=\"color:red\">DEPRECATED</span>), house, country_estate, palace, bungalow, landwirtschaftliche_betriebe, country_house, zweifamilienhaus, reihenendhaus, villa, reihenmittelhaus, reihenhaus, townhouse, chalet, einfamilienhaus<br/><strong>room:</strong> room<br/><strong>building:</strong> office_building, mix_use_building, apartment_building<br/><strong>investment:</strong> retail, other_commercial, restaurant, werkstatt, office, warehouse, hotel, industrial<br/><strong>plot:</strong> urban_plot, plot (<span style=\"color:red\">DEPRECATED</span>), rural_plot<br/><strong>other:</strong> parking, garage, other"},"conditions":{"items":{"type":"string","enum":["used","ruin","very-good","new","other"]},"type":"array","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"alert_date_from":{"type":"string","format":"date","description":"Start date (in the format `YYYY-MM-DD`) of the period for alerts of interest."},"alert_date_to":{"type":"string","format":"date","description":"End date (in the format `YYYY-MM-DD`) of the period for alerts of interest."},"created_at_from":{"type":"string","format":"date-time","description":"Start date and time (in the format `YYYY-MM-DDTHH:mm:ss`) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data."},"created_at_to":{"type":"string","format":"date-time","description":"End date and time (in the format `YYYY-MM-DDTHH:mm:ss`) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data."},"created_at_with_photos_from":{"type":"string","format":"date-time","description":"Start date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos.\nNote: Some alerts may still not have photos if the original listing did not include any."},"created_at_with_photos_to":{"type":"string","format":"date-time","description":"End date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos.\nNote: Some alerts may still not have photos if the original listing did not include any."},"statuses":{"items":{"type":"string","enum":["active","reserved","hold","sold","rented"]},"type":"array","description":"Current status of the listing."},"price_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum price value."},"price_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum price value."},"price_per_sqm_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum value for price per square meter."},"price_per_sqm_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum value for price per square meter."},"bedrooms_from":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Minimum number of bedrooms."},"bedrooms_to":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Maximum number of bedrooms."},"bathrooms_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of bathrooms."},"bathrooms_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of bathrooms."},"total_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum total area."},"total_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum total area."},"plot_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum plot area."},"plot_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum plot area."},"construction_year_from":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Minimum construction year."},"construction_year_to":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Maximum construction year."},"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type of the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `floors` field instead.</strong>"},"floors":{"items":{"type":"string","enum":["no_floor","ground","middle","top"]},"type":"array"},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation."},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>"},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array"},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>"},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array"},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics."},"alert_subtypes":{"items":{"type":"string","enum":["new","price_up","price_down","reserved","delisted","sold"]},"type":"array","description":"Alert subtypes."},"private":{"type":"boolean","description":"Whether to return alerts only from properties listed by a private individual, as opposed to an agent or a professional."},"auction":{"type":"boolean","description":"Whether to return alerts from auction property listings."},"bank":{"type":"boolean","description":"Whether to return alerts from bank property listings."},"new_development":{"type":"boolean","description":"Whether to return alerts from new development property listings."},"listing_agents":{"items":{"type":"string"},"type":"array","description":"Return alerts only for properties from specified agents. To find allowed agent names use the [GET /api/v1/references/agents](/#operation/api__get__v1__references__agents) endpoint."},"with_agencies":{"items":{"type":"string"},"type":"array","description":"Return alerts only for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"without_agencies":{"items":{"type":"string"},"type":"array","description":"Exclude alerts for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"exclusive":{"type":"boolean","description":"Whether to return alerts exclusively from specific listings rather than from all related to the property listings.<br/>Can be passed only along with at least one of the fields: `private`, `with_agencies`, `without_agencies`."},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings."},"has_phone":{"type":"boolean","description":"Whether to return alerts only from listings with or without `phone` number."},"has_email":{"type":"boolean","description":"Whether to return alerts only from listings with or without email."},"has_agency_name":{"type":"boolean","description":"Whether to return alerts only from listings with or without agency name."},"property_ids":{"items":{"type":"integer","minimum":1.0},"type":"array","maxItems":100,"description":"List of property IDs."},"listing_ids":{"items":{"type":"integer","minimum":1.0},"type":"array","maxItems":100,"description":"List of listing IDs."}},"type":"object","required":["operation"],"description":"Set of clauses to filter alerts."},"user":{"type":"string","format":"email","readOnly":true}},"type":"object","required":["name","filter"]},"ApiAlertDocumentsV1":{"properties":{"alert_id":{"type":"integer","description":"ID of the alert."},"listing_id":{"type":"integer","description":"ID of the listing (ad)."},"ref":{"type":"string","description":"The reference ID of the listing."},"alert_type":{"type":"string","enum":["sale_price","sale_status","rent_price","rent_status","new"],"description":"The type of the alert."},"alert_subtype":{"type":"string","enum":["new","price_up","price_down","reserved","delisted","sold"],"description":"The subtype of the alert.","nullable":true},"old_value":{"type":"string","description":"Value before change."},"new_value":{"type":"string","description":"Value after change."},"alert_date":{"type":"string","format":"date","description":"Date when the alert occurred."},"alert_date_and_time":{"type":"string","description":"Date and time when the alert occurred.","readOnly":true,"nullable":true},"property_url":{"type":"string","description":"URL of the property in the CASAFARI website.","readOnly":true,"nullable":true},"listing_url":{"type":"string","description":"URL of the listing. Available only for currently active listings.","readOnly":true,"nullable":true},"listing_old_url":{"type":"string","description":"Old URL of the listing. Available only for currently inactive listings.","readOnly":true,"nullable":true},"listing_uid":{"type":"string","description":"Unique ID of the listing on the source site."},"property_id":{"type":"integer","description":"ID of the property to which the listing belongs."},"title":{"type":"string","description":"Listing title."},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Listing property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"type_group":{"type":"string","description":"Listing property type group, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"],"description":"Information about property location."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array","description":"Information about all the parent locations (including property location) up to the country."},"address":{"type":"string","description":"Property address."},"zip_code":{"type":"string","description":"The location zip code.","nullable":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","nullable":true},"coordinates":{"properties":{"latitude":{"type":"number","description":"Latitude."},"longitude":{"type":"number","description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Property coordinates.","nullable":true},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"contacts_info":{"properties":{"name":{"type":"string","description":"The owner name. Only for FSBO listings.","nullable":true},"email":{"type":"string","format":"email","description":"The email contact.","nullable":true},"phone":{"type":"string","description":"The phone contact.","nullable":true}},"type":"object","required":["name","email","phone"],"description":"Information about listing contacts."},"total_area":{"type":"integer","description":"Total area."},"living_area":{"type":"integer","description":"Living area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"rooms":{"type":"integer","description":"Number of rooms."},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"features":{"properties":{"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type.","nullable":true},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation.","nullable":true},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>","nullable":true},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property.","nullable":true},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>","nullable":true},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces.","nullable":true},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics.","nullable":true}},"type":"object","required":["floor","orientation","view","views","direction","directions","characteristics"],"description":"Property features, as returned by the [GET /api/v1/references/features](/#operation/api__get__v1__references__features) endpoint."},"construction_year":{"type":"integer","description":"Construction year."},"operations":{"items":{"type":"string","enum":["sale","rent"]},"type":"array","description":"Operation types for which listing property is available."},"is_bank_property":{"type":"boolean","description":"Whether the listing property is a bank property."},"is_auction_property":{"type":"boolean","description":"Whether the listing property is an auction property."},"is_new_development_property":{"type":"boolean","description":"Whether the listing property is a new development property."},"is_private_property":{"type":"boolean","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Current sale status of the listing."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price_base":{"type":"integer","description":"Current sale price, in Euros."},"sale_price":{"type":"integer","description":"Current sale price, in the currency of the listing (specified by the `sale_currency` field)."},"sale_price_per_sqm":{"type":"number","description":"Current sale price per square meter, in the currency of the listing (specified by the `sale_currency` field)."},"sale_price_per_sqm_base":{"type":"number","description":"Current sale price per square meter, in Euros."},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Current rent status of the listing."},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_price_base":{"type":"integer","description":"Current rent price, in Euros."},"rent_price":{"type":"integer","description":"Current rent price, in the currency of the listing (specified by the `rent_currency` field)."},"rent_price_per_sqm":{"type":"number","description":"Current rent price per square meter, in the currency of the listing (specified by the `rent_currency` field)."},"rent_price_per_sqm_base":{"type":"number","description":"Current rent price per square meter, in Euros."},"rent_period":{"type":"string","enum":["day","week","fortnight","month","year","none"],"description":"Rent period."},"agency_legal_id":{"type":"string","description":"Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM)."},"agency":{"type":"string","description":"The company that manages the listing."},"agent":{"type":"string","description":"The agent that manages the listing."},"source_name":{"type":"string","description":"The name of the source."},"description":{"type":"string","description":"Listing description."},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true},"pictures":{"items":{"type":"string"},"type":"array","description":"List of the original picture image URLs.","readOnly":true},"created_at":{"type":"string","format":"date-time","description":"Date and time when the alert was created (UTC)."},"created_at_with_photos":{"type":"string","format":"date-time","description":"Date and time (UTC) when the alert was created and its photos were processed. Can be `null` if photo processing has not finished yet.\nIf the listing has no photos but the system has finished the processing, this field will contain its date and time.","nullable":true},"updated_at":{"type":"string","format":"date-time","description":"Date and time when the alert data was updated (UTC)."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a listing. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>"},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a listing."},"heating_type":{"type":"string","description":"Type of heating."},"available_from":{"type":"string","format":"date","description":"The date the listing property becomes available for occupancy. The start of the availability window.","nullable":true},"available_to":{"type":"string","format":"date","description":"The date the listing property stops being available. The end of the availability window.","nullable":true}},"type":"object","required":["alert_id","listing_id","ref","alert_type","alert_subtype","old_value","new_value","alert_date","listing_uid","property_id","title","type","type_group","location","locations_structure","address","zip_code","cadastral_reference","coordinates","condition","contacts_info","total_area","living_area","plot_area","terrace_area","bedrooms","rooms","bathrooms","features","construction_year","operations","is_bank_property","is_auction_property","is_new_development_property","is_private_property","sale_status","sale_currency","sale_price_base","sale_price","sale_price_per_sqm","sale_price_per_sqm_base","rent_status","rent_currency","rent_price_base","rent_price","rent_price_per_sqm","rent_price_per_sqm_base","rent_period","agency_legal_id","agency","agent","source_name","description","created_at","created_at_with_photos","updated_at","energy_certificate","energy_rating","heating_type","available_from","available_to"]},"ApiPropertyDetailResponseV1":{"properties":{"property_id":{"type":"integer","description":"ID of the property."},"primary_listing_id":{"type":"integer","description":"Primary listing (ad) ID of the property which is defined after the matching into property."},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"type_group":{"type":"string","description":"Property type group, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"operations":{"items":{"type":"string","enum":["sale","rent"]},"type":"array","description":"Operation types for which property is available."},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"],"description":"Information about property location."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array","description":"Information about all the parent locations (including property location) up to the country."},"coordinates":{"properties":{"latitude":{"type":"number","description":"Latitude."},"longitude":{"type":"number","description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Property coordinates.","nullable":true},"total_area":{"type":"integer","description":"Total area."},"living_area":{"type":"integer","description":"Living area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"rooms":{"type":"integer","description":"Number of rooms."},"number_of_parkings":{"type":"integer","description":"Number of parking spaces.","nullable":true},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_period":{"type":"string","enum":["day","week","fortnight","month","year","none"],"description":"Rent period."},"rent_price":{"type":"integer","description":"Current rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Current rent status of the property."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Current sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Current sale status of the property."},"is_private_property":{"type":"boolean","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"features":{"properties":{"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type.","nullable":true},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation.","nullable":true},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>","nullable":true},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property.","nullable":true},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>","nullable":true},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces.","nullable":true},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics.","nullable":true}},"type":"object","required":["floor","orientation","view","views","direction","directions","characteristics"],"description":"Property features, as returned by the [GET /api/v1/references/features](/#operation/api__get__v1__references__features) endpoint."},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"sale_time_on_market":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date of activity on the market."},"date_end":{"type":"string","format":"date","description":"End date of activity on the market.","nullable":true},"days_on_market":{"type":"integer","description":"Number of days property was / is on the market."},"has_untracked_period":{"type":"boolean","description":"Whether the property was already on the market when it started being tracked."}},"type":"object","required":["date_start","date_end","days_on_market","has_untracked_period"],"description":"Information about the property last activity on the sales market.","nullable":true},"rent_time_on_market":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date of activity on the market."},"date_end":{"type":"string","format":"date","description":"End date of activity on the market.","nullable":true},"days_on_market":{"type":"integer","description":"Number of days property was / is on the market."},"has_untracked_period":{"type":"boolean","description":"Whether the property was already on the market when it started being tracked."}},"type":"object","required":["date_start","date_end","days_on_market","has_untracked_period"],"description":"Information about the property last activity on the rental market.","nullable":true},"listings":{"items":{"properties":{"listing_id":{"type":"integer","description":"ID of the listing (ad)."},"total_area":{"type":"integer","description":"Total area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"rooms":{"type":"integer","description":"Number of rooms."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Current sale status of the listing."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Current sale price, in the currency of the listing (specified by the `sale_currency` field)."},"sale_price_base":{"type":"integer","description":"Current sale price, in Euros."},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Current rent status of the listing."},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_price":{"type":"integer","description":"Current rent price, in the currency of the listing (specified by the `rent_currency` field)."},"rent_price_base":{"type":"integer","description":"Current rent price, in Euros."},"agency_legal_id":{"type":"string","description":"Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM)."},"agency":{"type":"string","description":"The company that manages the listing."},"listing_url":{"type":"string","description":"URL of the listing. Available only for currently active listings.","readOnly":true,"nullable":true},"listing_old_url":{"type":"string","description":"Old URL of the listing. Available only for currently inactive listings.","readOnly":true,"nullable":true},"description":{"type":"string","description":"Property description."},"listing_uid":{"type":"string","description":"Unique ID of the listing on the source site."},"construction_year":{"type":"integer","description":"Construction year."},"source_name":{"type":"string","description":"The name of the source where the listing is displayed."},"contacts_info":{"properties":{"name":{"type":"string","description":"The owner name. Only for FSBO listings.","nullable":true},"email":{"type":"string","format":"email","description":"The email contact.","nullable":true},"phone":{"type":"string","description":"The phone contact.","nullable":true}},"type":"object","required":["name","email","phone"],"description":"Information about listing contacts."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>"},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property."},"heating_type":{"type":"string","description":"Type of heating."},"ceiling_label":{"type":"string","description":"Ceiling height in meters.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"commission":{"type":"number","description":"Commission percentage.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"min_rent_area":{"type":"integer","description":"Minimum rental area in square meters (mainly applicable to commercial properties).<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"companies":{"items":{"properties":{"name":{"type":"string","description":"Company name."},"casafari_connect_on":{"type":"boolean","description":"Whether the company is connected to Casafari Connect."}},"type":"object","required":["name","casafari_connect_on"]},"type":"array","description":"Companies to which the listing belongs."},"created_at":{"type":"string","format":"date","description":"The datetime when the listing was added."},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"is_private":{"type":"boolean","description":"Whether the listing is listed by a private individual, as opposed to an agent or a professional."},"casafari_connect":{"type":"boolean","description":"Whether the company is connected to Casafari Connect.","nullable":true},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true},"pictures":{"items":{"type":"string"},"type":"array","description":"List of the original picture image URLs.","readOnly":true},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers.","readOnly":true},"is_private_property":{"type":"boolean","description":"Whether the listing is listed by a private individual, as opposed to an agent or a professional."},"is_auction_property":{"type":"boolean","description":"Whether the listing is an auction property."},"is_bank_property":{"type":"boolean","description":"Whether the listing is a bank property."}},"type":"object","required":["listing_id","total_area","plot_area","terrace_area","bedrooms","bathrooms","rooms","sale_status","sale_currency","sale_price","sale_price_base","rent_status","rent_currency","rent_price","rent_price_base","agency_legal_id","agency","description","listing_uid","construction_year","source_name","contacts_info","energy_certificate","energy_rating","heating_type","ceiling_label","commission","min_rent_area","companies","created_at","floor_number","is_private","casafari_connect","is_private_property","is_auction_property","is_bank_property"]},"type":"array","description":"The list of listings related to the property."},"history":{"items":{"properties":{"sale_price":{"type":"integer","description":"Sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_currency":{"type":"string","description":"Sale price currency code."},"rent_price":{"type":"integer","description":"Rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_currency":{"type":"string","description":"Rent price currency code."},"changed_at":{"type":"string","format":"date","description":"Date when the estate was last updated."}},"type":"object","required":["sale_price","sale_currency","rent_price","rent_currency","changed_at"]},"type":"array","description":"('List of sale and rent price history data. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `sale_price_history and rent_price_history` field instead.</strong>',)","default":[]},"sale_price_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"sale_price_old":{"type":"integer","description":"Old sale price, in the currency of the listings."},"sale_price_new":{"type":"integer","description":"New sale price, in the currency of the listings."}},"type":"object","required":["date_start","date_end","sale_price_old","sale_price_new"]},"type":"array","description":"List of sale price history data.","default":[]},"rent_price_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"rent_price_old":{"type":"integer","description":"Old rent price, in the currency of the listings."},"rent_price_new":{"type":"integer","description":"New rent price, in the currency of the listings."}},"type":"object","required":["date_start","date_end","rent_price_old","rent_price_new"]},"type":"array","description":"List of rent price history data.","default":[]},"sale_status_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"sale_status_old":{"type":"string","description":"Old sale status, in the currency of the listings."},"sale_status_new":{"type":"string","description":"New sale status, in the currency of the listings."}},"type":"object","required":["date_start","date_end","sale_status_old","sale_status_new"]},"type":"array","description":"List of sale status history data.","default":[]},"rent_status_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"rent_status_old":{"type":"string","description":"Old rent status, in the currency of the listings."},"rent_status_new":{"type":"string","description":"New rent status, in the currency of the listings."}},"type":"object","required":["date_start","date_end","rent_status_old","rent_status_new"]},"type":"array","description":"List of rent status history data.","default":[]},"property_url":{"type":"string","description":"URL of the property in the CASAFARI website.","readOnly":true,"nullable":true},"address":{"type":"string","description":"Property address."},"zip_code":{"type":"string","description":"The location zip code.","nullable":true},"distance":{"type":"number","description":"Distance in kilometers from target point to the property.Available only when the `custom_location_boundary.circle` field is defined in the request.","readOnly":true,"nullable":true},"description":{"type":"string","description":"Property description."},"construction_year":{"type":"integer","description":"Construction year."},"rent_price_base":{"type":"integer","description":"Current rent price, in Euros."},"rent_price_per_sqm":{"type":"number","description":"Current rent price per square meter, in the currency of the listings (specified by the `rent_currency` field)."},"rent_price_per_sqm_base":{"type":"number","description":"Current rent price per square meter, in Euros."},"sale_price_base":{"type":"integer","description":"Current sale price, in Euros."},"sale_price_per_sqm":{"type":"number","description":"Current sale price per square meter, in the currency of the listings (specified by the `sale_currency` field)."},"sale_price_per_sqm_base":{"type":"number","description":"Current sale price per square meter, in Euros."},"is_auction_property":{"type":"boolean","description":"Whether the property is an auction property."},"is_bank_property":{"type":"boolean","description":"Whether the property is a bank property."},"changed_at":{"type":"string","format":"date","description":"The date and time when the property was last updated."},"sale_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of sale price.","nullable":true},"rent_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of rent price.","nullable":true},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true},"pictures":{"items":{"type":"string"},"type":"array","description":"List of the original picture image URLs.","readOnly":true},"gross_yield":{"type":"number","description":"Gross yield in percentage."},"title":{"type":"string","description":"Property title."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>"},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property."},"ceiling_label":{"type":"string","description":"Ceiling height in meters.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"min_rent_area":{"type":"integer","description":"Minimum rental area in square meters (mainly applicable to commercial properties).<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings.","readOnly":true},"casafari_connect":{"type":"boolean","description":"Whether the company is connected to Casafari Connect.","nullable":true},"source_floor_numbers":{"items":{"type":"integer"},"type":"array","description":"List of property floor numbers based on listings data. Negative values indicate underground floors (e.g. basements).","default":[]},"retail_data":{"properties":{"facade_measurements":{"properties":{"height":{"type":"number","description":"Facade height in meters.","nullable":true},"length":{"type":"number","description":"Facade length in meters.","nullable":true},"surface":{"type":"number","description":"Facade surface area in square meters.","nullable":true}},"type":"object","required":["height","length","surface"],"description":"Facade measurements of the commercial property (height, length, surface in meters).","nullable":true},"transfer_price_range":{"properties":{"gte":{"type":"integer","description":"Lower bound of the transfer price range.","nullable":true},"lte":{"type":"integer","description":"Upper bound of the transfer price range.","nullable":true}},"type":"object","required":["gte","lte"],"description":"Price range if the property is available for transfer.","nullable":true},"is_street_level":{"type":"boolean","description":"Whether the commercial entrance is situated at the street level, without having to go upstairs/downstairs to reach it.","nullable":true},"number_of_floors":{"type":"integer","description":"The number of commercial property floors.","nullable":true},"number_of_premises":{"type":"integer","description":"The number of property usable rooms/premises.","nullable":true},"possible_business_types":{"items":{"type":"string"},"type":"array","description":"What kind of business can/did run in this commercial property (e.g. cafe, restaurant, grocery store, dental clinic).","nullable":true}},"type":"object","required":["facade_measurements","transfer_price_range","is_street_level","number_of_floors","number_of_premises","possible_business_types"],"description":"Retail-related attributes of the property. Null for non-commercial properties or if the retail data is not available.","nullable":true}},"type":"object","required":["property_id","primary_listing_id","type","type_group","operations","location","locations_structure","coordinates","total_area","living_area","plot_area","terrace_area","bathrooms","bedrooms","rooms","floor_number","rent_currency","rent_period","rent_price","rent_status","sale_currency","sale_price","sale_status","is_private_property","features","condition","sale_time_on_market","rent_time_on_market","listings","address","zip_code","description","construction_year","rent_price_base","rent_price_per_sqm","rent_price_per_sqm_base","sale_price_base","sale_price_per_sqm","sale_price_per_sqm_base","is_auction_property","is_bank_property","changed_at","sale_price_last_change","rent_price_last_change","gross_yield","title","energy_certificate","energy_rating","ceiling_label","min_rent_area","casafari_connect"]},"ApiLocationsV1":{"properties":{"locations":{"items":{"properties":{"location_id":{"type":"integer","description":"ID of the location."},"name":{"type":"string","description":"Name of the location."},"parent_id":{"type":"integer","description":"ID of the parent level location."},"administrative_level":{"type":"string","description":"Location administrative level."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]},"level":{"type":"integer","description":"Location level as number."}},"type":"object","required":["location_id","name","administrative_level","level"]},"type":"array","description":"Information about all the parent locations, starting from the top-most level - country."}},"type":"object","required":["location_id","name","parent_id","administrative_level","locations_structure"]},"type":"array","description":"List of location objects."}},"type":"object","required":["locations"]},"ApiGetLocationsV1":{"properties":{"name":{"type":"string","description":"Location name to search."},"coordinates":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Limit search to locations within a closed polygon. First and last points must match."},"zip_codes":{"items":{"type":"string"},"type":"array","maxItems":15,"description":"List of zip codes to filter by."},"lang":{"type":"string","description":"Language to use for the location names in the response. (When the provided language is not supported, the results will be returned in English.)"}},"type":"object"},"ApiTypeAheadV1":{"properties":{"typeahead":{"items":{"properties":{"location_id":{"type":"integer","description":"The location id."},"name":{"type":"string","description":"The location name."},"matched_name":{"type":"string","maxLength":256,"description":"The matched name of the location name."},"administrative_level":{"type":"string","description":"The administrative level.","nullable":true},"breadcrumbs":{"items":{"properties":{"location_id":{"type":"integer","description":"Location ID."},"name":{"type":"string","description":"The name of location."}},"type":"object","required":["location_id","name"]},"type":"array","description":"Location breadcrumbs sorted from top to bottom."}},"type":"object","required":["location_id","name","matched_name","administrative_level","breadcrumbs"]},"type":"array","description":"The typeahead suggestions."}},"type":"object","required":["typeahead"]},"ApiLocationsTypeAheadFilterV1":{"properties":{"country_codes":{"items":{"type":"string","enum":["ES","PT"]},"type":"array","description":"Country codes to scope the search. Supported: ES, PT."},"name":{"type":"string","maxLength":100,"minLength":2,"description":"The location name to search for."},"size":{"type":"integer","maximum":100.0,"minimum":1.0,"description":"The maximum number of suggestions to return. Default 30, maximum 100.","default":30},"lang":{"type":"string","enum":["en","pt","es","de"],"description":"Language to use for the location name in the response. One of: en, pt, es, de.","default":"en"}},"type":"object","required":["country_codes","name"]},"ApiZipCodeBoundaryV1":{"properties":{"zip_code":{"type":"string","description":"Zipcode."},"boundary":{"items":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array"},"type":"array","description":"Zipcode boundary."}},"type":"object","required":["zip_code","boundary"]},"ApiZipCodeBoundaryFilterV1":{"properties":{"zip_code":{"type":"string","description":"Zipcode."},"country_code":{"type":"string","enum":["ES","FR","DE","RE","GP","MQ","GY","YT","AD","MC"],"description":"Country code following the ISO 3166-1 alpha-2 rules."}},"type":"object","required":["zip_code","country_code"]},"ApiAlertsSearchFilterV1":{"properties":{"operation":{"type":"string","enum":["sale","rent"],"description":"Operation type."},"location_ids":{"items":{"type":"integer","maximum":2147483647.0,"minimum":1.0},"type":"array","maxItems":100,"description":"List of location IDs, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint."},"custom_location":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Closed polygon of geo-points to search within. First and last points must match.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `custom_locations` field instead.</strong>"},"custom_locations":{"items":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array"},"type":"array","maxItems":4,"description":"List of closed polygons of geo-points to search within. Each polygon must contain at least 4 points. First and last points must match in each polygon. Maximum 4 polygons allowed."},"types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"<br>Country availability per type is available at the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br><br>Property types by type groups:<br/><strong>apartment:</strong> etagenwohnung, apartment, duplex, studio, erdgeschosswohnung, dachgeschosswohnung, penthouse<br/><strong>house:</strong> family_house (<span style=\"color:red\">DEPRECATED</span>), house, country_estate, palace, bungalow, landwirtschaftliche_betriebe, country_house, zweifamilienhaus, reihenendhaus, villa, reihenmittelhaus, reihenhaus, townhouse, chalet, einfamilienhaus<br/><strong>room:</strong> room<br/><strong>building:</strong> office_building, mix_use_building, apartment_building<br/><strong>investment:</strong> retail, other_commercial, restaurant, werkstatt, office, warehouse, hotel, industrial<br/><strong>plot:</strong> urban_plot, plot (<span style=\"color:red\">DEPRECATED</span>), rural_plot<br/><strong>other:</strong> parking, garage, other"},"conditions":{"items":{"type":"string","enum":["used","ruin","very-good","new","other"]},"type":"array","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"alert_date_from":{"type":"string","format":"date","description":"Start date (in the format `YYYY-MM-DD`) of the period for alerts of interest."},"alert_date_to":{"type":"string","format":"date","description":"End date (in the format `YYYY-MM-DD`) of the period for alerts of interest."},"created_at_from":{"type":"string","format":"date-time","description":"Start date and time (in the format `YYYY-MM-DDTHH:mm:ss`) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data."},"created_at_to":{"type":"string","format":"date-time","description":"End date and time (in the format `YYYY-MM-DDTHH:mm:ss`) to filter alerts by their creation in the database (UTC). Useful for incremental sync to avoid fetching already fetched data."},"created_at_with_photos_from":{"type":"string","format":"date-time","description":"Start date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos.\nNote: Some alerts may still not have photos if the original listing did not include any."},"created_at_with_photos_to":{"type":"string","format":"date-time","description":"End date and time (in the format YYYY-MM-DDTHH:mm:ss) to filter alerts by their creation in the database (UTC), only including alerts for which photo processing has been completed. Use it to fetch alerts with already assigned photos.\nNote: Some alerts may still not have photos if the original listing did not include any."},"statuses":{"items":{"type":"string","enum":["active","reserved","hold","sold","rented"]},"type":"array","description":"Current status of the listing."},"price_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum price value."},"price_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum price value."},"price_per_sqm_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum value for price per square meter."},"price_per_sqm_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum value for price per square meter."},"bedrooms_from":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Minimum number of bedrooms."},"bedrooms_to":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Maximum number of bedrooms."},"bathrooms_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of bathrooms."},"bathrooms_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of bathrooms."},"total_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum total area."},"total_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum total area."},"plot_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum plot area."},"plot_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum plot area."},"construction_year_from":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Minimum construction year."},"construction_year_to":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Maximum construction year."},"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `floors` field instead.</strong>"},"floors":{"items":{"type":"string","enum":["no_floor","ground","middle","top"]},"type":"array","description":"List of floor types."},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation."},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. \"<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>\""},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property."},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. \"<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>"},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces."},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics."},"alert_subtypes":{"items":{"type":"string","enum":["new","price_up","price_down","reserved","delisted","sold"]},"type":"array","description":"Alert subtypes."},"private":{"type":"boolean","description":"Whether to return alerts only from properties listed by a private individual, as opposed to an agent or a professional."},"auction":{"type":"boolean","description":"Whether to return alerts from auction property listings."},"bank":{"type":"boolean","description":"Whether to return alerts from bank property listings."},"new_development":{"type":"boolean","description":"Whether to return alerts from new development property listings."},"listing_agents":{"items":{"type":"string"},"type":"array","description":"Return alerts only for properties from specified agents. To find allowed agent names use the [GET /api/v1/references/agents](/#operation/api__get__v1__references__agents) endpoint."},"with_agencies":{"items":{"type":"string"},"type":"array","description":"Return alerts only for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"without_agencies":{"items":{"type":"string"},"type":"array","description":"Exclude alerts for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"exclusive":{"type":"boolean","description":"Whether to return alerts exclusively from specific listings rather than from all related to the property listings.<br/>Can be passed only along with at least one of the fields: `private`, `with_agencies`, `without_agencies`."},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings."},"has_phone":{"type":"boolean","description":"Whether to return alerts only from listings with or without `phone` number."},"has_email":{"type":"boolean","description":"Whether to return alerts only from listings with or without email."},"has_agency_name":{"type":"boolean","description":"Whether to return alerts only from listings with or without agency name."},"property_ids":{"items":{"type":"integer","minimum":1.0},"type":"array","maxItems":100,"description":"List of property IDs."},"listing_ids":{"items":{"type":"integer","minimum":1.0},"type":"array","maxItems":100,"description":"List of listing IDs."}},"type":"object","required":["operation"]},"ApiSearchComparablesResponseV1":{"properties":{"results":{"items":{"properties":{"property_id":{"type":"integer","description":"ID of the property."},"property_url":{"type":"string","description":"URL of the property in the CASAFARI website.","readOnly":true,"nullable":true},"primary_listing_id":{"type":"integer","description":"Primary listing (ad) ID of the property which is defined after the matching into property."},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"type_group":{"type":"string","enum":["apartment","house","investment","plot","other"],"description":"Property type group, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"coordinates":{"properties":{"latitude":{"type":"number","description":"Latitude."},"longitude":{"type":"number","description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Property coordinates.","nullable":true},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"],"description":"Information about property location."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array","description":"Information about all the parent locations (including property location) up to the country."},"address":{"type":"string","description":"Property address."},"zip_code":{"type":"string","description":"The location zip code.","nullable":true},"distance":{"type":"number","description":"Distance in kilometers from target point to the property. Not calculated for search by polygon.","readOnly":true,"nullable":true},"construction_year":{"type":"integer","description":"Construction year."},"total_area":{"type":"integer","description":"Total area."},"living_area":{"type":"integer","description":"Living area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"rooms":{"type":"integer","description":"Number of rooms."},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"features":{"properties":{"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type.","nullable":true},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation.","nullable":true},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>","nullable":true},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property.","nullable":true},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>","nullable":true},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces.","nullable":true},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics.","nullable":true}},"type":"object","required":["floor","orientation","view","views","direction","directions","characteristics"],"description":"Property features, as returned by the [GET /api/v1/references/features](/#operation/api__get__v1__references__features) endpoint."},"operations":{"items":{"type":"string","enum":["sale","rent"]},"type":"array","description":"Operation types for which property is available."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Sale status."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_price_base":{"type":"integer","description":"Sale price, in Euros."},"sale_price_per_sqm":{"type":"number","description":"Sale price per square meter, in the currency of the listings (specified by the `sale_currency` field)."},"sale_price_per_sqm_base":{"type":"number","description":"('Sale price per square meter, in Euros.',)"},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Rent status."},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_price":{"type":"integer","description":"Rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_price_base":{"type":"integer","description":"Rent price, in Euros."},"rent_price_per_sqm":{"type":"number","description":"Rent price per square meter, in the currency of the listings (specified by the `rent_currency` field)."},"rent_price_per_sqm_base":{"type":"number","description":"('Rent price per square meter, in Euros.',)"},"rent_period":{"type":"string","enum":["day","week","fortnight","month","year","none"],"description":"Rent period."},"title":{"type":"string","description":"Property title."},"description":{"type":"string","description":"Property description."},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true},"pictures":{"items":{"type":"string"},"type":"array","description":"List of the original picture image URLs.","readOnly":true},"gross_yield":{"type":"number","description":"Gross yield in percentage."},"sold_at":{"type":"string","format":"date","description":"Date when the property was sold.","nullable":true},"rented_at":{"type":"string","format":"date","description":"Date when the property was rented.","nullable":true},"total_sale_price_change":{"type":"number","description":"Total sale price change in percents."},"total_rent_price_change":{"type":"number","description":"Total rent price change in percents."},"last_sale_price_reduction":{"type":"number","description":"Last sale price reduction in percents."},"last_rent_price_reduction":{"type":"number","description":"Last rent price reduction in percents."},"sale_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of sale price.","nullable":true},"rent_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of rent price.","nullable":true},"sale_time_on_market":{"type":"object","description":"Information about the property last activity on the sales market.","readOnly":true,"nullable":true},"rent_time_on_market":{"type":"object","description":"Information about the property last activity on the rental market.","readOnly":true,"nullable":true},"sale_active_listings_count":{"type":"integer","description":"Number of active listings for this property on the sales market.","readOnly":true},"rent_active_listings_count":{"type":"integer","description":"Number of active listings for this property on the rental market.","readOnly":true},"similarity_score":{"type":"number","description":"Similarity score of the property. Value between 0 and 1. Indicates how property parameters are close to the requested ones.","readOnly":true},"listing_urls":{"items":{"type":"string","format":"uri"},"type":"array","description":"Listing urls of the comparable."},"is_dvf":{"type":"boolean","description":"Whether the property taken from DVF.","default":false},"is_outlier":{"type":"boolean","description":"Whether the property is considered an outlier based on its price.","default":false},"is_private_property":{"type":"boolean","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>","default":""},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property.","default":""}},"type":"object","required":["property_id","primary_listing_id","type","type_group","coordinates","location","locations_structure","address","zip_code","construction_year","total_area","living_area","plot_area","terrace_area","bedrooms","rooms","bathrooms","floor_number","condition","features","operations","sale_status","sale_currency","sale_price","sale_price_base","sale_price_per_sqm","sale_price_per_sqm_base","rent_status","rent_currency","rent_price","rent_price_base","rent_price_per_sqm","rent_price_per_sqm_base","rent_period","title","description","gross_yield","sold_at","rented_at","total_sale_price_change","total_rent_price_change","last_sale_price_reduction","last_rent_price_reduction","sale_price_last_change","rent_price_last_change","listing_urls","is_private_property"]},"type":"array","description":"Array of found comparable properties."},"statistics":{"properties":{"average_price":{"type":"integer","description":"Average price."},"average_price_per_sqm":{"type":"number","description":"Average price per square meter."},"average_time_on_the_market":{"type":"integer","description":"Average number of days on the market."},"average_listings_per_property":{"type":"number","description":"Average number of listings per property."},"sold_or_rented_in_last_six_months":{"type":"integer","description":"Number of properties that were sold or rented during the last 6 months in the requested location."}},"type":"object","required":["average_price","average_price_per_sqm","average_time_on_the_market","average_listings_per_property","sold_or_rented_in_last_six_months"],"description":"Statistics information for the found comparables (for `operation` defined in the request).","nullable":true},"estimated_prices":{"properties":{"fast_sell_price":{"type":"integer","description":"Fast sell price."},"fair_market_price":{"type":"integer","description":"Fair market price."},"out_of_market_price":{"type":"integer","description":"Out of market price."},"fast_sell_price_per_sqm":{"type":"number","description":"Fast sell price per square meter."},"fair_market_price_per_sqm":{"type":"number","description":"Fair market price per square meter."},"out_of_market_price_per_sqm":{"type":"number","description":"Out of market price per square meter."}},"type":"object","required":["fast_sell_price","fair_market_price","out_of_market_price","fast_sell_price_per_sqm","fair_market_price_per_sqm","out_of_market_price_per_sqm"],"description":"Estimated prices calculated based on the found comparables (for `operation` defined in the request).","nullable":true},"casafari_link":{"type":"string","pattern":"^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z","format":"uri","description":"Link to Comparative Market Analysis page.","nullable":true}},"type":"object","required":["results","statistics","estimated_prices","casafari_link"]},"ApiSearchComparablesRequestV1":{"properties":{"comparables_count":{"type":"integer","maximum":50.0,"minimum":1.0,"description":"Maximum number of comparable properties in results."},"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `target_point.coordinates` field instead.</strong>"},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `location_boundary.circle` field instead.</strong>"},"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to comparable properties.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `location_boundary.circle` field instead.</strong>","default":5},"location_boundary":{"properties":{"polygon":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Closed polygon of geo-points to search within. First and last points must match. "},"circle":{"properties":{"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to the properties.","default":5},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided."}},"type":"object","required":["target_point"],"description":"Circle boundary to search within."}},"type":"object","description":"Location to search within. Can be defined as a polygon of geo-points or a circle with a given target point and a distance. Only one value should be provided."},"sold_or_rented_after":{"type":"string","format":"date","description":"Properties sold/rented since this date (in the format `YYYY-MM-DD`) will be considered as possible comparables. Default value: 9 months ago, counting from today. If `null` is passed, only active properties will be considered.","nullable":true},"operation":{"type":"string","enum":["sale","rent"],"description":"Operation type."},"business_type":{"type":"string","enum":["sale","rent"],"description":"Operation type.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `operation` field instead.</strong>"},"comparables_type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Comparables property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `comparables_types` field instead.</strong>"},"comparables_types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"<br>Country availability per type is available at the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br><br>Property types by type groups:<br/><strong>apartment:</strong> etagenwohnung, apartment, duplex, studio, erdgeschosswohnung, dachgeschosswohnung, penthouse<br/><strong>house:</strong> family_house (<span style=\"color:red\">DEPRECATED</span>), house, country_estate, palace, bungalow, landwirtschaftliche_betriebe, country_house, zweifamilienhaus, reihenendhaus, villa, reihenmittelhaus, reihenhaus, townhouse, chalet, einfamilienhaus<br/><strong>room:</strong> room<br/><strong>building:</strong> office_building, mix_use_building, apartment_building<br/><strong>investment:</strong> retail, other_commercial, restaurant, werkstatt, office, warehouse, hotel, industrial<br/><strong>plot:</strong> urban_plot, plot (<span style=\"color:red\">DEPRECATED</span>), rural_plot<br/><strong>other:</strong> parking, garage, other<br/><br/><i><span style=\"color:red\">Note that you can select multiple types only from one property type group.</span></i>"},"property_type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Comparables property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `comparables_types` field instead.</strong>"},"min_price":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"description":"The minimum price filter for comparables result.","default":0},"max_price":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"The maximum price filter for comparables result."},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"bedrooms":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Number of bedrooms (cannot be used together with `rooms`)."},"rooms":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Number of rooms (cannot be used together with `bedrooms`)."},"bathrooms":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Number of bathrooms."},"construction_year":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Desired construction year."},"total_area":{"type":"integer","maximum":10000000.0,"minimum":5.0,"description":"Desired total area, square meters. This field is required for `hotel`, `industrial`, `office`, `other_commercial`, `restaurant`, `retail`, `warehouse`, `werkstatt` property types if `target_point.cadastral_reference` is not provided."},"plot_area":{"type":"integer","maximum":10000000.0,"minimum":20.0,"description":"Desired plot area, square meters. This field is required for `rural_plot` and `urban_plot` property types if `target_point.cadastral_reference` is not provided."},"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `floors` field instead.</strong>"},"floors":{"items":{"type":"string","enum":["no_floor","ground","middle","top"]},"type":"array","description":"List of floor types."},"floor_number":{"items":{"type":"integer","maximum":250.0,"minimum":-250.0},"type":"array","description":"Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).<br>Minimum value is -250.<br>Maximum value is 250."},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation."},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>"},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property."},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>"},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces."},"characteristics":{"properties":{"must_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include only properties that have all these characteristics."},"nice_to_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include properties that have any of these characteristics."},"exclude":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Exclude properties that contain any of these characteristics."}},"type":"object","description":"Property characteristics."},"energy_certificate":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"],"description":"Energy certificate. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_certificates":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy certificates. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_ratings":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy ratings."},"days_on_market_from":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Minimum days on market value."},"days_on_market_to":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Maximum days on market value."},"with_agencies":{"items":{"type":"string"},"type":"array","description":"Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"without_agencies":{"items":{"type":"string"},"type":"array","description":"Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"exclude_outliers":{"type":"boolean","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":true}},"type":"object","required":["comparables_count","location_boundary","operation","comparables_types"]},"ApiPropertiesSearchResponseV1":{"properties":{"property_id":{"type":"integer","description":"ID of the property."},"primary_listing_id":{"type":"integer","description":"Primary listing (ad) ID of the property which is defined after the matching into property."},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"type_group":{"type":"string","description":"Property type group, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"operations":{"items":{"type":"string","enum":["sale","rent"]},"type":"array","description":"Operation types for which property is available."},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"],"description":"Information about property location."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array","description":"Information about all the parent locations (including property location) up to the country."},"coordinates":{"properties":{"latitude":{"type":"number","description":"Latitude."},"longitude":{"type":"number","description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Property coordinates.","nullable":true},"total_area":{"type":"integer","description":"Total area."},"living_area":{"type":"integer","description":"Living area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"rooms":{"type":"integer","description":"Number of rooms."},"number_of_parkings":{"type":"integer","description":"Number of parking spaces.","nullable":true},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_period":{"type":"string","enum":["day","week","fortnight","month","year","none"],"description":"Rent period."},"rent_price":{"type":"integer","description":"Current rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Current rent status of the property."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Current sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Current sale status of the property."},"is_private_property":{"type":"boolean","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"features":{"properties":{"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type.","nullable":true},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation.","nullable":true},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>","nullable":true},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property.","nullable":true},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>","nullable":true},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces.","nullable":true},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics.","nullable":true}},"type":"object","required":["floor","orientation","view","views","direction","directions","characteristics"],"description":"Property features, as returned by the [GET /api/v1/references/features](/#operation/api__get__v1__references__features) endpoint."},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"sale_time_on_market":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date of activity on the market."},"date_end":{"type":"string","format":"date","description":"End date of activity on the market.","nullable":true},"days_on_market":{"type":"integer","description":"Number of days property was / is on the market."},"has_untracked_period":{"type":"boolean","description":"Whether the property was already on the market when it started being tracked."}},"type":"object","required":["date_start","date_end","days_on_market","has_untracked_period"],"description":"Information about the property last activity on the sales market.","nullable":true},"rent_time_on_market":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date of activity on the market."},"date_end":{"type":"string","format":"date","description":"End date of activity on the market.","nullable":true},"days_on_market":{"type":"integer","description":"Number of days property was / is on the market."},"has_untracked_period":{"type":"boolean","description":"Whether the property was already on the market when it started being tracked."}},"type":"object","required":["date_start","date_end","days_on_market","has_untracked_period"],"description":"Information about the property last activity on the rental market.","nullable":true},"listings":{"items":{"properties":{"listing_id":{"type":"integer","description":"ID of the listing (ad)."},"total_area":{"type":"integer","description":"Total area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"rooms":{"type":"integer","description":"Number of rooms."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Current sale status of the listing."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Current sale price, in the currency of the listing (specified by the `sale_currency` field)."},"sale_price_base":{"type":"integer","description":"Current sale price, in Euros."},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Current rent status of the listing."},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_price":{"type":"integer","description":"Current rent price, in the currency of the listing (specified by the `rent_currency` field)."},"rent_price_base":{"type":"integer","description":"Current rent price, in Euros."},"agency_legal_id":{"type":"string","description":"Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM)."},"agency":{"type":"string","description":"The company that manages the listing."},"listing_url":{"type":"string","description":"URL of the listing. Available only for currently active listings.","readOnly":true,"nullable":true},"listing_old_url":{"type":"string","description":"Old URL of the listing. Available only for currently inactive listings.","readOnly":true,"nullable":true},"description":{"type":"string","description":"Property description."},"listing_uid":{"type":"string","description":"Unique ID of the listing on the source site."},"construction_year":{"type":"integer","description":"Construction year."},"source_name":{"type":"string","description":"The name of the source where the listing is displayed."},"contacts_info":{"properties":{"name":{"type":"string","description":"The owner name. Only for FSBO listings.","nullable":true},"email":{"type":"string","format":"email","description":"The email contact.","nullable":true},"phone":{"type":"string","description":"The phone contact.","nullable":true}},"type":"object","required":["name","email","phone"],"description":"Information about listing contacts."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>"},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property."},"heating_type":{"type":"string","description":"Type of heating."},"ceiling_label":{"type":"string","description":"Ceiling height in meters.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"commission":{"type":"number","description":"Commission percentage.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"min_rent_area":{"type":"integer","description":"Minimum rental area in square meters (mainly applicable to commercial properties).<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"companies":{"items":{"properties":{"name":{"type":"string","description":"Company name."},"casafari_connect_on":{"type":"boolean","description":"Whether the company is connected to Casafari Connect."}},"type":"object","required":["name","casafari_connect_on"]},"type":"array","description":"Companies to which the listing belongs."},"created_at":{"type":"string","format":"date","description":"The datetime when the listing was added."},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"is_private":{"type":"boolean","description":"Whether the listing is listed by a private individual, as opposed to an agent or a professional."},"casafari_connect":{"type":"boolean","description":"Whether the company is connected to Casafari Connect.","nullable":true},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true}},"type":"object","required":["listing_id","total_area","plot_area","terrace_area","bedrooms","bathrooms","rooms","sale_status","sale_currency","sale_price","sale_price_base","rent_status","rent_currency","rent_price","rent_price_base","agency_legal_id","agency","description","listing_uid","construction_year","source_name","contacts_info","energy_certificate","energy_rating","heating_type","ceiling_label","commission","min_rent_area","companies","created_at","floor_number","is_private","casafari_connect"]},"type":"array","description":"The list of listings related to the property."},"history":{"items":{"properties":{"sale_price":{"type":"integer","description":"Sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_currency":{"type":"string","description":"Sale price currency code."},"rent_price":{"type":"integer","description":"Rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_currency":{"type":"string","description":"Rent price currency code."},"changed_at":{"type":"string","format":"date","description":"Date when the estate was last updated."}},"type":"object","required":["sale_price","sale_currency","rent_price","rent_currency","changed_at"]},"type":"array","description":"('List of sale and rent price history data. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `sale_price_history and rent_price_history` field instead.</strong>',)","default":[]},"sale_price_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"sale_price_old":{"type":"integer","description":"Old sale price, in the currency of the listings."},"sale_price_new":{"type":"integer","description":"New sale price, in the currency of the listings."}},"type":"object","required":["date_start","date_end","sale_price_old","sale_price_new"]},"type":"array","description":"List of sale price history data.","default":[]},"rent_price_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"rent_price_old":{"type":"integer","description":"Old rent price, in the currency of the listings."},"rent_price_new":{"type":"integer","description":"New rent price, in the currency of the listings."}},"type":"object","required":["date_start","date_end","rent_price_old","rent_price_new"]},"type":"array","description":"List of rent price history data.","default":[]},"sale_status_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"sale_status_old":{"type":"string","description":"Old sale status, in the currency of the listings."},"sale_status_new":{"type":"string","description":"New sale status, in the currency of the listings."}},"type":"object","required":["date_start","date_end","sale_status_old","sale_status_new"]},"type":"array","description":"List of sale status history data.","default":[]},"rent_status_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"rent_status_old":{"type":"string","description":"Old rent status, in the currency of the listings."},"rent_status_new":{"type":"string","description":"New rent status, in the currency of the listings."}},"type":"object","required":["date_start","date_end","rent_status_old","rent_status_new"]},"type":"array","description":"List of rent status history data.","default":[]},"property_url":{"type":"string","description":"URL of the property in the CASAFARI website.","readOnly":true,"nullable":true},"address":{"type":"string","description":"Property address."},"zip_code":{"type":"string","description":"The location zip code.","nullable":true},"distance":{"type":"number","description":"Distance in kilometers from target point to the property.Available only when the `custom_location_boundary.circle` field is defined in the request.","readOnly":true,"nullable":true},"description":{"type":"string","description":"Property description."},"construction_year":{"type":"integer","description":"Construction year."},"rent_price_base":{"type":"integer","description":"Current rent price, in Euros."},"rent_price_per_sqm":{"type":"number","description":"Current rent price per square meter, in the currency of the listings (specified by the `rent_currency` field)."},"rent_price_per_sqm_base":{"type":"number","description":"Current rent price per square meter, in Euros."},"sale_price_base":{"type":"integer","description":"Current sale price, in Euros."},"sale_price_per_sqm":{"type":"number","description":"Current sale price per square meter, in the currency of the listings (specified by the `sale_currency` field)."},"sale_price_per_sqm_base":{"type":"number","description":"Current sale price per square meter, in Euros."},"is_auction_property":{"type":"boolean","description":"Whether the property is an auction property."},"is_bank_property":{"type":"boolean","description":"Whether the property is a bank property."},"changed_at":{"type":"string","format":"date","description":"The date and time when the property was last updated."},"sale_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of sale price.","nullable":true},"rent_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of rent price.","nullable":true},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true},"pictures":{"items":{"type":"string"},"type":"array","description":"List of the original picture image URLs.","readOnly":true},"gross_yield":{"type":"number","description":"Gross yield in percentage."},"title":{"type":"string","description":"Property title."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>"},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property."},"ceiling_label":{"type":"string","description":"Ceiling height in meters.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"min_rent_area":{"type":"integer","description":"Minimum rental area in square meters (mainly applicable to commercial properties).<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings.","readOnly":true},"casafari_connect":{"type":"boolean","description":"Whether the company is connected to Casafari Connect.","nullable":true},"source_floor_numbers":{"items":{"type":"integer"},"type":"array","description":"List of property floor numbers based on listings data. Negative values indicate underground floors (e.g. basements).","default":[]},"retail_data":{"properties":{"facade_measurements":{"properties":{"height":{"type":"number","description":"Facade height in meters.","nullable":true},"length":{"type":"number","description":"Facade length in meters.","nullable":true},"surface":{"type":"number","description":"Facade surface area in square meters.","nullable":true}},"type":"object","required":["height","length","surface"],"description":"Facade measurements of the commercial property (height, length, surface in meters).","nullable":true},"transfer_price_range":{"properties":{"gte":{"type":"integer","description":"Lower bound of the transfer price range.","nullable":true},"lte":{"type":"integer","description":"Upper bound of the transfer price range.","nullable":true}},"type":"object","required":["gte","lte"],"description":"Price range if the property is available for transfer.","nullable":true},"is_street_level":{"type":"boolean","description":"Whether the commercial entrance is situated at the street level, without having to go upstairs/downstairs to reach it.","nullable":true},"number_of_floors":{"type":"integer","description":"The number of commercial property floors.","nullable":true},"number_of_premises":{"type":"integer","description":"The number of property usable rooms/premises.","nullable":true},"possible_business_types":{"items":{"type":"string"},"type":"array","description":"What kind of business can/did run in this commercial property (e.g. cafe, restaurant, grocery store, dental clinic).","nullable":true}},"type":"object","required":["facade_measurements","transfer_price_range","is_street_level","number_of_floors","number_of_premises","possible_business_types"],"description":"Retail-related attributes of the property. Null for non-commercial properties or if the retail data is not available.","nullable":true}},"type":"object","required":["property_id","primary_listing_id","type","type_group","operations","location","locations_structure","coordinates","total_area","living_area","plot_area","terrace_area","bathrooms","bedrooms","rooms","floor_number","rent_currency","rent_period","rent_price","rent_status","sale_currency","sale_price","sale_status","is_private_property","features","condition","sale_time_on_market","rent_time_on_market","listings","address","zip_code","description","construction_year","rent_price_base","rent_price_per_sqm","rent_price_per_sqm_base","sale_price_base","sale_price_per_sqm","sale_price_per_sqm_base","is_auction_property","is_bank_property","changed_at","sale_price_last_change","rent_price_last_change","gross_yield","title","energy_certificate","energy_rating","ceiling_label","min_rent_area","casafari_connect"]},"ApiPropertiesSearchRequestV1":{"properties":{"search_operations":{"items":{"type":"string","enum":["sale","sold","sale_hold","rent","rented","rent_hold"]},"type":"array","description":"Search business types for which the property is available."},"location_ids":{"items":{"type":"integer","maximum":2147483647.0,"minimum":1.0},"type":"array","maxItems":100,"description":"List of location IDs, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint."},"custom_location_boundary":{"properties":{"polygon":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Closed polygon of geo-points to search within. First and last points must match. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `polygons` field instead.</strong>"},"circle":{"properties":{"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to the properties.","default":5},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided."}},"type":"object","required":["target_point"],"description":"Circle boundary to search within."},"polygons":{"items":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array"},"type":"array","maxItems":4,"description":"List of closed polygons of geo-points to search within. Each polygon must contain at least 4 points. First and last points must match in each polygon. Maximum 4 polygons allowed."}},"type":"object","description":"Custom location to search within. Can be defined as a polygon of geo-points or a circle with a given target point and a distance. Only one value should be provided."},"conditions":{"items":{"type":"string","enum":["used","ruin","very-good","new","other"]},"type":"array","description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"property_date_from":{"type":"string","format":"date","description":"Start date (in the format `YYYY-MM-DD`) of the period for property of interest."},"property_date_to":{"type":"string","format":"date","description":"End date (in the format `YYYY-MM-DD`) of the period for property of interest."},"created_date_from":{"type":"string","format":"date-time","description":"Created date from (in the format `YYYY-MM-DDTHH:mm:ss`)."},"created_date_to":{"type":"string","format":"date-time","description":"Created date to (in the format `YYYY-MM-DDTHH:mm:ss`)."},"updated_date_from":{"type":"string","format":"date-time","description":"Updated date from (in the format `YYYY-MM-DDTHH:mm:ss`)."},"updated_date_to":{"type":"string","format":"date-time","description":"Updated date to (in the format `YYYY-MM-DDTHH:mm:ss`)."},"price_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum price value."},"price_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum price value."},"price_per_sqm_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum value for price per square meter."},"price_per_sqm_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum value for price per square meter."},"bedrooms_from":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Minimum number of bedrooms."},"bedrooms_to":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Maximum number of bedrooms."},"bathrooms_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of bathrooms."},"bathrooms_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of bathrooms."},"total_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum total area."},"total_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum total area."},"plot_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum plot area."},"plot_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum plot area."},"construction_year_from":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Minimum construction year."},"construction_year_to":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Maximum construction year."},"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `floors` field instead.</strong>"},"floors":{"items":{"type":"string","enum":["no_floor","ground","middle","top"]},"type":"array","description":"List of floor types."},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation."},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>"},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property."},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>"},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces."},"characteristics":{"properties":{"must_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include only properties that have all these characteristics."},"exclude":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Exclude properties that contain any of these characteristics."}},"type":"object","description":"Property characteristics.<br/><strong>The field was changed from Array of strings to object.</strong><br/><strong>Backwards compatibility is still supported.</strong>"},"types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"<br>Country availability per type is available at the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br><br>Property types by type groups:<br/><strong>apartment:</strong> etagenwohnung, apartment, duplex, studio, erdgeschosswohnung, dachgeschosswohnung, penthouse<br/><strong>house:</strong> family_house (<span style=\"color:red\">DEPRECATED</span>), house, country_estate, palace, bungalow, landwirtschaftliche_betriebe, country_house, zweifamilienhaus, reihenendhaus, villa, reihenmittelhaus, reihenhaus, townhouse, chalet, einfamilienhaus<br/><strong>room:</strong> room<br/><strong>building:</strong> office_building, mix_use_building, apartment_building<br/><strong>investment:</strong> retail, other_commercial, restaurant, werkstatt, office, warehouse, hotel, industrial<br/><strong>plot:</strong> urban_plot, plot (<span style=\"color:red\">DEPRECATED</span>), rural_plot<br/><strong>other:</strong> parking, garage, other"},"property_types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"Property types, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `types` field instead.</strong>"},"private":{"type":"boolean","description":"Whether to return properties listed by a private individual, as opposed to an agent or a professional."},"auction":{"type":"boolean","description":"Whether to return auction properties. (If the `bank` filter is also set, the result will contain both `auction` and `bank` properties)"},"bank":{"type":"boolean","description":"Whether to return bank properties. (If the `auction` filter is also set, the result will contain both `bank` and `auction` properties)"},"casafari_connect":{"type":"boolean","description":"Whether to return properties that have at least one listing with a company connected to Casafari Connect."},"listing_agents":{"items":{"type":"string"},"type":"array","description":"Return properties from specified agents. To find allowed agent names use the [GET /api/v1/references/agents](/#operation/api__get__v1__references__agents) endpoint."},"with_agencies":{"items":{"type":"string"},"type":"array","description":"Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"without_agencies":{"items":{"type":"string"},"type":"array","description":"Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"exclusive":{"type":"boolean","description":"Whether to return properties that are available on market exclusively from a single agency or private individual.<br/>Can be passed only along with at least one of the fields: `private`, `with_agencies`, `without_agencies`."},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings."},"energy_certificate":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"],"description":"Energy certificate. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_certificates":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy certificates. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_ratings":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy ratings."},"days_on_market_from":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Minimum days on market value."},"days_on_market_to":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Maximum days on market value."},"gross_yield_from":{"type":"number","maximum":20.0,"minimum":1.0,"description":"Minimum gross yield value."},"gross_yield_to":{"type":"number","maximum":20.0,"minimum":1.0,"description":"Maximum gross yield value."},"rooms_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of rooms."},"rooms_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of rooms."},"number_of_parkings_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of parking spaces."},"number_of_parkings_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of parking spaces."},"living_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum living area."},"living_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum living area."},"floor_numbers":{"items":{"type":"integer","maximum":250.0,"minimum":-250.0},"type":"array","description":"Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).<br>Minimum value is -250.<br>Maximum value is 250."}},"type":"object","required":["search_operations"]},"ApiPropertiesSearchByListingIDsResponseV1":{"properties":{"property_id":{"type":"integer","description":"ID of the property."},"listing_ids":{"items":{"type":"integer","maximum":2147483647.0,"minimum":1.0},"type":"array","description":"List of listing IDs."}},"type":"object","required":["property_id","listing_ids"]},"ApiPropertiesSearchByListingIDsRequestV1":{"properties":{"listing_ids":{"items":{"type":"integer","minimum":1.0},"type":"array","maxItems":100,"description":"List of listing IDs."}},"type":"object","required":["listing_ids"]},"ApiCreateSmartLinkResponseV1":{"properties":{"id":{"type":"string"},"url":{"type":"string"}},"type":"object","required":["id","url"]},"ApiCreateSmartLinkRequestV1":{"properties":{"primary_listing_ids":{"items":{"type":"integer"},"type":"array","maxItems":10,"minItems":1,"description":"List of primary listing ids to include in the smart link."},"settings":{"properties":{"is_indexing_by_search_engine":{"type":"boolean","description":"Determines whether a share page should be indexed by search engines.","default":false},"is_hide_source":{"type":"boolean","description":"Removes the \"Sourced by Casafari\" label from the Smartlink page.","default":false},"language":{"type":"string","enum":["en","fr","it","pt","es","de"],"description":"Language of the share page."},"brand_color":{"type":"string","maxLength":9,"description":"Main color of graphical elements in the report."},"components_to_include":{"items":{"type":"string","enum":["price","days_on_market","price_change","sources","history","location_intelligence","comparables","valuation","market_analytics"]},"type":"array","description":"List of components to include in the smart link.","default":["price"]}},"type":"object","required":["language"]},"user":{"properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"},"photo_url":{"type":"string","pattern":"^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z","format":"uri"},"about_me":{"type":"string"}},"type":"object","required":["first_name","last_name","email","phone"]},"company":{"properties":{"name":{"type":"string"},"logo_url":{"type":"string","pattern":"^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z","format":"uri"}},"type":"object","required":["name"]}},"type":"object","required":["primary_listing_ids","settings","user"]},"ApiComparablesPricesV1":{"properties":{"statistics":{"properties":{"average_price":{"type":"integer","description":"Average price."},"average_price_per_sqm":{"type":"number","description":"Average price per square meter."},"average_time_on_the_market":{"type":"integer","description":"Average number of days on the market."},"average_listings_per_property":{"type":"number","description":"Average number of listings per property."},"sold_or_rented_in_last_six_months":{"type":"integer","description":"Number of properties that were sold or rented during the last 6 months in the requested location."}},"type":"object","required":["average_price","average_price_per_sqm","average_time_on_the_market","average_listings_per_property","sold_or_rented_in_last_six_months"],"description":"Statistics information for the found comparables (for `operation` defined in the request).","nullable":true},"estimated_prices":{"properties":{"fast_sell_price":{"type":"integer","description":"Fast sell price."},"fair_market_price":{"type":"integer","description":"Fair market price."},"out_of_market_price":{"type":"integer","description":"Out of market price."},"fast_sell_price_per_sqm":{"type":"number","description":"Fast sell price per square meter."},"fair_market_price_per_sqm":{"type":"number","description":"Fair market price per square meter."},"out_of_market_price_per_sqm":{"type":"number","description":"Out of market price per square meter."}},"type":"object","required":["fast_sell_price","fair_market_price","out_of_market_price","fast_sell_price_per_sqm","fair_market_price_per_sqm","out_of_market_price_per_sqm"],"description":"Estimated prices calculated based on the found comparables (for `operation` defined in the request)."}},"type":"object","required":["statistics","estimated_prices"]},"ApiComparablesPricesRequestV1":{"properties":{"comparables_count":{"type":"integer","maximum":50.0,"minimum":1.0,"description":"Maximum number of comparable properties in results."},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `location_boundary.circle` field instead.</strong>"},"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to comparable properties.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `location_boundary.circle` field instead.</strong>","default":5},"location_boundary":{"properties":{"polygon":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Closed polygon of geo-points to search within. First and last points must match. "},"circle":{"properties":{"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to the properties.","default":5},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided."}},"type":"object","required":["target_point"],"description":"Circle boundary to search within."}},"type":"object","description":"Location to search within. Can be defined as a polygon of geo-points or a circle with a given target point and a distance. Only one value should be provided."},"sold_or_rented_after":{"type":"string","format":"date","description":"Properties sold/rented since this date (in the format `YYYY-MM-DD`) will be considered as possible comparables. Default value: 9 months ago, counting from today. If `null` is passed, only active properties will be considered.","nullable":true},"operation":{"type":"string","enum":["sale","rent"],"description":"Operation type."},"comparables_type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Comparables property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `comparables_types` field instead.</strong>"},"comparables_types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"<br>Country availability per type is available at the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br><br>Property types by type groups:<br/><strong>apartment:</strong> etagenwohnung, apartment, duplex, studio, erdgeschosswohnung, dachgeschosswohnung, penthouse<br/><strong>house:</strong> family_house (<span style=\"color:red\">DEPRECATED</span>), house, country_estate, palace, bungalow, landwirtschaftliche_betriebe, country_house, zweifamilienhaus, reihenendhaus, villa, reihenmittelhaus, reihenhaus, townhouse, chalet, einfamilienhaus<br/><strong>room:</strong> room<br/><strong>building:</strong> office_building, mix_use_building, apartment_building<br/><strong>investment:</strong> retail, other_commercial, restaurant, werkstatt, office, warehouse, hotel, industrial<br/><strong>plot:</strong> urban_plot, plot (<span style=\"color:red\">DEPRECATED</span>), rural_plot<br/><strong>other:</strong> parking, garage, other<br/><br/><i><span style=\"color:red\">Note that you can select multiple types only from one property type group.</span></i>"},"min_price":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"description":"The minimum price filter for comparables result.","default":0},"max_price":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"The maximum price filter for comparables result."},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"bedrooms":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Number of bedrooms (cannot be used together with `rooms`)."},"rooms":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Number of rooms (cannot be used together with `bedrooms`)."},"bathrooms":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Number of bathrooms."},"construction_year":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Desired construction year."},"total_area":{"type":"integer","maximum":10000000.0,"minimum":5.0,"description":"Desired total area, square meters. This field is required for `hotel`, `industrial`, `office`, `other_commercial`, `restaurant`, `retail`, `warehouse`, `werkstatt` property types if `target_point.cadastral_reference` is not provided."},"plot_area":{"type":"integer","maximum":10000000.0,"minimum":20.0,"description":"Desired plot area, square meters. This field is required for `rural_plot` and `urban_plot` property types if `target_point.cadastral_reference` is not provided."},"floors":{"items":{"type":"string","enum":["no_floor","ground","middle","top"]},"type":"array","description":"List of floor types."},"floor_number":{"items":{"type":"integer","maximum":250.0,"minimum":-250.0},"type":"array","description":"Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).<br>Minimum value is -250.<br>Maximum value is 250."},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation."},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property."},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces."},"characteristics":{"properties":{"must_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include only properties that have all these characteristics."},"nice_to_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include properties that have any of these characteristics."},"exclude":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Exclude properties that contain any of these characteristics."}},"type":"object","description":"Property characteristics."},"energy_certificate":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"],"description":"Energy certificate. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_certificates":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy certificates. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_ratings":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy ratings."},"days_on_market_from":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Minimum days on market value."},"days_on_market_to":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Maximum days on market value."},"with_agencies":{"items":{"type":"string"},"type":"array","description":"Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"without_agencies":{"items":{"type":"string"},"type":"array","description":"Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"exclude_outliers":{"type":"boolean","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":true}},"type":"object","required":["comparables_count","location_boundary","operation","comparables_types"]},"ApiPropertiesSearchResponseV2":{"properties":{"property_id":{"type":"integer","description":"ID of the property."},"primary_listing_id":{"type":"integer","description":"Primary listing (ad) ID of the property which is defined after the matching into property."},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"type_group":{"type":"string","description":"Property type group, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"operations":{"items":{"type":"string","enum":["sale","rent"]},"type":"array","description":"Operation types for which property is available."},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"],"description":"Information about property location."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array","description":"Information about all the parent locations (including property location) up to the country."},"coordinates":{"properties":{"latitude":{"type":"number","description":"Latitude."},"longitude":{"type":"number","description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Property coordinates.","nullable":true},"total_area":{"type":"integer","description":"Total area."},"living_area":{"type":"integer","description":"Living area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"rooms":{"type":"integer","description":"Number of rooms."},"number_of_parkings":{"type":"integer","description":"Number of parking spaces.","nullable":true},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_period":{"type":"string","enum":["day","week","fortnight","month","year","none"],"description":"Rent period."},"rent_price":{"type":"integer","description":"Current rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Current rent status of the property."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Current sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Current sale status of the property."},"is_private_property":{"type":"boolean","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"features":{"properties":{"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type.","nullable":true},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation.","nullable":true},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>","nullable":true},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property.","nullable":true},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>","nullable":true},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces.","nullable":true},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics.","nullable":true}},"type":"object","required":["floor","orientation","view","views","direction","directions","characteristics"],"description":"Property features, as returned by the [GET /api/v1/references/features](/#operation/api__get__v1__references__features) endpoint."},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"sale_time_on_market":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date of activity on the market."},"date_end":{"type":"string","format":"date","description":"End date of activity on the market.","nullable":true},"days_on_market":{"type":"integer","description":"Number of days property was / is on the market."},"has_untracked_period":{"type":"boolean","description":"Whether the property was already on the market when it started being tracked."}},"type":"object","required":["date_start","date_end","days_on_market","has_untracked_period"],"description":"Information about the property last activity on the sales market.","nullable":true},"rent_time_on_market":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date of activity on the market."},"date_end":{"type":"string","format":"date","description":"End date of activity on the market.","nullable":true},"days_on_market":{"type":"integer","description":"Number of days property was / is on the market."},"has_untracked_period":{"type":"boolean","description":"Whether the property was already on the market when it started being tracked."}},"type":"object","required":["date_start","date_end","days_on_market","has_untracked_period"],"description":"Information about the property last activity on the rental market.","nullable":true},"listings":{"items":{"properties":{"listing_id":{"type":"integer","description":"ID of the listing (ad)."},"total_area":{"type":"integer","description":"Total area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"rooms":{"type":"integer","description":"Number of rooms."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Current sale status of the listing."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Current sale price, in the currency of the listing (specified by the `sale_currency` field)."},"sale_price_base":{"type":"integer","description":"Current sale price, in Euros."},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Current rent status of the listing."},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_price":{"type":"integer","description":"Current rent price, in the currency of the listing (specified by the `rent_currency` field)."},"rent_price_base":{"type":"integer","description":"Current rent price, in Euros."},"agency_legal_id":{"type":"string","description":"Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM)."},"agency":{"type":"string","description":"The company that manages the listing."},"listing_url":{"type":"string","description":"URL of the listing. Available only for currently active listings.","readOnly":true,"nullable":true},"listing_old_url":{"type":"string","description":"Old URL of the listing. Available only for currently inactive listings.","readOnly":true,"nullable":true},"description":{"type":"string","description":"Property description."},"listing_uid":{"type":"string","description":"Unique ID of the listing on the source site."},"construction_year":{"type":"integer","description":"Construction year."},"source_name":{"type":"string","description":"The name of the source where the listing is displayed."},"contacts_info":{"properties":{"name":{"type":"string","description":"The owner name. Only for FSBO listings.","nullable":true},"email":{"type":"string","format":"email","description":"The email contact.","nullable":true},"phone":{"type":"string","description":"The phone contact.","nullable":true}},"type":"object","required":["name","email","phone"],"description":"Information about listing contacts."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>"},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property."},"heating_type":{"type":"string","description":"Type of heating."},"ceiling_label":{"type":"string","description":"Ceiling height in meters.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"commission":{"type":"number","description":"Commission percentage.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"min_rent_area":{"type":"integer","description":"Minimum rental area in square meters (mainly applicable to commercial properties).<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"companies":{"items":{"properties":{"name":{"type":"string","description":"Company name."},"casafari_connect_on":{"type":"boolean","description":"Whether the company is connected to Casafari Connect."}},"type":"object","required":["name","casafari_connect_on"]},"type":"array","description":"Companies to which the listing belongs."},"created_at":{"type":"string","format":"date","description":"The datetime when the listing was added."},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"is_private":{"type":"boolean","description":"Whether the listing is listed by a private individual, as opposed to an agent or a professional."},"casafari_connect":{"type":"boolean","description":"Whether the company is connected to Casafari Connect.","nullable":true},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true}},"type":"object","required":["listing_id","total_area","plot_area","terrace_area","bedrooms","bathrooms","rooms","sale_status","sale_currency","sale_price","sale_price_base","rent_status","rent_currency","rent_price","rent_price_base","agency_legal_id","agency","description","listing_uid","construction_year","source_name","contacts_info","energy_certificate","energy_rating","heating_type","ceiling_label","commission","min_rent_area","companies","created_at","floor_number","is_private","casafari_connect"]},"type":"array","description":"The list of listings related to the property."},"history":{"items":{"properties":{"sale_price":{"type":"integer","description":"Sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_currency":{"type":"string","description":"Sale price currency code."},"rent_price":{"type":"integer","description":"Rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_currency":{"type":"string","description":"Rent price currency code."},"changed_at":{"type":"string","format":"date","description":"Date when the estate was last updated."}},"type":"object","required":["sale_price","sale_currency","rent_price","rent_currency","changed_at"]},"type":"array","description":"('List of sale and rent price history data. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `sale_price_history and rent_price_history` field instead.</strong>',)","default":[]},"sale_price_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"sale_price_old":{"type":"integer","description":"Old sale price, in the currency of the listings."},"sale_price_new":{"type":"integer","description":"New sale price, in the currency of the listings."}},"type":"object","required":["date_start","date_end","sale_price_old","sale_price_new"]},"type":"array","description":"List of sale price history data.","default":[]},"rent_price_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"rent_price_old":{"type":"integer","description":"Old rent price, in the currency of the listings."},"rent_price_new":{"type":"integer","description":"New rent price, in the currency of the listings."}},"type":"object","required":["date_start","date_end","rent_price_old","rent_price_new"]},"type":"array","description":"List of rent price history data.","default":[]},"sale_status_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"sale_status_old":{"type":"string","description":"Old sale status, in the currency of the listings."},"sale_status_new":{"type":"string","description":"New sale status, in the currency of the listings."}},"type":"object","required":["date_start","date_end","sale_status_old","sale_status_new"]},"type":"array","description":"List of sale status history data.","default":[]},"rent_status_history":{"items":{"properties":{"date_start":{"type":"string","format":"date","description":"Start date when the change was applied."},"date_end":{"type":"string","format":"date","description":"End date when the change was applied."},"rent_status_old":{"type":"string","description":"Old rent status, in the currency of the listings."},"rent_status_new":{"type":"string","description":"New rent status, in the currency of the listings."}},"type":"object","required":["date_start","date_end","rent_status_old","rent_status_new"]},"type":"array","description":"List of rent status history data.","default":[]},"property_url":{"type":"string","description":"URL of the property in the CASAFARI website.","readOnly":true,"nullable":true},"address":{"type":"string","description":"Property address."},"zip_code":{"type":"string","description":"The location zip code.","nullable":true},"distance":{"type":"number","description":"Distance in kilometers from target point to the property.Available only when the `custom_location_boundary.circle` field is defined in the request.","readOnly":true,"nullable":true},"description":{"type":"string","description":"Property description."},"construction_year":{"type":"integer","description":"Construction year."},"rent_price_base":{"type":"integer","description":"Current rent price, in Euros."},"rent_price_per_sqm":{"type":"number","description":"Current rent price per square meter, in the currency of the listings (specified by the `rent_currency` field)."},"rent_price_per_sqm_base":{"type":"number","description":"Current rent price per square meter, in Euros."},"sale_price_base":{"type":"integer","description":"Current sale price, in Euros."},"sale_price_per_sqm":{"type":"number","description":"Current sale price per square meter, in the currency of the listings (specified by the `sale_currency` field)."},"sale_price_per_sqm_base":{"type":"number","description":"Current sale price per square meter, in Euros."},"is_auction_property":{"type":"boolean","description":"Whether the property is an auction property."},"is_bank_property":{"type":"boolean","description":"Whether the property is a bank property."},"changed_at":{"type":"string","format":"date","description":"The date and time when the property was last updated."},"sale_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of sale price.","nullable":true},"rent_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of rent price.","nullable":true},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true},"pictures":{"items":{"type":"string"},"type":"array","description":"List of the original picture image URLs.","readOnly":true},"gross_yield":{"type":"number","description":"Gross yield in percentage."},"title":{"type":"string","description":"Property title."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>"},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property."},"ceiling_label":{"type":"string","description":"Ceiling height in meters.<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"min_rent_area":{"type":"integer","description":"Minimum rental area in square meters (mainly applicable to commercial properties).<br><span style=\"color:red\">Available only for Germany.</span>","nullable":true},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings.","readOnly":true},"casafari_connect":{"type":"boolean","description":"Whether the company is connected to Casafari Connect.","nullable":true},"source_floor_numbers":{"items":{"type":"integer"},"type":"array","description":"List of property floor numbers based on listings data. Negative values indicate underground floors (e.g. basements).","default":[]},"retail_data":{"properties":{"facade_measurements":{"properties":{"height":{"type":"number","description":"Facade height in meters.","nullable":true},"length":{"type":"number","description":"Facade length in meters.","nullable":true},"surface":{"type":"number","description":"Facade surface area in square meters.","nullable":true}},"type":"object","required":["height","length","surface"],"description":"Facade measurements of the commercial property (height, length, surface in meters).","nullable":true},"transfer_price_range":{"properties":{"gte":{"type":"integer","description":"Lower bound of the transfer price range.","nullable":true},"lte":{"type":"integer","description":"Upper bound of the transfer price range.","nullable":true}},"type":"object","required":["gte","lte"],"description":"Price range if the property is available for transfer.","nullable":true},"is_street_level":{"type":"boolean","description":"Whether the commercial entrance is situated at the street level, without having to go upstairs/downstairs to reach it.","nullable":true},"number_of_floors":{"type":"integer","description":"The number of commercial property floors.","nullable":true},"number_of_premises":{"type":"integer","description":"The number of property usable rooms/premises.","nullable":true},"possible_business_types":{"items":{"type":"string"},"type":"array","description":"What kind of business can/did run in this commercial property (e.g. cafe, restaurant, grocery store, dental clinic).","nullable":true}},"type":"object","required":["facade_measurements","transfer_price_range","is_street_level","number_of_floors","number_of_premises","possible_business_types"],"description":"Retail-related attributes of the property. Null for non-commercial properties or if the retail data is not available.","nullable":true}},"type":"object","required":["property_id","primary_listing_id","type","type_group","operations","location","locations_structure","coordinates","total_area","living_area","plot_area","terrace_area","bathrooms","bedrooms","rooms","floor_number","rent_currency","rent_period","rent_price","rent_status","sale_currency","sale_price","sale_status","is_private_property","features","condition","sale_time_on_market","rent_time_on_market","listings","address","zip_code","description","construction_year","rent_price_base","rent_price_per_sqm","rent_price_per_sqm_base","sale_price_base","sale_price_per_sqm","sale_price_per_sqm_base","is_auction_property","is_bank_property","changed_at","sale_price_last_change","rent_price_last_change","gross_yield","title","energy_certificate","energy_rating","ceiling_label","min_rent_area","casafari_connect"]},"ApiPropertiesSearchRequestV2":{"properties":{"search_operations":{"items":{"type":"string","enum":["sale","sold","sale_hold","rent","rented","rent_hold"]},"type":"array","description":"Search business types for which the property is available."},"location_ids":{"items":{"type":"integer","maximum":2147483647.0,"minimum":1.0},"type":"array","maxItems":100,"description":"List of location IDs, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint."},"custom_location_boundary":{"properties":{"polygon":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Closed polygon of geo-points to search within. First and last points must match. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `polygons` field instead.</strong>"},"circle":{"properties":{"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to the properties.","default":5},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided."}},"type":"object","required":["target_point"],"description":"Circle boundary to search within."},"polygons":{"items":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array"},"type":"array","maxItems":4,"description":"List of closed polygons of geo-points to search within. Each polygon must contain at least 4 points. First and last points must match in each polygon. Maximum 4 polygons allowed."}},"type":"object","description":"Custom location to search within. Can be defined as a polygon of geo-points or a circle with a given target point and a distance. Only one value should be provided."},"conditions":{"items":{"type":"string","enum":["used","ruin","very-good","new","other"]},"type":"array","description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"property_date_from":{"type":"string","format":"date","description":"Start date (in the format `YYYY-MM-DD`) of the period for property of interest."},"property_date_to":{"type":"string","format":"date","description":"End date (in the format `YYYY-MM-DD`) of the period for property of interest."},"created_date_from":{"type":"string","format":"date-time","description":"Created date from (in the format `YYYY-MM-DDTHH:mm:ss`)."},"created_date_to":{"type":"string","format":"date-time","description":"Created date to (in the format `YYYY-MM-DDTHH:mm:ss`)."},"updated_date_from":{"type":"string","format":"date-time","description":"Updated date from (in the format `YYYY-MM-DDTHH:mm:ss`)."},"updated_date_to":{"type":"string","format":"date-time","description":"Updated date to (in the format `YYYY-MM-DDTHH:mm:ss`)."},"price_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum price value."},"price_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum price value."},"price_per_sqm_from":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Minimum value for price per square meter."},"price_per_sqm_to":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"Maximum value for price per square meter."},"bedrooms_from":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Minimum number of bedrooms."},"bedrooms_to":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Maximum number of bedrooms."},"bathrooms_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of bathrooms."},"bathrooms_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of bathrooms."},"total_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum total area."},"total_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum total area."},"plot_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum plot area."},"plot_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum plot area."},"construction_year_from":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Minimum construction year."},"construction_year_to":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Maximum construction year."},"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `floors` field instead.</strong>"},"floors":{"items":{"type":"string","enum":["no_floor","ground","middle","top"]},"type":"array","description":"List of floor types."},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation."},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>"},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property."},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>"},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces."},"characteristics":{"properties":{"must_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include only properties that have all these characteristics."},"exclude":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Exclude properties that contain any of these characteristics."}},"type":"object","description":"Property characteristics.<br/><strong>The field was changed from Array of strings to object.</strong><br/><strong>Backwards compatibility is still supported.</strong>"},"types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"<br>Country availability per type is available at the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br><br>Property types by type groups:<br/><strong>apartment:</strong> etagenwohnung, duplex, dachgeschosswohnung, erdgeschosswohnung, studio, apartment, penthouse<br/><strong>house:</strong> country_estate, chalet, landwirtschaftliche_betriebe, einfamilienhaus, reihenmittelhaus, country_house, townhouse, zweifamilienhaus, reihenendhaus, reihenhaus, bungalow, family_house (<span style=\"color:red\">DEPRECATED</span>), house, palace, villa<br/><strong>room:</strong> room<br/><strong>building:</strong> office_building, mix_use_building, apartment_building<br/><strong>investment:</strong> retail, office, werkstatt, warehouse, other_commercial, hotel, restaurant, industrial<br/><strong>plot:</strong> urban_plot, plot (<span style=\"color:red\">DEPRECATED</span>), rural_plot<br/><strong>other:</strong> parking, other, garage"},"property_types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"Property types, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `types` field instead.</strong>"},"private":{"type":"boolean","description":"Whether to return properties listed by a private individual, as opposed to an agent or a professional."},"auction":{"type":"boolean","description":"Whether to return auction properties. (If the `bank` filter is also set, the result will contain both `auction` and `bank` properties)"},"bank":{"type":"boolean","description":"Whether to return bank properties. (If the `auction` filter is also set, the result will contain both `bank` and `auction` properties)"},"casafari_connect":{"type":"boolean","description":"Whether to return properties that have at least one listing with a company connected to Casafari Connect."},"listing_agents":{"items":{"type":"string"},"type":"array","description":"Return properties from specified agents. To find allowed agent names use the [GET /api/v1/references/agents](/#operation/api__get__v1__references__agents) endpoint."},"with_agencies":{"items":{"type":"string"},"type":"array","description":"Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"without_agencies":{"items":{"type":"string"},"type":"array","description":"Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"exclusive":{"type":"boolean","description":"Whether to return properties that are available on market exclusively from a single agency or private individual.<br/>Can be passed only along with at least one of the fields: `private`, `with_agencies`, `without_agencies`."},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings."},"energy_certificate":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"],"description":"Energy certificate. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_certificates":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy certificates. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_ratings":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy ratings."},"days_on_market_from":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Minimum days on market value."},"days_on_market_to":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Maximum days on market value."},"gross_yield_from":{"type":"number","maximum":20.0,"minimum":1.0,"description":"Minimum gross yield value."},"gross_yield_to":{"type":"number","maximum":20.0,"minimum":1.0,"description":"Maximum gross yield value."},"rooms_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of rooms."},"rooms_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of rooms."},"number_of_parkings_from":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Minimum number of parking spaces."},"number_of_parkings_to":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Maximum number of parking spaces."},"living_area_from":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Minimum living area."},"living_area_to":{"type":"integer","maximum":10000000.0,"minimum":1.0,"description":"Maximum living area."},"floor_numbers":{"items":{"type":"integer","maximum":250.0,"minimum":-250.0},"type":"array","description":"Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).<br>Minimum value is -250.<br>Maximum value is 250."}},"type":"object","required":["search_operations"]},"ApiSearchComparablesResponseV2":{"properties":{"results":{"items":{"properties":{"property_id":{"type":"integer","description":"ID of the property."},"property_url":{"type":"string","description":"URL of the property in the CASAFARI website.","readOnly":true,"nullable":true},"primary_listing_id":{"type":"integer","description":"Primary listing (ad) ID of the property which is defined after the matching into property."},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"type_group":{"type":"string","enum":["apartment","house","investment","plot","other"],"description":"Property type group, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"coordinates":{"properties":{"latitude":{"type":"number","description":"Latitude."},"longitude":{"type":"number","description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Property coordinates.","nullable":true},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"],"description":"Information about property location."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array","description":"Information about all the parent locations (including property location) up to the country."},"address":{"type":"string","description":"Property address."},"zip_code":{"type":"string","description":"The location zip code.","nullable":true},"distance":{"type":"number","description":"Distance in kilometers from target point to the property. Not calculated for search by polygon.","readOnly":true,"nullable":true},"construction_year":{"type":"integer","description":"Construction year."},"total_area":{"type":"integer","description":"Total area."},"living_area":{"type":"integer","description":"Living area."},"plot_area":{"type":"integer","description":"Plot area."},"terrace_area":{"type":"integer","description":"Terrace area."},"bedrooms":{"type":"integer","description":"Number of bedrooms.","nullable":true},"rooms":{"type":"integer","description":"Number of rooms."},"bathrooms":{"type":"integer","description":"Number of bathrooms."},"floor_number":{"type":"integer","description":"Exact floor number. Negative values indicate underground floors (e.g. basements).","nullable":true},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"features":{"properties":{"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type.","nullable":true},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation.","nullable":true},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>","nullable":true},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property.","nullable":true},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>","nullable":true},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces.","nullable":true},"characteristics":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Property characteristics.","nullable":true}},"type":"object","required":["floor","orientation","view","views","direction","directions","characteristics"],"description":"Property features, as returned by the [GET /api/v1/references/features](/#operation/api__get__v1__references__features) endpoint."},"operations":{"items":{"type":"string","enum":["sale","rent"]},"type":"array","description":"Operation types for which property is available."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Sale status."},"sale_currency":{"type":"string","description":"Sale price currency code."},"sale_price":{"type":"integer","description":"Sale price, in the currency of the listings (specified by the `sale_currency` field)."},"sale_price_base":{"type":"integer","description":"Sale price, in Euros."},"sale_price_per_sqm":{"type":"number","description":"Sale price per square meter, in the currency of the listings (specified by the `sale_currency` field)."},"sale_price_per_sqm_base":{"type":"number","description":"('Sale price per square meter, in Euros.',)"},"rent_status":{"type":"string","enum":["active","reserved","hold","rented","none"],"description":"Rent status."},"rent_currency":{"type":"string","description":"Rent price currency code."},"rent_price":{"type":"integer","description":"Rent price, in the currency of the listings (specified by the `rent_currency` field)."},"rent_price_base":{"type":"integer","description":"Rent price, in Euros."},"rent_price_per_sqm":{"type":"number","description":"Rent price per square meter, in the currency of the listings (specified by the `rent_currency` field)."},"rent_price_per_sqm_base":{"type":"number","description":"('Rent price per square meter, in Euros.',)"},"rent_period":{"type":"string","enum":["day","week","fortnight","month","year","none"],"description":"Rent period."},"title":{"type":"string","description":"Property title."},"description":{"type":"string","description":"Property description."},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","readOnly":true},"pictures":{"items":{"type":"string"},"type":"array","description":"List of the original picture image URLs.","readOnly":true},"gross_yield":{"type":"number","description":"Gross yield in percentage."},"sold_at":{"type":"string","format":"date","description":"Date when the property was sold.","nullable":true},"rented_at":{"type":"string","format":"date","description":"Date when the property was rented.","nullable":true},"total_sale_price_change":{"type":"number","description":"Total sale price change in percents."},"total_rent_price_change":{"type":"number","description":"Total rent price change in percents."},"last_sale_price_reduction":{"type":"number","description":"Last sale price reduction in percents."},"last_rent_price_reduction":{"type":"number","description":"Last rent price reduction in percents."},"sale_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of sale price.","nullable":true},"rent_price_last_change":{"properties":{"change_date":{"type":"string","format":"date","description":"Date of the change."},"old_value":{"type":"integer","description":"Value before change."},"new_value":{"type":"integer","description":"Value after change."}},"type":"object","required":["change_date","old_value","new_value"],"description":"Information about the last change of rent price.","nullable":true},"sale_time_on_market":{"type":"object","description":"Information about the property last activity on the sales market.","readOnly":true,"nullable":true},"rent_time_on_market":{"type":"object","description":"Information about the property last activity on the rental market.","readOnly":true,"nullable":true},"sale_active_listings_count":{"type":"integer","description":"Number of active listings for this property on the sales market.","readOnly":true},"rent_active_listings_count":{"type":"integer","description":"Number of active listings for this property on the rental market.","readOnly":true},"similarity_score":{"type":"number","description":"Similarity score of the property. Value between 0 and 1. Indicates how property parameters are close to the requested ones.","readOnly":true},"listing_urls":{"items":{"type":"string","format":"uri"},"type":"array","description":"Listing urls of the comparable."},"is_outlier":{"type":"boolean","description":"Whether the property is considered an outlier based on its price.","default":false},"is_private_property":{"type":"boolean","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"energy_certificate":{"type":"string","description":"Energy certificate classification that attests to the energy efficiency of a property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_rating` field instead.</strong>","default":""},"energy_rating":{"type":"string","description":"Energy rating that attests to the energy efficiency of a property.","default":""},"ref_numbers":{"items":{"type":"string"},"type":"array","description":"List of reference numbers from listings."}},"type":"object","required":["property_id","primary_listing_id","type","type_group","coordinates","location","locations_structure","address","zip_code","construction_year","total_area","living_area","plot_area","terrace_area","bedrooms","rooms","bathrooms","floor_number","condition","features","operations","sale_status","sale_currency","sale_price","sale_price_base","sale_price_per_sqm","sale_price_per_sqm_base","rent_status","rent_currency","rent_price","rent_price_base","rent_price_per_sqm","rent_price_per_sqm_base","rent_period","title","description","gross_yield","sold_at","rented_at","total_sale_price_change","total_rent_price_change","last_sale_price_reduction","last_rent_price_reduction","sale_price_last_change","rent_price_last_change","listing_urls","is_private_property","ref_numbers"]},"type":"array","description":"Array of found comparable properties."},"dvf_results":{"items":{"properties":{"dvf_reference":{"type":"integer","description":"Reference ID of the DVF property."},"coordinates":{"properties":{"lat":{"type":"number","description":"Latitude."},"lon":{"type":"number","description":"Longitude."}},"type":"object","required":["lat","lon"],"description":"DVF property coordinates.","nullable":true},"distance":{"type":"number","description":"Distance in kilometers from target point to DVF the property. Not calculated for search by polygon.","readOnly":true},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"type_group":{"type":"string","enum":["apartment","house","investment","plot","other"],"description":"Property type group, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint."},"sale_price":{"type":"integer","description":"Sale price, in the original currency."},"sale_price_base":{"type":"integer","description":"Sale price, in Euros."},"sale_price_psqm":{"type":"number","description":"Sale price per square meter, in the original currency.","default":0},"sale_price_psqm_base":{"type":"number","description":"Sale price per square meter, in Euros.","default":0},"sold_at":{"type":"string","description":"Date when the property was sold.","readOnly":true,"nullable":true},"total_area":{"type":"integer","description":"Total area."},"plot_area":{"type":"integer","description":"Plot area."},"rooms":{"type":"integer","description":"Number of rooms."},"bedrooms":{"type":"integer","description":"Number of bedrooms."},"address":{"type":"string","description":"Property address."},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"],"description":"Information about DVF property location."},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array","description":"Information about all the parent locations (including DVF property location) up to the country."},"sale_status":{"type":"string","enum":["active","reserved","hold","sold","none"],"description":"Sale status.","default":"sold"},"thumbnails":{"items":{"type":"string"},"type":"array","description":"List of the thumbnail image URLs.","default":[],"readOnly":true}},"type":"object","required":["dvf_reference","coordinates","type","type_group","sale_price","sale_price_base","total_area","plot_area","rooms","bedrooms","address","location","locations_structure"]},"type":"array","description":"Array of found DVF data (Request for geolocated property values)."},"transactional_data":{"items":{"properties":{"id":{"type":"integer"},"reference":{"type":"string","nullable":true},"cadastral_reference":{"type":"string","nullable":true},"rooms":{"type":"integer","nullable":true},"bedrooms":{"type":"integer","nullable":true},"bathrooms":{"type":"integer","nullable":true},"coordinates":{"properties":{"lat":{"type":"number","description":"Latitude."},"lon":{"type":"number","description":"Longitude."}},"type":"object","required":["lat","lon"]},"total_area":{"type":"number","nullable":true},"plot_area":{"type":"number","nullable":true},"address":{"type":"string","nullable":true},"source_typology":{"type":"string","nullable":true},"source_annexes":{"type":"string","description":"Additional raw source data (if present), describing annexes (such as parking, storage, etc) included in the transaction price.","nullable":true},"type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type_group":{"type":"string","nullable":true},"sold_at":{"type":"string","format":"date","nullable":true},"currency":{"type":"string","description":"Price currency code.","nullable":true},"price":{"type":"number","nullable":true},"price_per_sqm":{"type":"number","nullable":true},"with_mortgage":{"type":"boolean","description":"Flag indicating whether the transaction was financed with a mortgage.","nullable":true},"distance":{"type":"number","description":"Distance in kilometers from target point to the property. Not calculated for search by polygon.","readOnly":true,"nullable":true},"location_id":{"type":"integer","nullable":true},"construction_year":{"type":"integer","nullable":true},"location":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"locations_structure":{"items":{"properties":{"location_id":{"type":"integer","description":"('Location ID, as returned by the [POST /api/v1/references/locations](/#operation/api__post__v1__references__locations) endpoint.',)"},"name":{"type":"string","description":"Location name."},"administrative_level":{"type":"string","description":"Location administrative level."},"zip_codes":{"items":{"type":"string"},"type":"array","description":"The location zip codes.","default":[]}},"type":"object","required":["location_id","name","administrative_level"]},"type":"array"},"image_url":{"type":"string","pattern":"^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z","format":"uri","nullable":true},"country_code":{"type":"string","enum":["FR","IT","PT","ES"]}},"type":"object","required":["id","reference","cadastral_reference","rooms","bedrooms","bathrooms","coordinates","total_area","plot_area","address","source_typology","source_annexes","type","type_group","sold_at","currency","price","price_per_sqm","with_mortgage","location_id","construction_year","location","locations_structure","image_url","country_code"]},"type":"array","nullable":true},"statistics":{"properties":{"average_price":{"type":"integer","description":"Average price."},"average_price_per_sqm":{"type":"number","description":"Average price per square meter."},"average_time_on_the_market":{"type":"integer","description":"Average number of days on the market."},"average_listings_per_property":{"type":"number","description":"Average number of listings per property."},"sold_or_rented_in_last_six_months":{"type":"integer","description":"Number of properties that were sold or rented during the last 6 months in the requested location."}},"type":"object","required":["average_price","average_price_per_sqm","average_time_on_the_market","average_listings_per_property","sold_or_rented_in_last_six_months"],"description":"Statistics information for the found comparables (for `operation` defined in the request).","nullable":true},"estimated_prices":{"properties":{"fast_sell_price":{"type":"integer","description":"Fast sell price."},"fair_market_price":{"type":"integer","description":"Fair market price."},"out_of_market_price":{"type":"integer","description":"Out of market price."},"fast_sell_price_per_sqm":{"type":"number","description":"Fast sell price per square meter."},"fair_market_price_per_sqm":{"type":"number","description":"Fair market price per square meter."},"out_of_market_price_per_sqm":{"type":"number","description":"Out of market price per square meter."}},"type":"object","required":["fast_sell_price","fair_market_price","out_of_market_price","fast_sell_price_per_sqm","fair_market_price_per_sqm","out_of_market_price_per_sqm"],"description":"Estimated prices calculated based on the found comparables (for `operation` defined in the request).","nullable":true},"casafari_link":{"type":"string","pattern":"^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z","format":"uri","description":"Link to Comparative Market Analysis page.","nullable":true},"valuation_id":{"type":"integer","description":"Persistent valuation ID used to generate Smart Link or a PDF. Expires in a year.","nullable":true}},"type":"object","required":["results","statistics","estimated_prices","casafari_link"]},"ApiSearchComparablesRequestV2":{"properties":{"comparables_count":{"type":"integer","maximum":50.0,"minimum":1.0,"description":"Maximum number of comparable properties in results."},"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `target_point.coordinates` field instead.</strong>"},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `location_boundary.circle` field instead.</strong>"},"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to comparable properties.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `location_boundary.circle` field instead.</strong>","default":5},"location_boundary":{"properties":{"polygon":{"items":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"]},"type":"array","minItems":4,"description":"Closed polygon of geo-points to search within. First and last points must match. "},"circle":{"properties":{"distance":{"type":"number","maximum":50.0,"minimum":0.05,"description":"Maximum distance in kilometers from the requested `target_point` to the properties.","default":5},"target_point":{"properties":{"coordinates":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"description":"Latitude."},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"description":"Longitude."}},"type":"object","required":["latitude","longitude"],"description":"Target point coordinates to search around."},"address":{"type":"string","description":"Address of the property to define the point to search around."},"cadastral_reference":{"properties":{"country_code":{"type":"string","enum":["ES"],"description":"Country code following the ISO 3166-1 alpha-2 rules.","writeOnly":true},"cadastral_reference":{"type":"string","description":"Cadastral reference of the estate.","writeOnly":true},"province":{"type":"string","description":"Name of the estate's province.","writeOnly":true},"municipality":{"type":"string","description":"Name of the estate's municipality.","writeOnly":true}},"type":"object","required":["country_code","cadastral_reference"],"description":"Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain."}},"type":"object","description":"Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided."}},"type":"object","required":["target_point"],"description":"Circle boundary to search within."}},"type":"object","description":"Location to search within. Can be defined as a polygon of geo-points or a circle with a given target point and a distance. Only one value should be provided."},"sold_or_rented_after":{"type":"string","format":"date","description":"Properties sold/rented since this date (in the format `YYYY-MM-DD`) will be considered as possible comparables. Default value: 9 months ago, counting from today. If `null` is passed, only active properties will be considered.","nullable":true},"operation":{"type":"string","enum":["sale","rent"],"description":"Operation type."},"business_type":{"type":"string","enum":["sale","rent"],"description":"Operation type.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `operation` field instead.</strong>"},"comparables_type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Comparables property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `comparables_types` field instead.</strong>"},"comparables_types":{"items":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"]},"type":"array","description":"<br>Country availability per type is available at the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br><br>Property types by type groups:<br/><strong>apartment:</strong> etagenwohnung, duplex, dachgeschosswohnung, erdgeschosswohnung, studio, apartment, penthouse<br/><strong>house:</strong> country_estate, chalet, landwirtschaftliche_betriebe, einfamilienhaus, reihenmittelhaus, country_house, townhouse, zweifamilienhaus, reihenendhaus, reihenhaus, bungalow, family_house (<span style=\"color:red\">DEPRECATED</span>), house, palace, villa<br/><strong>room:</strong> room<br/><strong>building:</strong> office_building, mix_use_building, apartment_building<br/><strong>investment:</strong> retail, office, werkstatt, warehouse, other_commercial, hotel, restaurant, industrial<br/><strong>plot:</strong> urban_plot, plot (<span style=\"color:red\">DEPRECATED</span>), rural_plot<br/><strong>other:</strong> parking, other, garage<br/><br/><i><span style=\"color:red\">Note that you can select multiple types only from one property type group.</span></i>"},"property_type":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","other_commercial","restaurant","werkstatt","plot","urban_plot","rural_plot","room","other","garage","parking","apartment_building","office_building","mix_use_building"],"description":"Comparables property type, as returned by the [GET /api/v1/references/types](/#operation/api__get__v1__references__types) endpoint.<br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `comparables_types` field instead.</strong>"},"min_price":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"description":"The minimum price filter for comparables result.","default":0},"max_price":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"description":"The maximum price filter for comparables result."},"condition":{"type":"string","enum":["used","ruin","very-good","new","other"],"description":"Property condition, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"bedrooms":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Number of bedrooms (cannot be used together with `rooms`)."},"rooms":{"type":"integer","maximum":15000.0,"minimum":0.0,"description":"Number of rooms (cannot be used together with `bedrooms`)."},"bathrooms":{"type":"integer","maximum":15000.0,"minimum":1.0,"description":"Number of bathrooms."},"construction_year":{"type":"integer","maximum":3000.0,"minimum":1.0,"description":"Desired construction year."},"total_area":{"type":"integer","maximum":10000000.0,"minimum":5.0,"description":"Desired total area, square meters. This field is required for `hotel`, `industrial`, `office`, `other_commercial`, `restaurant`, `retail`, `warehouse`, `werkstatt` property types if `target_point.cadastral_reference` is not provided."},"plot_area":{"type":"integer","maximum":10000000.0,"minimum":20.0,"description":"Desired plot area, square meters. This field is required for `rural_plot` and `urban_plot` property types if `target_point.cadastral_reference` is not provided."},"floor":{"type":"string","enum":["no_floor","ground","middle","top"],"description":"Floor type. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `floors` field instead.</strong>"},"floors":{"items":{"type":"string","enum":["no_floor","ground","middle","top"]},"type":"array","description":"List of floor types."},"floor_number":{"items":{"type":"integer","maximum":250.0,"minimum":-250.0},"type":"array","description":"Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).<br>Minimum value is -250.<br>Maximum value is 250."},"orientation":{"type":"string","enum":["exterior","interior"],"description":"Property view orientation."},"view":{"type":"string","enum":["water","landscape","city","golf","park"],"description":"View from the property. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `views` field instead.</strong>"},"views":{"items":{"type":"string","enum":["water","landscape","city","golf","park"]},"type":"array","description":"List of views from the property."},"direction":{"type":"string","enum":["north","south","east","west"],"description":"Cardinal direction the property faces. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `directions` field instead.</strong>"},"directions":{"items":{"type":"string","enum":["north","south","east","west"]},"type":"array","description":"List of cardinal directions the property faces."},"characteristics":{"properties":{"must_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include only properties that have all these characteristics."},"nice_to_have":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Include properties that have any of these characteristics."},"exclude":{"items":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"]},"type":"array","description":"Exclude properties that contain any of these characteristics."}},"type":"object","description":"Property characteristics."},"energy_certificate":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"],"description":"Energy certificate. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_certificates":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy certificates. <br/><strong>This field is deprecated and will be removed in the next major update.</strong><br/><strong>Please, use `energy_ratings` field instead.</strong>"},"energy_ratings":{"items":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"]},"type":"array","description":"List of energy ratings."},"days_on_market_from":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Minimum days on market value."},"days_on_market_to":{"type":"integer","maximum":10000.0,"minimum":1.0,"description":"Maximum days on market value."},"with_agencies":{"items":{"type":"string"},"type":"array","description":"Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"without_agencies":{"items":{"type":"string"},"type":"array","description":"Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /api/v1/references/agencies](/#operation/api__get__v1__references__agencies) endpoint."},"exclude_outliers":{"type":"boolean","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":true}},"type":"object","required":["comparables_count","location_boundary","operation","comparables_types"]},"ApiAIBuilderResponseV2":{"properties":{"id":{"type":"string","description":"ID of the initialized AI Builder session."},"url":{"type":"string","description":"URL of the initialized AI Builder session."}},"type":"object","required":["id","url"]},"ApiAIBuilderRequestV2":{"properties":{"valuation_id":{"type":"integer","description":"ID of the saved CMA to build the session from."},"agent":{"properties":{"first_name":{"type":"string","description":"First name of the agent displayed in the Builder."},"last_name":{"type":"string","description":"Last name of the agent displayed in the Builder.","nullable":true},"shop_name":{"type":"string","description":"Name of the agency or brokerage displayed alongside the agent information.","nullable":true},"photo_url":{"type":"string","pattern":"^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z","format":"uri","description":"URL to the profile picture of the agent.","nullable":true},"email":{"type":"string","format":"email","description":"Agent's email address displayed in the Builder and available for client contact.","nullable":true},"phone":{"type":"string","description":"Phone number of the agent.","nullable":true},"whatsapp":{"type":"string","description":"Agent's WhatsApp phone number displayed as a contact option. Include the country code.","nullable":true},"instagram":{"type":"string","description":"Agent's Instagram username or profile identifier displayed in the Builder.","nullable":true},"telegram":{"type":"string","description":"Agent's Telegram username displayed in the Builder.","nullable":true},"agent_webpage":{"type":"string","pattern":"^(?:[a-z0-9.+-]*)://(?:[^\\s:@/]+(?::[^\\s:@/]*)?@)?(?:(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)(?:\\.(?:0|25[0-5]|2[0-4][0-9]|1[0-9]?[0-9]?|[1-9][0-9]?)){3}|\\[[0-9a-f:.]+\\]|([a-z¡-￿0-9](?:[a-z¡-￿0-9-]{0,61}[a-z¡-￿0-9])?(?:\\.(?!-)[a-z¡-￿0-9-]{1,63}(?<!-))*\\.(?!-)(?:[a-z¡-￿-]{2,63}|xn--[a-z0-9]{1,59})(?<!-)\\.?|localhost))(?::[0-9]{1,5})?(?:[/?#][^\\s]*)?\\z","format":"uri","description":"Public URL of the agent's personal or professional webpage.","nullable":true},"agent_bio":{"type":"string","description":"Short biography or description of the agent. Displayed in the Builder only if the `photo_url` field is provided in the request.","nullable":true}},"type":"object","required":["first_name"],"description":"Agent data to display in the Builder.","nullable":true},"language":{"type":"string","enum":["en","es","pt"],"description":"Language of the Builder session.","default":"en"},"external_ref":{"type":"string","nullable":true}},"type":"object","required":["valuation_id"]},"MarketAnalyticsApiAnalysisRequest":{"properties":{"custom_location_boundary":{"$ref":"#/components/schemas/MarketAnalyticsApiLocationBoundarySchema"},"business_type":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum","description":"Operation type for which the property is available."},"types":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalEstateTypeEnum"},"type":"array","minItems":1,"title":"Types","description":"The list of property types by type groups:<br/><strong>apartment: </strong>[\"apartment\", \"studio\", \"duplex\", \"penthouse\", \"dachgeschosswohnung\", \"etagenwohnung\", \"erdgeschosswohnung\"]<br/><strong>house: </strong>[\"country_house\", \"house\", \"palace\", \"townhouse\", \"villa\", \"country_estate\", \"chalet\", \"bungalow\", \"family_house\", \"reihenhaus\", \"reihenendhaus\", \"reihenmittelhaus\", \"einfamilienhaus\", \"zweifamilienhaus\", \"landwirtschaftliche_betriebe\"]<br/><strong>room: </strong>[\"room\"]<br/><strong>building: </strong>[\"apartment_building\", \"office_building\", \"mix_use_building\"]<br/><strong>investment: </strong>[\"retail\", \"office\", \"industrial\", \"warehouse\", \"hotel\", \"building\", \"other_commercial\", \"restaurant\", \"werkstatt\"]<br/><strong>development: </strong>[\"apartment_development\", \"house_development\"]<br/><strong>plot: </strong>[\"urban_plot\", \"rural_plot\"]<br/><strong>other: </strong>[\"parking\", \"garage\", \"other\"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style=\"color:red\">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong><br/><strong>investment:</strong><br/>&#9675; restaurant: <strong>Germany</strong><br/>&#9675; werkstatt: <strong>Germany</strong><br/><strong>plot:</strong><br/>&#9675; urban_plot: <strong>Italy, Germany, Portugal, Spain, France</strong><br/>&#9675; rural_plot: <strong>Italy, Germany, Portugal, Spain, France</strong>"},"conditions":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalConditionEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Conditions","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"energy_ratings":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalEnergyRatingEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Energy Ratings","description":"List of energy ratings that attests to the energy efficiency of the property."},"orientations":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalOrientationEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Orientations","description":"Property view orientation."},"views":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalViewEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Views","description":"List of views from the property."},"directions":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalDirectionEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Directions","description":"List of cardinal directions the property faces."},"floors":{"anyOf":[{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalFloorEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Floors","description":"List of floor types."},"price_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__1"},{"type":"null"}]},"rooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__2"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__3"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__4"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__5"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__6"},{"type":"null"}]},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__7"},{"type":"null"}]},"characteristics":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiCharacteristicsRequestSchema"},{"type":"null"}]}},"type":"object","required":["custom_location_boundary","business_type","types"],"title":"AnalysisRequest"},"MarketAnalyticsApiAnalysisResponse":{"properties":{"price_statistics":{"$ref":"#/components/schemas/MarketAnalyticsApiPriceStatistics","description":"Statistics including the average price and average price per square meter for properties matching the requested filters."},"price_estimation":{"$ref":"#/components/schemas/MarketAnalyticsApiPriceEstimation","description":"Provides estimated prices, including a quick sale price `fast_market_price` and an inflated price `out_of_market_price`."},"price_evolution":{"$ref":"#/components/schemas/MarketAnalyticsApiPriceEvolution","description":"Represents time series data showing how average prices and prices per square meter have changed over time for inactive properties."},"summary_price_evolution":{"$ref":"#/components/schemas/MarketAnalyticsApiPriceEvolution","description":"Represents time series data showing how average prices and prices per square meter have changed over time for both active and inactive properties."},"average_days_on_the_market":{"type":"integer","title":"Average Days On The Market","description":"Indicates the average number of days properties remain listed on the market before being sold or removed."}},"type":"object","required":["price_statistics","price_estimation","price_evolution","summary_price_evolution","average_days_on_the_market"],"title":"AnalysisResponse"},"MarketAnalyticsApiBedroomsDistributionRequestSchema":{"properties":{"types":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalApartmentAndHouseEstateTypeEnum"},"type":"array","minItems":1,"title":"Types","description":"The list of property types by type groups:<br/><strong>apartment: </strong>[\"apartment\", \"studio\", \"duplex\", \"penthouse\", \"dachgeschosswohnung\", \"etagenwohnung\", \"erdgeschosswohnung\"]<br/><strong>house: </strong>[\"country_house\", \"house\", \"palace\", \"townhouse\", \"villa\", \"country_estate\", \"chalet\", \"bungalow\", \"family_house\", \"reihenhaus\", \"reihenendhaus\", \"reihenmittelhaus\", \"einfamilienhaus\", \"zweifamilienhaus\", \"landwirtschaftliche_betriebe\"]<br/><strong>development: </strong>[\"apartment_development\", \"house_development\"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style=\"color:red\">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong>"},"business_type":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__8"},{"type":"null"}]},"price_per_sqm_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__9"},{"type":"null"}]},"rooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__10"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__16"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__12"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__13"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__14"},{"type":"null"}]},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__15"},{"type":"null"}]},"characteristics":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiCharacteristicsRequestSchema"},{"type":"null"}]},"conditions":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalConditionEnum"},"type":"array","minItems":1,"title":"Conditions","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"private":{"type":"boolean","title":"Private","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"bank":{"type":"boolean","title":"Bank","description":"Whether the property is owned by the bank."},"auction":{"type":"boolean","title":"Auction","description":"Whether the property is the subject of an auction.","default":false},"exclude_outliers":{"type":"boolean","title":"Exclude Outliers","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":false},"custom_location_boundary":{"$ref":"#/components/schemas/MarketAnalyticsApiLocationBoundarySchema"}},"type":"object","required":["types","business_type","custom_location_boundary"],"title":"BedroomsDistributionRequestSchema"},"MarketAnalyticsApiBedroomsDistributionUnitResponseSchema":{"properties":{"bedrooms":{"type":"string","title":"Bedrooms","description":"The number of bedrooms in the properties that participated in the distribution."},"properties_count":{"type":"integer","title":"Properties Count","description":"The number of properties that participated in the distribution."},"average_price":{"type":"number","title":"Average Price","description":"Average price of properties with a specific number of bedrooms."},"average_price_per_sqm":{"type":"number","title":"Average Price Per Sqm","description":"Average price per square meter of properties with a specific number of bedrooms."}},"type":"object","required":["bedrooms","properties_count","average_price","average_price_per_sqm"],"title":"BedroomsDistributionUnitResponseSchema"},"MarketAnalyticsApiBusinessTypeEnum":{"type":"string","enum":["sale","rent"],"title":"BusinessTypeEnum"},"MarketAnalyticsApiCharacteristicsRequestSchema":{"properties":{"must_have":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalCharacteristicEnum"},"type":"array","title":"Must Have","description":"Include only properties that have all these characteristics."},"exclude":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalCharacteristicEnum"},"type":"array","title":"Exclude","description":"Exclude properties that contain any of these characteristics."}},"type":"object","title":"CharacteristicsRequestSchema"},"MarketAnalyticsApiCircleBoundarySchema":{"properties":{"distance":{"type":"integer","maximum":50000.0,"minimum":50.0,"title":"Distance","description":"Maximum distance in meters from the requested `target_point` to the properties."},"target_point":{"$ref":"#/components/schemas/MarketAnalyticsApiGeoPoint","description":"Target point coordinates to search around."}},"type":"object","required":["distance","target_point"],"title":"CircleBoundarySchema"},"MarketAnalyticsApiDataPointEnum":{"type":"string","enum":["avg_price","avg_price_psqm","available_on_market","new","sold_or_rented","price_up","price_down"],"title":"DataPointEnum"},"MarketAnalyticsApiDataPointIntervalEnum":{"type":"string","enum":["week","month","quarter","year"],"title":"DataPointIntervalEnum"},"MarketAnalyticsApiDetailsResponse":{"properties":{"details":{"type":"string","title":"Details"}},"type":"object","required":["details"],"title":"DetailsResponse","description":"Represent basic response schema having details inside."},"MarketAnalyticsApiErrorResponse":{"properties":{"message":{"type":"string","title":"Message"},"errors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Errors"},"details":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Details"}},"type":"object","required":["message"],"title":"ErrorResponse","description":"Represent error response schema."},"MarketAnalyticsApiEstateTypeGroupEnum":{"type":"string","enum":["apartment","house","room","building","investment","development","plot","other"],"title":"EstateTypeGroupEnum","description":"Estate type group."},"MarketAnalyticsApiExternalApartmentAndHouseEstateTypeEnum":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","apartment_development","house_development"],"title":"ExternalApartmentAndHouseEstateTypeEnum"},"MarketAnalyticsApiExternalCharacteristicEnum":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"],"title":"ExternalCharacteristicEnum"},"MarketAnalyticsApiExternalConditionEnum":{"type":"string","enum":["used","ruin","very-good","new","other"],"title":"ExternalConditionEnum"},"MarketAnalyticsApiExternalDirectionEnum":{"type":"string","enum":["north","south","east","west"],"title":"ExternalDirectionEnum"},"MarketAnalyticsApiExternalEnergyRatingEnum":{"type":"string","enum":["Unknown","A+","A","B","C","D","E","F","G","H"],"title":"ExternalEnergyRatingEnum"},"MarketAnalyticsApiExternalEstateTypeEnum":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","building","other_commercial","restaurant","werkstatt","urban_plot","rural_plot","room","parking","garage","other","apartment_building","office_building","mix_use_building","apartment_development","house_development"],"title":"ExternalEstateTypeEnum"},"MarketAnalyticsApiExternalFloorEnum":{"type":"string","enum":["no_floor","ground","middle","top"],"title":"ExternalFloorEnum"},"MarketAnalyticsApiExternalOrientationEnum":{"type":"string","enum":["exterior","interior"],"title":"ExternalOrientationEnum"},"MarketAnalyticsApiExternalViewEnum":{"type":"string","enum":["water","landscape","city","golf","park"],"title":"ExternalViewEnum"},"MarketAnalyticsApiGeoPoint":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"}},"type":"object","required":["latitude","longitude"],"title":"GeoPoint"},"MarketAnalyticsApiHTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MarketAnalyticsApiHeatMapRequestSchema":{"properties":{"types":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalEstateTypeEnum"},"type":"array","minItems":1,"title":"Types","description":"The list of property types by type groups:<br/><strong>apartment: </strong>[\"apartment\", \"studio\", \"duplex\", \"penthouse\", \"dachgeschosswohnung\", \"etagenwohnung\", \"erdgeschosswohnung\"]<br/><strong>house: </strong>[\"country_house\", \"house\", \"palace\", \"townhouse\", \"villa\", \"country_estate\", \"chalet\", \"bungalow\", \"family_house\", \"reihenhaus\", \"reihenendhaus\", \"reihenmittelhaus\", \"einfamilienhaus\", \"zweifamilienhaus\", \"landwirtschaftliche_betriebe\"]<br/><strong>room: </strong>[\"room\"]<br/><strong>building: </strong>[\"apartment_building\", \"office_building\", \"mix_use_building\"]<br/><strong>investment: </strong>[\"retail\", \"office\", \"industrial\", \"warehouse\", \"hotel\", \"building\", \"other_commercial\", \"restaurant\", \"werkstatt\"]<br/><strong>development: </strong>[\"apartment_development\", \"house_development\"]<br/><strong>plot: </strong>[\"urban_plot\", \"rural_plot\"]<br/><strong>other: </strong>[\"parking\", \"garage\", \"other\"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style=\"color:red\">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong><br/><strong>investment:</strong><br/>&#9675; restaurant: <strong>Germany</strong><br/>&#9675; werkstatt: <strong>Germany</strong><br/><strong>plot:</strong><br/>&#9675; urban_plot: <strong>Italy, Germany, Portugal, Spain, France</strong><br/>&#9675; rural_plot: <strong>Italy, Germany, Portugal, Spain, France</strong>"},"business_type":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__8"},{"type":"null"}]},"price_per_sqm_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__9"},{"type":"null"}]},"rooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__10"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__11"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__12"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__13"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__14"},{"type":"null"}]},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__15"},{"type":"null"}]},"characteristics":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiCharacteristicsRequestSchema"},{"type":"null"}]},"conditions":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalConditionEnum"},"type":"array","minItems":1,"title":"Conditions","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"private":{"type":"boolean","title":"Private","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"bank":{"type":"boolean","title":"Bank","description":"Whether the property is owned by the bank."},"auction":{"type":"boolean","title":"Auction","description":"Whether the property is the subject of an auction.","default":false},"exclude_outliers":{"type":"boolean","title":"Exclude Outliers","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":false},"location_id":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"title":"Location Id"},"data_point":{"$ref":"#/components/schemas/MarketAnalyticsApiDataPointEnum"},"date_range":{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__DateRangeSchema__3"}},"type":"object","required":["types","business_type","location_id","data_point","date_range"],"title":"HeatMapRequestSchema"},"MarketAnalyticsApiHeatMapUnitResponseSchema":{"properties":{"location_id":{"type":"integer","title":"Location Id"},"location_name":{"type":"string","title":"Location Name"},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"}},"type":"object","required":["location_id","location_name","value"],"title":"HeatMapUnitResponseSchema"},"MarketAnalyticsApiInternalConditionEnum":{"type":"string","enum":["used","to-refurbish","very-good","new","unknown"],"title":"InternalConditionEnum"},"MarketAnalyticsApiInternalEstateTypeEnum":{"type":"integer","enum":[1,2,3,7,40,41,42,4,5,6,9,10,12,19,30,36,43,44,45,46,47,48,22,25,24,23,18,20,26,49,50,37,38,29,28,27,15,31,32,33,34,35],"title":"InternalEstateTypeEnum"},"MarketAnalyticsApiLocationBoundarySchema":{"properties":{"location_ids":{"items":{"type":"integer","maximum":2147483647.0,"minimum":1.0},"type":"array","maxItems":10,"minItems":1,"title":"Location Ids","description":"List of location IDs."},"polygon":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiGeoPoint"},"type":"array","minItems":4,"title":"Polygon","description":"List of geo-points to search within. Polygon must contain at least 4 points. First and last points must match."},"circle":{"$ref":"#/components/schemas/MarketAnalyticsApiCircleBoundarySchema","description":"Circle boundary to search within."}},"type":"object","title":"LocationBoundarySchema"},"MarketAnalyticsApiMarketMedianRequest":{"properties":{"country_id":{"type":"integer","title":"Country Id"},"location_id":{"type":"integer","title":"Location Id"},"operation":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum"},"type_ids":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiInternalEstateTypeEnum"},"type":"array","minItems":1,"title":"Type Ids"},"exclude_outliers":{"type":"boolean","title":"Exclude Outliers","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":false}},"type":"object","required":["country_id","location_id","operation","type_ids"],"title":"MarketMedianRequest"},"MarketAnalyticsApiMarketMedianResponse":{"properties":{"properties_count":{"type":"integer","title":"Properties Count"},"price_per_sqm_median":{"type":"number","title":"Price Per Sqm Median"}},"type":"object","required":["properties_count","price_per_sqm_median"],"title":"MarketMedianResponse"},"MarketAnalyticsApiPriceDistributionRequestSchema":{"properties":{"types":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalEstateTypeEnum"},"type":"array","minItems":1,"title":"Types","description":"The list of property types by type groups:<br/><strong>apartment: </strong>[\"apartment\", \"studio\", \"duplex\", \"penthouse\", \"dachgeschosswohnung\", \"etagenwohnung\", \"erdgeschosswohnung\"]<br/><strong>house: </strong>[\"country_house\", \"house\", \"palace\", \"townhouse\", \"villa\", \"country_estate\", \"chalet\", \"bungalow\", \"family_house\", \"reihenhaus\", \"reihenendhaus\", \"reihenmittelhaus\", \"einfamilienhaus\", \"zweifamilienhaus\", \"landwirtschaftliche_betriebe\"]<br/><strong>room: </strong>[\"room\"]<br/><strong>building: </strong>[\"apartment_building\", \"office_building\", \"mix_use_building\"]<br/><strong>investment: </strong>[\"retail\", \"office\", \"industrial\", \"warehouse\", \"hotel\", \"building\", \"other_commercial\", \"restaurant\", \"werkstatt\"]<br/><strong>development: </strong>[\"apartment_development\", \"house_development\"]<br/><strong>plot: </strong>[\"urban_plot\", \"rural_plot\"]<br/><strong>other: </strong>[\"parking\", \"garage\", \"other\"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style=\"color:red\">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong><br/><strong>investment:</strong><br/>&#9675; restaurant: <strong>Germany</strong><br/>&#9675; werkstatt: <strong>Germany</strong><br/><strong>plot:</strong><br/>&#9675; urban_plot: <strong>Italy, Germany, Portugal, Spain, France</strong><br/>&#9675; rural_plot: <strong>Italy, Germany, Portugal, Spain, France</strong>"},"business_type":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__8"},{"type":"null"}]},"price_per_sqm_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__9"},{"type":"null"}]},"rooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__10"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__11"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__12"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__13"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__14"},{"type":"null"}]},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__15"},{"type":"null"}]},"characteristics":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiCharacteristicsRequestSchema"},{"type":"null"}]},"conditions":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalConditionEnum"},"type":"array","minItems":1,"title":"Conditions","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"private":{"type":"boolean","title":"Private","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"bank":{"type":"boolean","title":"Bank","description":"Whether the property is owned by the bank."},"auction":{"type":"boolean","title":"Auction","description":"Whether the property is the subject of an auction.","default":false},"exclude_outliers":{"type":"boolean","title":"Exclude Outliers","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":false},"custom_location_boundary":{"$ref":"#/components/schemas/MarketAnalyticsApiLocationBoundarySchema"}},"type":"object","required":["types","business_type","custom_location_boundary"],"title":"PriceDistributionRequestSchema"},"MarketAnalyticsApiPriceDistributionUnitResponseSchema":{"properties":{"lower_bound":{"type":"integer","title":"Lower Bound","description":"The lower price bound of the distribution unit."},"upper_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Upper Bound","description":"The upper price bound of the distribution unit."},"properties_count":{"type":"integer","title":"Properties Count","description":"The number of properties that participated in the distribution."},"is_mean":{"type":"boolean","title":"Is Mean","description":"Indicates whether the mean value is within this distribution unit."}},"type":"object","required":["lower_bound","upper_bound","properties_count","is_mean"],"title":"PriceDistributionUnitResponseSchema"},"MarketAnalyticsApiPriceEstimation":{"properties":{"fast_market_price":{"type":"integer","title":"Fast Market Price"},"out_of_market_price":{"type":"integer","title":"Out Of Market Price"}},"type":"object","required":["fast_market_price","out_of_market_price"],"title":"PriceEstimation"},"MarketAnalyticsApiPriceEvolution":{"properties":{"avg_price":{"$ref":"#/components/schemas/MarketAnalyticsApiStatisticsByMonths"},"avg_price_per_sqm":{"$ref":"#/components/schemas/MarketAnalyticsApiStatisticsByMonths"}},"type":"object","required":["avg_price","avg_price_per_sqm"],"title":"PriceEvolution"},"MarketAnalyticsApiPriceStatistics":{"properties":{"average_price":{"type":"integer","title":"Average Price"},"average_price_per_sqm":{"type":"integer","title":"Average Price Per Sqm"}},"type":"object","required":["average_price","average_price_per_sqm"],"title":"PriceStatistics"},"MarketAnalyticsApiPropertiesDistributionQuartiles":{"properties":{"lower":{"type":"number","title":"Lower","description":"25th percentile. The lowest 25% of distribution data is below this point."},"mean":{"type":"number","title":"Mean","description":"50th percentile or median. The lowest 50% of distribution data is below this point."},"upper":{"type":"number","title":"Upper","description":"75th percentile. The lowest 75% of distribution data is below this point."}},"type":"object","required":["lower","mean","upper"],"title":"PropertiesDistributionQuartiles"},"MarketAnalyticsApiPropertiesDistributionRequestSchema":{"properties":{"types":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalEstateTypeEnum"},"type":"array","minItems":1,"title":"Types","description":"The list of property types by type groups:<br/><strong>apartment: </strong>[\"apartment\", \"studio\", \"duplex\", \"penthouse\", \"dachgeschosswohnung\", \"etagenwohnung\", \"erdgeschosswohnung\"]<br/><strong>house: </strong>[\"country_house\", \"house\", \"palace\", \"townhouse\", \"villa\", \"country_estate\", \"chalet\", \"bungalow\", \"family_house\", \"reihenhaus\", \"reihenendhaus\", \"reihenmittelhaus\", \"einfamilienhaus\", \"zweifamilienhaus\", \"landwirtschaftliche_betriebe\"]<br/><strong>room: </strong>[\"room\"]<br/><strong>building: </strong>[\"apartment_building\", \"office_building\", \"mix_use_building\"]<br/><strong>investment: </strong>[\"retail\", \"office\", \"industrial\", \"warehouse\", \"hotel\", \"building\", \"other_commercial\", \"restaurant\", \"werkstatt\"]<br/><strong>development: </strong>[\"apartment_development\", \"house_development\"]<br/><strong>plot: </strong>[\"urban_plot\", \"rural_plot\"]<br/><strong>other: </strong>[\"parking\", \"garage\", \"other\"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style=\"color:red\">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong><br/><strong>investment:</strong><br/>&#9675; restaurant: <strong>Germany</strong><br/>&#9675; werkstatt: <strong>Germany</strong><br/><strong>plot:</strong><br/>&#9675; urban_plot: <strong>Italy, Germany, Portugal, Spain, France</strong><br/>&#9675; rural_plot: <strong>Italy, Germany, Portugal, Spain, France</strong>"},"business_type":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__8"},{"type":"null"}]},"price_per_sqm_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__9"},{"type":"null"}]},"rooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__10"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__11"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__12"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__13"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__14"},{"type":"null"}]},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__15"},{"type":"null"}]},"characteristics":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiCharacteristicsRequestSchema"},{"type":"null"}]},"conditions":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalConditionEnum"},"type":"array","minItems":1,"title":"Conditions","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"private":{"type":"boolean","title":"Private","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"bank":{"type":"boolean","title":"Bank","description":"Whether the property is owned by the bank."},"auction":{"type":"boolean","title":"Auction","description":"Whether the property is the subject of an auction.","default":false},"exclude_outliers":{"type":"boolean","title":"Exclude Outliers","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":false},"custom_location_boundary":{"$ref":"#/components/schemas/MarketAnalyticsApiLocationBoundarySchema"}},"type":"object","required":["types","business_type","custom_location_boundary"],"title":"PropertiesDistributionRequestSchema"},"MarketAnalyticsApiPropertiesDistributionResponseSchema":{"properties":{"properties":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiPropertiesDistributionUnit"},"type":"array","title":"Properties","description":"List of properties that participated in the distribution."},"quartiles":{"$ref":"#/components/schemas/MarketAnalyticsApiPropertiesDistributionQuartiles","description":"The quantiles that divide the properties distribution into four parts."}},"type":"object","required":["properties","quartiles"],"title":"PropertiesDistributionResponseSchema"},"MarketAnalyticsApiPropertiesDistributionUnit":{"properties":{"property_id":{"type":"integer","title":"Property Id","description":"ID of the property."},"property_unit_id":{"type":"integer","title":"Property Unit Id","description":"Property sub-identifier. Along with the property_id, it ensures the uniqueness of the property."},"price":{"type":"integer","title":"Price"},"price_per_sqm":{"type":"number","title":"Price Per Sqm"},"location_id":{"type":"integer","title":"Location Id"},"coordinates":{"$ref":"#/components/schemas/MarketAnalyticsApiGeoPoint"}},"type":"object","required":["property_id","property_unit_id","price","price_per_sqm","location_id","coordinates"],"title":"PropertiesDistributionUnit"},"MarketAnalyticsApiRentalYieldRequest":{"properties":{"country_id":{"type":"integer","title":"Country Id"},"coordinates":{"$ref":"#/components/schemas/MarketAnalyticsApiGeoPoint"},"distance":{"type":"number","maximum":5.0,"minimum":0.05,"title":"Distance"},"total_area":{"type":"integer","minimum":1.0,"title":"Total Area"},"sale_price":{"type":"integer","minimum":1.0,"title":"Sale Price"},"rooms":{"type":"integer","minimum":0.0,"title":"Rooms"},"bedrooms":{"type":"integer","minimum":-1.0,"title":"Bedrooms"},"construction_year":{"type":"integer","title":"Construction Year"},"condition_type":{"$ref":"#/components/schemas/MarketAnalyticsApiInternalConditionEnum"},"type_id":{"$ref":"#/components/schemas/MarketAnalyticsApiInternalEstateTypeEnum"},"type_group":{"$ref":"#/components/schemas/MarketAnalyticsApiEstateTypeGroupEnum"},"property_id_to_exclude":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Property Id To Exclude"}},"type":"object","required":["country_id","coordinates","distance","total_area","sale_price","rooms","bedrooms","construction_year","condition_type","type_id","type_group"],"title":"RentalYieldRequest"},"MarketAnalyticsApiRentalYieldResponse":{"properties":{"sale_price":{"type":"integer","title":"Sale Price"},"average_rent_price":{"type":"number","title":"Average Rent Price"},"rental_yield":{"type":"number","title":"Rental Yield"},"properties_count":{"type":"integer","title":"Properties Count"},"property_ids":{"items":{"type":"integer"},"type":"array","title":"Property Ids"}},"type":"object","required":["sale_price","average_rent_price","rental_yield","properties_count","property_ids"],"title":"RentalYieldResponse"},"MarketAnalyticsApiStatisticsByMonths":{"properties":{"for_the_last_1_month":{"type":"integer","title":"For The Last 1 Month"},"for_the_last_3_month":{"type":"integer","title":"For The Last 3 Month"},"for_the_last_6_month":{"type":"integer","title":"For The Last 6 Month"},"for_the_last_9_month":{"type":"integer","title":"For The Last 9 Month"},"for_the_last_12_month":{"type":"integer","title":"For The Last 12 Month"}},"type":"object","required":["for_the_last_1_month","for_the_last_3_month","for_the_last_6_month","for_the_last_9_month","for_the_last_12_month"],"title":"StatisticsByMonths"},"MarketAnalyticsApiTimeOnMarketDistributionRequestSchema":{"properties":{"types":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalEstateTypeEnum"},"type":"array","minItems":1,"title":"Types","description":"The list of property types by type groups:<br/><strong>apartment: </strong>[\"apartment\", \"studio\", \"duplex\", \"penthouse\", \"dachgeschosswohnung\", \"etagenwohnung\", \"erdgeschosswohnung\"]<br/><strong>house: </strong>[\"country_house\", \"house\", \"palace\", \"townhouse\", \"villa\", \"country_estate\", \"chalet\", \"bungalow\", \"family_house\", \"reihenhaus\", \"reihenendhaus\", \"reihenmittelhaus\", \"einfamilienhaus\", \"zweifamilienhaus\", \"landwirtschaftliche_betriebe\"]<br/><strong>room: </strong>[\"room\"]<br/><strong>building: </strong>[\"apartment_building\", \"office_building\", \"mix_use_building\"]<br/><strong>investment: </strong>[\"retail\", \"office\", \"industrial\", \"warehouse\", \"hotel\", \"building\", \"other_commercial\", \"restaurant\", \"werkstatt\"]<br/><strong>development: </strong>[\"apartment_development\", \"house_development\"]<br/><strong>plot: </strong>[\"urban_plot\", \"rural_plot\"]<br/><strong>other: </strong>[\"parking\", \"garage\", \"other\"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style=\"color:red\">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong><br/><strong>investment:</strong><br/>&#9675; restaurant: <strong>Germany</strong><br/>&#9675; werkstatt: <strong>Germany</strong><br/><strong>plot:</strong><br/>&#9675; urban_plot: <strong>Italy, Germany, Portugal, Spain, France</strong><br/>&#9675; rural_plot: <strong>Italy, Germany, Portugal, Spain, France</strong>"},"business_type":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__8"},{"type":"null"}]},"price_per_sqm_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__9"},{"type":"null"}]},"rooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__10"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__11"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__12"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__13"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__14"},{"type":"null"}]},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__15"},{"type":"null"}]},"characteristics":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiCharacteristicsRequestSchema"},{"type":"null"}]},"conditions":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalConditionEnum"},"type":"array","minItems":1,"title":"Conditions","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"private":{"type":"boolean","title":"Private","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"bank":{"type":"boolean","title":"Bank","description":"Whether the property is owned by the bank."},"auction":{"type":"boolean","title":"Auction","description":"Whether the property is the subject of an auction.","default":false},"exclude_outliers":{"type":"boolean","title":"Exclude Outliers","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":false},"custom_location_boundary":{"$ref":"#/components/schemas/MarketAnalyticsApiLocationBoundarySchema"},"date_range":{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__DateRangeSchema__1","description":"Filter properties based on the start date of their last active period on the market."}},"type":"object","required":["types","business_type","custom_location_boundary"],"title":"TimeOnMarketDistributionRequestSchema"},"MarketAnalyticsApiTimeOnMarketDistributionUnitResponseSchema":{"properties":{"lower_bound":{"type":"integer","title":"Lower Bound","description":"The lower price bound of the distribution unit."},"upper_bound":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Upper Bound","description":"The upper price bound of the distribution unit."},"days_on_market":{"type":"integer","title":"Days On Market","description":"The average days on the market."},"months_on_market":{"type":"number","title":"Months On Market","description":"The average months on the market."},"properties_count":{"type":"integer","title":"Properties Count","description":"The number of properties that participated in the distribution."}},"type":"object","required":["lower_bound","upper_bound","days_on_market","months_on_market","properties_count"],"title":"TimeOnMarketDistributionUnitResponseSchema"},"MarketAnalyticsApiTimeSeriesRequestSchema":{"properties":{"types":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalEstateTypeEnum"},"type":"array","minItems":1,"title":"Types","description":"The list of property types by type groups:<br/><strong>apartment: </strong>[\"apartment\", \"studio\", \"duplex\", \"penthouse\", \"dachgeschosswohnung\", \"etagenwohnung\", \"erdgeschosswohnung\"]<br/><strong>house: </strong>[\"country_house\", \"house\", \"palace\", \"townhouse\", \"villa\", \"country_estate\", \"chalet\", \"bungalow\", \"family_house\", \"reihenhaus\", \"reihenendhaus\", \"reihenmittelhaus\", \"einfamilienhaus\", \"zweifamilienhaus\", \"landwirtschaftliche_betriebe\"]<br/><strong>room: </strong>[\"room\"]<br/><strong>building: </strong>[\"apartment_building\", \"office_building\", \"mix_use_building\"]<br/><strong>investment: </strong>[\"retail\", \"office\", \"industrial\", \"warehouse\", \"hotel\", \"building\", \"other_commercial\", \"restaurant\", \"werkstatt\"]<br/><strong>development: </strong>[\"apartment_development\", \"house_development\"]<br/><strong>plot: </strong>[\"urban_plot\", \"rural_plot\"]<br/><strong>other: </strong>[\"parking\", \"garage\", \"other\"]<br/><br/><i>Note that you can select multiple types only from one property type group.</i><br><br><span style=\"color:red\">The list of property types specific to certain countries</span>:<br/><strong>apartment:</strong><br/>&#9675; dachgeschosswohnung: <strong>Germany</strong><br/>&#9675; etagenwohnung: <strong>Germany</strong><br/>&#9675; erdgeschosswohnung: <strong>Germany</strong><br/><strong>house:</strong><br/>&#9675; family_house: <strong>Germany</strong><br/>&#9675; reihenhaus: <strong>Germany</strong><br/>&#9675; reihenendhaus: <strong>Germany</strong><br/>&#9675; reihenmittelhaus: <strong>Germany</strong><br/>&#9675; einfamilienhaus: <strong>Germany</strong><br/>&#9675; zweifamilienhaus: <strong>Germany</strong><br/>&#9675; landwirtschaftliche_betriebe: <strong>Germany</strong><br/><strong>investment:</strong><br/>&#9675; restaurant: <strong>Germany</strong><br/>&#9675; werkstatt: <strong>Germany</strong><br/><strong>plot:</strong><br/>&#9675; urban_plot: <strong>Italy, Germany, Portugal, Spain, France</strong><br/>&#9675; rural_plot: <strong>Italy, Germany, Portugal, Spain, France</strong>"},"business_type":{"$ref":"#/components/schemas/MarketAnalyticsApiBusinessTypeEnum"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__8"},{"type":"null"}]},"price_per_sqm_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__9"},{"type":"null"}]},"rooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__10"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__11"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__12"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__13"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__14"},{"type":"null"}]},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__15"},{"type":"null"}]},"characteristics":{"anyOf":[{"$ref":"#/components/schemas/MarketAnalyticsApiCharacteristicsRequestSchema"},{"type":"null"}]},"conditions":{"items":{"$ref":"#/components/schemas/MarketAnalyticsApiExternalConditionEnum"},"type":"array","minItems":1,"title":"Conditions","description":"Property conditions, as returned by the [GET /api/v1/references/conditions](/#operation/api__get__v1__references__conditions) endpoint."},"private":{"type":"boolean","title":"Private","description":"Whether the property is listed by a private individual, as opposed to an agent or a professional."},"bank":{"type":"boolean","title":"Bank","description":"Whether the property is owned by the bank."},"auction":{"type":"boolean","title":"Auction","description":"Whether the property is the subject of an auction.","default":false},"exclude_outliers":{"type":"boolean","title":"Exclude Outliers","description":"Exclude properties that are significantly underpriced or overpriced compared to similar properties.","default":false},"custom_location_boundary":{"$ref":"#/components/schemas/MarketAnalyticsApiLocationBoundarySchema"},"data_point":{"$ref":"#/components/schemas/MarketAnalyticsApiDataPointEnum","description":"Specifies the type of real estate data to retrieve for a given period."},"date_interval":{"$ref":"#/components/schemas/MarketAnalyticsApiDataPointIntervalEnum","description":"Defines the time interval for aggregating data points. Determines the frequency at which data is reported in the response."},"date_range":{"$ref":"#/components/schemas/MarketAnalyticsApiapi__schema__ranges__DateRangeSchema__2"}},"type":"object","required":["types","business_type","custom_location_boundary","data_point","date_interval","date_range"],"title":"TimeSeriesRequestSchema"},"MarketAnalyticsApiTimeSeriesUnitResponseSchema":{"properties":{"date_start":{"type":"string","format":"date","title":"Date Start","description":"The starting date of the period associated with the passed `date_interval` field value. The format follows `YYYY-MM-DD`."},"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value","description":"The numerical value corresponding to the passed `data_point` field value for the given `date_start`."}},"type":"object","required":["date_start","value"],"title":"TimeSeriesUnitResponseSchema"},"MarketAnalyticsApiValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"MarketAnalyticsApiapi__schema__ranges__DateRangeSchema__1":{"properties":{"min":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Min","description":"Start date in the format `YYYY-MM-DD`."},"max":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Max","description":"End date in the format `YYYY-MM-DD`."}},"type":"object","required":["min"],"title":"DateRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__DateRangeSchema__2":{"properties":{"min":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Min","description":"Start date in the format `YYYY-MM-DD`. If the specified date is not Monday - the closest previous Monday will be selected."},"max":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Max","description":"End date in the format `YYYY-MM-DD`. If the specified date is not Sunday - the closest previous Sunday will be selected."}},"type":"object","required":["min"],"title":"DateRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__DateRangeSchema__3":{"properties":{"min":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Min","description":"Start date in the format `YYYY-MM-DD`. If the specified date is not Monday - the closest previous Monday will be selected"},"max":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Max","description":"End date in the format `YYYY-MM-DD`. If the specified date is not Sunday - the closest previous Sunday will be selected"}},"type":"object","required":["min"],"title":"DateRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__1":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__10":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__11":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":0.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":0.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__12":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__13":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__14":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__15":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":3000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":3000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__16":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":10.0,"minimum":0.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__2":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__3":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":0.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":0.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__4":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__5":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__6":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__7":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":3000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":3000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__8":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"MarketAnalyticsApiapi__schema__ranges__IntRangeSchema__9":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"AlertsApiAlertFeedFiltersSchema":{"properties":{"location_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Location Ids"},"types":{"anyOf":[{"items":{"$ref":"#/components/schemas/AlertsApiEstateTypeEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Types"},"business_type":{"$ref":"#/components/schemas/AlertsApiOperationEnum"},"statuses":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/AlertsApiSaleStatusEnum"},{"$ref":"#/components/schemas/AlertsApiRentStatusEnum"}]},"type":"array","minItems":1},{"type":"null"}],"title":"Statuses"},"alert_subtypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/AlertsApiAlertSubtypeEnum"},"type":"array"},{"type":"null"}],"title":"Alert Subtypes"},"custom_locations":{"anyOf":[{"items":{"items":{"$ref":"#/components/schemas/AlertsApiCoordinatesDto"},"type":"array","maxItems":25,"minItems":4},"type":"array","maxItems":4,"minItems":1},{"type":"null"}],"title":"Custom Locations","description":"List of closed polygons of geo-points to search within. Each polygon must contain at least 4 points. First and last points must match in each polygon. Maximum 4 polygons allowed."},"private":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Private"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/AlertsApisrc__structures__schemas__ranges__IntRangeSchema__1"},{"type":"null"}]},"price_psqm_range":{"anyOf":[{"$ref":"#/components/schemas/AlertsApisrc__structures__schemas__ranges__IntRangeSchema__2"},{"type":"null"}]},"bathrooms_range":{"anyOf":[{"$ref":"#/components/schemas/AlertsApisrc__structures__schemas__ranges__IntRangeSchema__3"},{"type":"null"}]},"bedrooms_range":{"anyOf":[{"$ref":"#/components/schemas/AlertsApisrc__structures__schemas__ranges__IntRangeSchema__4"},{"type":"null"}]},"total_area_range":{"anyOf":[{"$ref":"#/components/schemas/AlertsApisrc__structures__schemas__ranges__IntRangeSchema__5"},{"type":"null"}]},"new_development":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"New Development"},"bank":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bank"},"auction":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auction"},"construction_year_range":{"anyOf":[{"$ref":"#/components/schemas/AlertsApisrc__structures__schemas__ranges__IntRangeSchema__6"},{"type":"null"}]},"plot_area_range":{"anyOf":[{"$ref":"#/components/schemas/AlertsApisrc__structures__schemas__ranges__IntRangeSchema__7"},{"type":"null"}]},"floors":{"anyOf":[{"items":{"$ref":"#/components/schemas/AlertsApiFloorCategoryEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Floors"},"conditions":{"anyOf":[{"items":{"$ref":"#/components/schemas/AlertsApiConditionEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Conditions"},"orientation":{"anyOf":[{"$ref":"#/components/schemas/AlertsApiOrientationEnum"},{"type":"null"}]},"views":{"anyOf":[{"items":{"$ref":"#/components/schemas/AlertsApiViewEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Views","description":"A matching listing must have every requested view, not just one."},"directions":{"anyOf":[{"items":{"$ref":"#/components/schemas/AlertsApiDirectionEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Directions","description":"A matching listing must face every requested direction, not just one."},"characteristics":{"anyOf":[{"items":{"$ref":"#/components/schemas/AlertsApiCharacteristicEnum"},"type":"array","minItems":1},{"type":"null"}],"title":"Characteristics","description":"A matching listing must have every requested characteristic, not just one."},"has_phone":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Phone"},"has_email":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Email"},"has_agency_name":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Agency Name"},"ref_numbers":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Ref Numbers"},"listing_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Listing Ids"}},"additionalProperties":false,"type":"object","required":["business_type"],"title":"AlertFeedFiltersSchema"},"AlertsApiAlertSubtypeEnum":{"type":"string","enum":["new","price_increased","price_decreased","reserved","delisted","sold"],"title":"AlertSubtypeEnum"},"AlertsApiCharacteristicEnum":{"type":"string","enum":["balcony","elevator","no_elevator","garage","garden","parking","storage","swimming_pool","terrace","rental_license","furniture","rented_out","life_annuity"],"title":"CharacteristicEnum"},"AlertsApiConditionEnum":{"type":"string","enum":["new","used","ruin","very-good","other"],"title":"ConditionEnum"},"AlertsApiCoordinatesDto":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"}},"type":"object","required":["latitude","longitude"],"title":"CoordinatesDto"},"AlertsApiCreateAlertFeedRequestSchema":{"properties":{"feed_name":{"type":"string","title":"Feed Name"},"filters":{"$ref":"#/components/schemas/AlertsApiAlertFeedFiltersSchema"}},"additionalProperties":false,"type":"object","required":["feed_name","filters"],"title":"CreateAlertFeedRequestSchema"},"AlertsApiDirectionEnum":{"type":"string","enum":["north","south","east","west"],"title":"DirectionEnum"},"AlertsApiErrorDetailSchema":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"ErrorDetailSchema"},"AlertsApiEstateTypeEnum":{"type":"string","enum":["apartment","studio","duplex","penthouse","dachgeschosswohnung","etagenwohnung","erdgeschosswohnung","country_house","house","palace","townhouse","villa","country_estate","chalet","bungalow","family_house","reihenhaus","reihenendhaus","reihenmittelhaus","einfamilienhaus","zweifamilienhaus","landwirtschaftliche_betriebe","retail","office","industrial","warehouse","hotel","building","other_commercial","restaurant","werkstatt","urban_plot","rural_plot","room","parking","garage","other","apartment_building","office_building","mix_use_building","apartment_development","house_development"],"title":"EstateTypeEnum"},"AlertsApiFeedDetailResponseSchema":{"properties":{"feed_id":{"type":"integer","title":"Feed Id"},"feed_name":{"type":"string","title":"Feed Name"},"filters":{"$ref":"#/components/schemas/AlertsApiAlertFeedFiltersSchema"}},"type":"object","required":["feed_id","feed_name","filters"],"title":"FeedDetailResponseSchema"},"AlertsApiFeedListResponseSchema":{"properties":{"feeds":{"items":{"$ref":"#/components/schemas/AlertsApiFeedSummarySchema"},"type":"array","title":"Feeds"},"next_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Url"}},"type":"object","required":["feeds"],"title":"FeedListResponseSchema"},"AlertsApiFeedSummarySchema":{"properties":{"id":{"type":"integer","title":"Id"},"feed_name":{"type":"string","title":"Feed Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","feed_name","created_at","updated_at"],"title":"FeedSummarySchema"},"AlertsApiFloorCategoryEnum":{"type":"string","enum":["no_floor","ground","middle","top"],"title":"FloorCategoryEnum"},"AlertsApiHTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/AlertsApiValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"AlertsApiOperationEnum":{"type":"string","enum":["sale","rent"],"title":"OperationEnum"},"AlertsApiOrientationEnum":{"type":"string","enum":["exterior","interior"],"title":"OrientationEnum"},"AlertsApiRentStatusEnum":{"type":"string","enum":["active","reserved","rented","hold","none"],"title":"RentStatusEnum"},"AlertsApiRotateSecretRequestSchema":{"properties":{"immediate":{"type":"boolean","title":"Immediate","description":"When false (default), the previous secrets keep working for a 24-hour grace window so you can switch the new secret before the old one stops signing; deliveries carry a signature for each active secret meanwhile. When true, the previous secrets are revoked immediately and only the new one signs — use this only when a secret is compromised.","default":false}},"type":"object","title":"RotateSecretRequestSchema"},"AlertsApiRotateSecretResponseSchema":{"properties":{"secret":{"type":"string","title":"Secret"}},"type":"object","required":["secret"],"title":"RotateSecretResponseSchema"},"AlertsApiSaleStatusEnum":{"type":"string","enum":["active","reserved","sold","hold","none"],"title":"SaleStatusEnum"},"AlertsApiSetWebhookRequestSchema":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url"}},"type":"object","required":["url"],"title":"SetWebhookRequestSchema"},"AlertsApiSetWebhookResponseSchema":{"properties":{"url":{"type":"string","title":"Url"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"}},"type":"object","required":["url","secret"],"title":"SetWebhookResponseSchema"},"AlertsApiSuccessResponseSchema":{"properties":{"success":{"type":"boolean","title":"Success"}},"type":"object","required":["success"],"title":"SuccessResponseSchema"},"AlertsApiValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"AlertsApiViewEnum":{"type":"string","enum":["water","landscape","city","golf","park"],"title":"ViewEnum"},"AlertsApisrc__structures__schemas__ranges__IntRangeSchema__1":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"AlertsApisrc__structures__schemas__ranges__IntRangeSchema__2":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":2147483647.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"AlertsApisrc__structures__schemas__ranges__IntRangeSchema__3":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"AlertsApisrc__structures__schemas__ranges__IntRangeSchema__4":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":0.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":15000.0,"minimum":0.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"AlertsApisrc__structures__schemas__ranges__IntRangeSchema__5":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"AlertsApisrc__structures__schemas__ranges__IntRangeSchema__6":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":3000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":3000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"},"AlertsApisrc__structures__schemas__ranges__IntRangeSchema__7":{"properties":{"min":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":1.0},{"type":"null"}],"title":"Max"}},"type":"object","title":"IntRangeSchema"}},"securitySchemes":{"HTTPBearer":{"type":"http","description":"\nThe API endpoints require an authentication token to be provided with each request. The token must be sent via the\n`Authorization` HTTP header, containing the keyword `Bearer` followed by your authentication token.\n","scheme":"bearer","bearerFormat":"JWT"}}},"tags":[{"name":"user-management---authentication","x-displayName":"Authentication"},{"name":"api---references","x-displayName":"References"},{"name":"api---valuation","x-displayName":"Valuation"},{"name":"api---comparables","x-displayName":"Comparables"},{"name":"api---alerts","x-displayName":"Alerts"},{"name":"api---properties","x-displayName":"Properties"},{"name":"api---comparables","x-displayName":"Comparables"},{"name":"api---properties","x-displayName":"Properties"},{"name":"market-analytics-api---distributions","x-displayName":"Distributions"},{"name":"market-analytics-api---time series","x-displayName":"Time Series"},{"name":"market-analytics-api---analysis","x-displayName":"Analysis"},{"name":"alerts-api---feeds","x-displayName":"Feeds"},{"name":"alerts-api---webhooks","x-displayName":"Webhooks"}],"x-tagGroups":[{"name":"User Management","tags":["user-management---authentication"]},{"name":"API","tags":["api---references","api---valuation","api---comparables","api---alerts","api---properties"]},{"name":"Market Analytics API","tags":["market-analytics-api---distributions","market-analytics-api---time series","market-analytics-api---analysis"]},{"name":"Alerts API","tags":["alerts-api---feeds","alerts-api---webhooks"]}]}