# info.description
The Casafari API provides clients with methods for manipulating alerts feeds, accounts, and consulting a reference
of available locations, features and conditions.

# paths./v1/references/types.get.description
Returns a list of all possible estate types.

# paths./v1/references/types.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/types.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/types.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/references/types"

# paths./v1/references/types.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/types',
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/features.get.description
Returns a list of all possible property features.

# paths./v1/references/features.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/features.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/features.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/references/features"

# paths./v1/references/features.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/features',
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/locations/by-coordinates.get.description
Returns a location for the given coordinates with user restrictions.

# paths./v1/references/locations/by-coordinates.get.parameters[].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.)

# paths./v1/references/locations/by-coordinates.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/locations/by-coordinates.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/locations/by-coordinates.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/locations/by-coordinates',
    params={'latitude': 37.115011, 'longitude': -8.682855, 'lang': 'pt'},
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/conditions.get.description
Returns a list of all possible estate conditions.

# paths./v1/references/conditions.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/conditions.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/conditions.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/references/conditions"

# paths./v1/references/conditions.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/conditions',
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/agencies.get.description
Returns a list of all possible agencies with user restrictions.

# paths./v1/references/agencies.get.responses.200.content.application/json.examples.0.value.agencies[].name
ComprarCasa Guimarães & Guimarães Centro

# paths./v1/references/agencies.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/agencies.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/agencies.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/references/agencies?name=Comp"

# paths./v1/references/agencies.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/agencies',
    params={'name': 'Comp'},
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/agents.get.description
Returns a list of all possible agents with user restrictions.

# paths./v1/references/agents.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/agents.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/agents.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/references/agents?name=paul"

# paths./v1/references/agents.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/agents',
    params={'name': 'paul'},
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/sources.get.description
Returns a list of all domains for the requested location.

# paths./v1/references/sources.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/sources.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/sources.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/references/sources?locationId=1600"

# paths./v1/references/sources.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/sources',
    params={'locationId': '1600'},
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/listing-alerts/feeds.get.description
Returns all alerts feeds for currently authenticated user.

# paths./v1/listing-alerts/feeds.get.parameters[].description
Whether to include information about feed filters in the response.

# paths./v1/listing-alerts/feeds.get.parameters[].description
Indicates if manager user wants to see only own feeds.

# paths./v1/listing-alerts/feeds.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/listing-alerts/feeds.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/listing-alerts/feeds.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/listing-alerts/feeds"

# paths./v1/listing-alerts/feeds.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/listing-alerts/feeds',
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/listing-alerts/feeds.post.description
Create alerts feed for currently authenticated user.
Feed is a predefined set of conditions to filter alerts by.
The `id` of created feed then should be used as URL parameter for [get alerts by feed](/#operation/getAlertsFeed) endpoint to get alerts filtered by feed filter conditions.

# paths./v1/listing-alerts/feeds.post.requestBody.content.application/json.examples.0.value.name
Apartments for sale in Cascais, Oeiras, Lisbon

# paths./v1/listing-alerts/feeds.post.responses.201.content.application/json.examples.0.value.name
Apartments for sale in Cascais, Oeiras, Lisbon

# paths./v1/listing-alerts/feeds.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/listing-alerts/feeds.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/listing-alerts/feeds.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/listing-alerts/feeds" \
     -d '
{
    "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"
        ]
    }
}'

# paths./v1/listing-alerts/feeds.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    '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',
        ],
    },
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/listing-alerts/feeds',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/listing-alerts/feeds/{id}.get.description
Returns paginated list of alerts (by feed ID) for currently authenticated user.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].description
A unique integer value identifying this alerts feed.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].description
Offset from which to start the search. Maximum value is 50000.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].description
Start date (in the format `YYYY-MM-DD`) of the period for alerts of interest.
Overrides `alert_date_from` value if it was specified in the feed filter.
Invalid values are ignored.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].description
End date (in the format `YYYY-MM-DD`) of the period for alerts of interest.
Overrides `alert_date_to` value if it was specified in the feed filter.
Invalid values are ignored.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].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.
Overrides `created_at_from` value if it was specified in the feed filter.
Invalid values are ignored.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].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.
Overrides `created_at_to` value if it was specified in the feed filter.
Invalid values are ignored.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].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. Note: Some alerts may still not have photos if the original listing did not include any.
Overrides `created_at_with_photos_from` value if it was specified in the feed filter.
Invalid values are ignored.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].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. Note: Some alerts may still not have photos if the original listing did not include any.
Overrides `created_at_with_photos_to` value if it was specified in the feed filter.
Invalid values are ignored.

# paths./v1/listing-alerts/feeds/{id}.get.parameters[].description
Get only alerts of the specific subtype (for the requested feed).
Invalid values are ignored.
This field is deprecated and will be removed in the next major update.
Please, use `alert_subtypes` field in the feed.filter instead.

# paths./v1/listing-alerts/feeds/{id}.get.responses.200.content.application/json.examples.0.value.results[].description
O apartamento é composto de sala de estar e jantar ampla, com janelas de vidro duplo que dão enorme luminosidade, ao ambiente.

# paths./v1/listing-alerts/feeds/{id}.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/listing-alerts/feeds/{id}.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/listing-alerts/feeds/{id}.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

id = '887'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/listing-alerts/feeds/{id}',
    params={'limit': '50', 'alert_date_from': '2021-09-01'},
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/listing-alerts/feeds/{id}.delete.description
Delete alerts feed (by feed ID) for currently authenticated user.

# paths./v1/listing-alerts/feeds/{id}.delete.parameters[].description
A unique integer value identifying this alerts feed.

# paths./v1/listing-alerts/feeds/{id}.delete.responses.200.content.application/json.schema.properties.success.description
Boolean indicating whether the delete action was successful.

# paths./v1/listing-alerts/feeds/{id}.delete.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/listing-alerts/feeds/{id}.delete.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/listing-alerts/feeds/{id}.delete.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X DELETE "https://api.casafari.com/v1/listing-alerts/feeds/887"

# paths./v1/listing-alerts/feeds/{id}.delete.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

id = '887'

response = requests.delete(
    url=f'{CASAFARI_API_BASE_URL}/v1/listing-alerts/feeds/{id}',
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/properties/search/{property_id}.get.parameters[].description
Offset from which to start the search. Maximum value is 50000.

# paths./v1/properties/search/{property_id}.get.responses.200.content.application/json.examples.0.value.title
Aluga-de Lugar de Garagem, Laranjeiras, Lisboa

# paths./v1/properties/search/{property_id}.get.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/properties/search/{property_id}.get.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/properties/search/{property_id}.get.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -X GET "https://api.casafari.com/v1/properties/search/6256230"

# paths./v1/properties/search/{property_id}.get.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

property_id = '6256230'

response = requests.get(
    url=f'{CASAFARI_API_BASE_URL}/v1/properties/search/{property_id}',
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/locations.post.description
Returns a list of all possible locations with user restrictions.

# paths./v1/references/locations.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/locations.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/locations.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    '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',
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/locations',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/locations/typeahead.post.description
Returns location typeahead suggestions within the given country (ES or PT).

# paths./v1/references/locations/typeahead.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/locations/typeahead.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/locations/typeahead.post.summary
Get locations typeahead suggestions scoped by country code

# paths./v1/references/locations/typeahead.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/references/locations/typeahead" \
     -d '
{
    "country_codes": [
        "PT"
    ],
    "name": "lisboa",
    "lang": "en",
    "size": 30
}'

# paths./v1/references/locations/typeahead.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    'country_codes': [
        'PT',
    ],
    'name': 'lisboa',
    'lang': 'en',
    'size': 30,
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/locations/typeahead',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/references/zipcode-boundary.post.description
Get zipcode boundary by zipcode and country code.

# paths./v1/references/zipcode-boundary.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/references/zipcode-boundary.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/references/zipcode-boundary.post.summary
Get zipcode boundary by zipcode and country code

# paths./v1/references/zipcode-boundary.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/references/zipcode-boundary" \
     -d '
{
    "zip_code": "36116",
    "country_code": "ES"
}'

# paths./v1/references/zipcode-boundary.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    'zip_code': '36116',
    'country_code': 'ES',
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/references/zipcode-boundary',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/listing-alerts/search.post.description
Returns paginated list of alerts (by requested parameters) for currently authenticated user.

# paths./v1/listing-alerts/search.post.parameters[].description
The initial index from which to return the results.

# paths./v1/listing-alerts/search.post.parameters[].description
Get only alerts of the specific subtype.
Invalid values are ignored.
This field is deprecated and will be removed in the next major update.
Please, use `alert_subtypes` field in the body parameters instead.

# paths./v1/listing-alerts/search.post.responses.200.content.application/json.examples.0.value.results[].description
O apartamento é composto de sala de estar e jantar ampla, com janelas de vidro duplo que dão enorme luminosidade, ao ambiente.

# paths./v1/listing-alerts/search.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/listing-alerts/search.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/listing-alerts/search.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/listing-alerts/search?limit=50" \
     -d '
{
    "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"
}'

# paths./v1/listing-alerts/search.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    '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',
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/listing-alerts/search',
    params={'limit': '50'},
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/comparables/search.post.description
Returns comparable properties by the given parameters.

# paths./v1/comparables/search.post.responses.200.content.application/json.examples.0.value.results[].description
Apartamento T2 com estacionamento situado na Lapa...

# paths./v1/comparables/search.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/comparables/search.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/comparables/search.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/comparables/search" \
     -d '
{
    "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"
    ]
}'

# paths./v1/comparables/search.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    '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',
    ],
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/comparables/search',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/properties/search.post.parameters[].description
The initial index from which to return the results.

# paths./v1/properties/search.post.responses.200.content.application/json.examples.0.value.results[].title
Aluga-de Lugar de Garagem, Laranjeiras, Lisboa

# paths./v1/properties/search.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/properties/search.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/properties/search.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/properties/search?limit=20&offset=20&order=asc&order_by=price" \
     -d '
{
    "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
}'

# paths./v1/properties/search.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    '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,
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/properties/search',
    params={'limit': '20', 'offset': '20', 'order': 'asc', 'order_by': 'price'},
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/properties/match-by-listings.post.description
Returns a mapping properties IDs to listing IDs.

# paths./v1/properties/match-by-listings.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/properties/match-by-listings.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/properties/match-by-listings.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/properties/match-by-listings" \
     -d '
{
    "listing_ids": [
        1,
        2,
        3,
        4
    ]
}'

# paths./v1/properties/match-by-listings.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    'listing_ids': [
        1,
        2,
        3,
        4,
    ],
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/properties/match-by-listings',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/properties/smart-links.post.description
Generates a smart link that provides detailed property information
    with customizable components, branding, and user/company information overrides.

# paths./v1/properties/smart-links.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/properties/smart-links.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/properties/smart-links.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/properties/smart-links" \
     -d '
{
    "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"
    }
}'

# paths./v1/properties/smart-links.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    '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',
    },
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/properties/smart-links',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/valuation/comparables-prices.post.description
Returns estimated prices by the given parameters.

# paths./v1/valuation/comparables-prices.post.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/valuation/comparables-prices.post.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/valuation/comparables-prices.post.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X POST "https://api.casafari.com/v1/valuation/comparables-prices" \
     -d '
{
    "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"
    ]
}'

# paths./v1/valuation/comparables-prices.post.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

data = {
    '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',
    ],
}

response = requests.post(
    url=f'{CASAFARI_API_BASE_URL}/v1/valuation/comparables-prices',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# paths./v1/listing-alerts/feeds/{id}/update.put.parameters[].description
A unique integer value identifying this alerts feed.

# paths./v1/listing-alerts/feeds/{id}/update.put.requestBody.content.application/json.examples.0.value.name
Apartments for sale in Cascais, Oeiras, Lisbon

# paths./v1/listing-alerts/feeds/{id}/update.put.responses.200.content.application/json.examples.0.value.name
Apartments for sale in Cascais, Oeiras, Lisbon

# paths./v1/listing-alerts/feeds/{id}/update.put.responses.401.content.application/json.schema.properties.detail.example
Authentication credentials were not provided.

# paths./v1/listing-alerts/feeds/{id}/update.put.responses.403.content.application/json.schema.properties.detail.example
You do not have permission to perform this action.

# paths./v1/listing-alerts/feeds/{id}/update.put.x-codeSamples[].source
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     -H "Content-type: application/json" \
     -X PUT "https://api.casafari.com/v1/listing-alerts/feeds/887/update" \
     -d '
{
    "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"
        ]
    }
}'

# paths./v1/listing-alerts/feeds/{id}/update.put.x-codeSamples[].source
import requests

CASAFARI_API_BASE_URL = 'https://api.casafari.com'
CASAFARI_API_TOKEN = '{AUTHORIZATION_TOKEN}'

id = '887'
data = {
    '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',
        ],
    },
}

response = requests.put(
    url=f'{CASAFARI_API_BASE_URL}/v1/listing-alerts/feeds/{id}/update',
    json=data,
    headers={'Authorization': f'Token {CASAFARI_API_TOKEN}'},
)

# components.schemas.Types.properties.types.items.properties.names.description
List of type names that belong to a specific group.

# components.schemas.Types.properties.types_with_countries.items.properties.countries.description
List of countries where the type is available.

# components.schemas.Types.properties.types_with_countries.description
List of type names with countries where each type is available.

# components.schemas.Features.properties.names.description
List of feature names that belong to a specific group.

# components.schemas.ReferenceLocation.properties.locations_structure.description
Information about all the parent locations, starting from the top-most level - country.

# components.schemas.Agencies.properties.source_ids.description
List of source IDs that belongs to the agency.

# components.schemas.AlertsFeed.properties.filter.properties.location_ids.description
List of location IDs, as returned by the [POST /v1/references/locations](/#operation/postLocations) endpoint.

# components.schemas.AlertsFeed.properties.filter.properties.custom_location.description
Closed polygon of geo-points to search within. First and last points must match.
This field is deprecated and will be removed in the next major update.
Please, use `custom_locations` field instead.

# components.schemas.AlertsFeed.properties.filter.properties.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.

# components.schemas.AlertsFeed.properties.filter.properties.types.description
Country availability per type is available at the [GET /v1/references/types](/#operation/listTypes) endpoint.

Property types by type groups:
apartment: penthouse, apartment, erdgeschosswohnung, etagenwohnung, duplex, dachgeschosswohnung, studio
house: family_house (DEPRECATED), chalet, zweifamilienhaus, bungalow, reihenendhaus, reihenhaus, reihenmittelhaus, villa, country_estate, einfamilienhaus, country_house, landwirtschaftliche_betriebe, house, townhouse, palace
room: room
building: mix_use_building, apartment_building, office_building
investment: other_commercial, warehouse, restaurant, werkstatt, hotel, industrial, retail, office
plot: urban_plot, plot (DEPRECATED), rural_plot
other: parking, garage, other

# components.schemas.AlertsFeed.properties.filter.properties.alert_date_from.description
Start date (in the format `YYYY-MM-DD`) of the period for alerts of interest.

# components.schemas.AlertsFeed.properties.filter.properties.alert_date_to.description
End date (in the format `YYYY-MM-DD`) of the period for alerts of interest.

# components.schemas.AlertsFeed.properties.filter.properties.created_at_from.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.

# components.schemas.AlertsFeed.properties.filter.properties.created_at_to.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.

# components.schemas.AlertsFeed.properties.filter.properties.created_at_with_photos_from.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.
Note: Some alerts may still not have photos if the original listing did not include any.

# components.schemas.AlertsFeed.properties.filter.properties.created_at_with_photos_to.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.
Note: Some alerts may still not have photos if the original listing did not include any.

# components.schemas.AlertsFeed.properties.filter.properties.price_per_sqm_from.description
Minimum value for price per square meter.

# components.schemas.AlertsFeed.properties.filter.properties.price_per_sqm_to.description
Maximum value for price per square meter.

# components.schemas.AlertsFeed.properties.filter.properties.floor.description
Floor type of the property.
This field is deprecated and will be removed in the next major update.
Please, use `floors` field instead.

# components.schemas.AlertsFeed.properties.filter.properties.view.description
View from the property.
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead.

# components.schemas.AlertsFeed.properties.filter.properties.direction.description
Cardinal direction the property faces.
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.AlertsFeed.properties.filter.properties.private.description
Whether to return alerts only from properties listed by a private individual, as opposed to an agent or a professional.

# components.schemas.AlertsFeed.properties.filter.properties.auction.description
Whether to return alerts from auction property listings.

# components.schemas.AlertsFeed.properties.filter.properties.bank.description
Whether to return alerts from bank property listings.

# components.schemas.AlertsFeed.properties.filter.properties.new_development.description
Whether to return alerts from new development property listings.

# components.schemas.AlertsFeed.properties.filter.properties.listing_agents.description
Return alerts only for properties from specified agents. To find allowed agent names use the [GET /v1/references/agents](/#operation/listAgents) endpoint.

# components.schemas.AlertsFeed.properties.filter.properties.with_agencies.description
Return alerts only for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.AlertsFeed.properties.filter.properties.without_agencies.description
Exclude alerts for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.AlertsFeed.properties.filter.properties.exclusive.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`.

# components.schemas.AlertsFeed.properties.filter.properties.ref_numbers.description
List of reference numbers from listings.

# components.schemas.AlertsFeed.properties.filter.properties.has_phone.description
Whether to return alerts only from listings with or without `phone` number.

# components.schemas.AlertsFeed.properties.filter.properties.has_email.description
Whether to return alerts only from listings with or without email.

# components.schemas.AlertsFeed.properties.filter.properties.has_agency_name.description
Whether to return alerts only from listings with or without agency name.

# components.schemas.AlertDocuments.properties.property_url.description
URL of the property in the CASAFARI website.

# components.schemas.AlertDocuments.properties.listing_url.description
URL of the listing. Available only for currently active listings.

# components.schemas.AlertDocuments.properties.listing_old_url.description
Old URL of the listing. Available only for currently inactive listings.

# components.schemas.AlertDocuments.properties.listing_uid.description
Unique ID of the listing on the source site.

# components.schemas.AlertDocuments.properties.property_id.description
ID of the property to which the listing belongs.

# components.schemas.AlertDocuments.properties.type.description
Listing property type, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.AlertDocuments.properties.type_group.description
Listing property type group, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.AlertDocuments.properties.locations_structure.description
Information about all the parent locations (including property location) up to the country.

# components.schemas.AlertDocuments.properties.features.properties.view.description
View from the property.
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead.

# components.schemas.AlertDocuments.properties.features.properties.direction.description
Cardinal direction the property faces.
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.AlertDocuments.properties.features.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.AlertDocuments.properties.operations.description
Operation types for which listing property is available.

# components.schemas.AlertDocuments.properties.is_bank_property.description
Whether the listing property is a bank property.

# components.schemas.AlertDocuments.properties.is_auction_property.description
Whether the listing property is an auction property.

# components.schemas.AlertDocuments.properties.is_new_development_property.description
Whether the listing property is a new development property.

# components.schemas.AlertDocuments.properties.is_private_property.description
Whether the property is listed by a private individual, as opposed to an agent or a professional.

# components.schemas.AlertDocuments.properties.sale_price.description
Current sale price, in the currency of the listing (specified by the `sale_currency` field).

# components.schemas.AlertDocuments.properties.sale_price_per_sqm.description
Current sale price per square meter, in the currency of the listing (specified by the `sale_currency` field).

# components.schemas.AlertDocuments.properties.sale_price_per_sqm_base.description
Current sale price per square meter, in Euros.

# components.schemas.AlertDocuments.properties.rent_price.description
Current rent price, in the currency of the listing (specified by the `rent_currency` field).

# components.schemas.AlertDocuments.properties.rent_price_per_sqm.description
Current rent price per square meter, in the currency of the listing (specified by the `rent_currency` field).

# components.schemas.AlertDocuments.properties.rent_price_per_sqm_base.description
Current rent price per square meter, in Euros.

# components.schemas.AlertDocuments.properties.agency_legal_id.description
Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM).

# components.schemas.AlertDocuments.properties.pictures.description
List of the original picture image URLs.

# components.schemas.AlertDocuments.properties.created_at.description
Date and time when the alert was created (UTC).

# components.schemas.AlertDocuments.properties.created_at_with_photos.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.
If the listing has no photos but the system has finished the processing, this field will contain its date and time.

# components.schemas.AlertDocuments.properties.updated_at.description
Date and time when the alert data was updated (UTC).

# components.schemas.AlertDocuments.properties.energy_certificate.description
Energy certificate classification that attests to the energy efficiency of a listing.
This field is deprecated and will be removed in the next major update.
Please, use `energy_rating` field instead.

# components.schemas.AlertDocuments.properties.energy_rating.description
Energy rating that attests to the energy efficiency of a listing.

# components.schemas.AlertDocuments.properties.available_from.description
The date the listing property becomes available for occupancy. The start of the availability window.

# components.schemas.AlertDocuments.properties.available_to.description
The date the listing property stops being available. The end of the availability window.

# components.schemas.PropertyDetailResponse.properties.primary_listing_id.description
Primary listing (ad) ID of the property which is defined after the matching into property.

# components.schemas.PropertyDetailResponse.properties.type.description
Property type, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.PropertyDetailResponse.properties.type_group.description
Property type group, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.PropertyDetailResponse.properties.operations.description
Operation types for which property is available.

# components.schemas.PropertyDetailResponse.properties.locations_structure.description
Information about all the parent locations (including property location) up to the country.

# components.schemas.PropertyDetailResponse.properties.floor_number.description
Exact floor number. Negative values indicate underground floors (e.g. basements).

# components.schemas.PropertyDetailResponse.properties.rent_price.description
Current rent price, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.PropertyDetailResponse.properties.sale_price.description
Current sale price, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.PropertyDetailResponse.properties.is_private_property.description
Whether the property is listed by a private individual, as opposed to an agent or a professional.

# components.schemas.PropertyDetailResponse.properties.features.properties.view.description
View from the property.
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead.

# components.schemas.PropertyDetailResponse.properties.features.properties.direction.description
Cardinal direction the property faces.
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.PropertyDetailResponse.properties.features.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.PropertyDetailResponse.properties.sale_time_on_market.properties.days_on_market.description
Number of days property was / is on the market.

# components.schemas.PropertyDetailResponse.properties.sale_time_on_market.properties.has_untracked_period.description
Whether the property was already on the market when it started being tracked.

# components.schemas.PropertyDetailResponse.properties.sale_time_on_market.description
Information about the property last activity on the sales market.

# components.schemas.PropertyDetailResponse.properties.rent_time_on_market.properties.days_on_market.description
Number of days property was / is on the market.

# components.schemas.PropertyDetailResponse.properties.rent_time_on_market.properties.has_untracked_period.description
Whether the property was already on the market when it started being tracked.

# components.schemas.PropertyDetailResponse.properties.rent_time_on_market.description
Information about the property last activity on the rental market.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.sale_price.description
Current sale price, in the currency of the listing (specified by the `sale_currency` field).

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.rent_price.description
Current rent price, in the currency of the listing (specified by the `rent_currency` field).

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.agency_legal_id.description
Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM).

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.listing_url.description
URL of the listing. Available only for currently active listings.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.listing_old_url.description
Old URL of the listing. Available only for currently inactive listings.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.listing_uid.description
Unique ID of the listing on the source site.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.source_name.description
The name of the source where the listing is displayed.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.energy_certificate.description
Energy certificate classification that attests to the energy efficiency of a property.
This field is deprecated and will be removed in the next major update.
Please, use `energy_rating` field instead.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.energy_rating.description
Energy rating that attests to the energy efficiency of a property.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.ceiling_label.description
Ceiling height in meters.
Available only for Germany.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.commission.description
Commission percentage.
Available only for Germany.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.min_rent_area.description
Minimum rental area in square meters (mainly applicable to commercial properties).
Available only for Germany.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.companies.items.properties.casafari_connect_on.description
Whether the company is connected to Casafari Connect.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.created_at.description
The datetime when the listing was added.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.floor_number.description
Exact floor number. Negative values indicate underground floors (e.g. basements).

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.is_private.description
Whether the listing is listed by a private individual, as opposed to an agent or a professional.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.casafari_connect.description
Whether the company is connected to Casafari Connect.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.pictures.description
List of the original picture image URLs.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.is_private_property.description
Whether the listing is listed by a private individual, as opposed to an agent or a professional.

# components.schemas.PropertyDetailResponse.properties.listings.items.properties.is_auction_property.description
Whether the listing is an auction property.

# components.schemas.PropertyDetailResponse.properties.listings.description
The list of listings related to the property.

# components.schemas.PropertyDetailResponse.properties.history.items.properties.sale_price.description
Sale price, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.PropertyDetailResponse.properties.history.items.properties.rent_price.description
Rent price, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.PropertyDetailResponse.properties.history.description
('List of sale and rent price history data.
This field is deprecated and will be removed in the next major update.
Please, use `sale_price_history and rent_price_history` field instead.',)

# components.schemas.PropertyDetailResponse.properties.sale_price_history.items.properties.sale_price_old.description
Old sale price, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.sale_price_history.items.properties.sale_price_new.description
New sale price, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.rent_price_history.items.properties.rent_price_old.description
Old rent price, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.rent_price_history.items.properties.rent_price_new.description
New rent price, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.sale_status_history.items.properties.sale_status_old.description
Old sale status, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.sale_status_history.items.properties.sale_status_new.description
New sale status, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.rent_status_history.items.properties.rent_status_old.description
Old rent status, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.rent_status_history.items.properties.rent_status_new.description
New rent status, in the currency of the listings.

# components.schemas.PropertyDetailResponse.properties.property_url.description
URL of the property in the CASAFARI website.

# components.schemas.PropertyDetailResponse.properties.distance.description
Distance in kilometers from target point to the property.Available only when the `custom_location_boundary.circle` field is defined in the request.

# components.schemas.PropertyDetailResponse.properties.rent_price_per_sqm.description
Current rent price per square meter, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.PropertyDetailResponse.properties.rent_price_per_sqm_base.description
Current rent price per square meter, in Euros.

# components.schemas.PropertyDetailResponse.properties.sale_price_per_sqm.description
Current sale price per square meter, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.PropertyDetailResponse.properties.sale_price_per_sqm_base.description
Current sale price per square meter, in Euros.

# components.schemas.PropertyDetailResponse.properties.is_auction_property.description
Whether the property is an auction property.

# components.schemas.PropertyDetailResponse.properties.is_bank_property.description
Whether the property is a bank property.

# components.schemas.PropertyDetailResponse.properties.changed_at.description
The date and time when the property was last updated.

# components.schemas.PropertyDetailResponse.properties.sale_price_last_change.description
Information about the last change of sale price.

# components.schemas.PropertyDetailResponse.properties.rent_price_last_change.description
Information about the last change of rent price.

# components.schemas.PropertyDetailResponse.properties.pictures.description
List of the original picture image URLs.

# components.schemas.PropertyDetailResponse.properties.energy_certificate.description
Energy certificate classification that attests to the energy efficiency of a property.
This field is deprecated and will be removed in the next major update.
Please, use `energy_rating` field instead.

# components.schemas.PropertyDetailResponse.properties.energy_rating.description
Energy rating that attests to the energy efficiency of a property.

# components.schemas.PropertyDetailResponse.properties.ceiling_label.description
Ceiling height in meters.
Available only for Germany.

# components.schemas.PropertyDetailResponse.properties.min_rent_area.description
Minimum rental area in square meters (mainly applicable to commercial properties).
Available only for Germany.

# components.schemas.PropertyDetailResponse.properties.ref_numbers.description
List of reference numbers from listings.

# components.schemas.PropertyDetailResponse.properties.casafari_connect.description
Whether the company is connected to Casafari Connect.

# components.schemas.PropertyDetailResponse.properties.source_floor_numbers.description
List of property floor numbers based on listings data. Negative values indicate underground floors (e.g. basements).

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.facade_measurements.description
Facade measurements of the commercial property (height, length, surface in meters).

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.transfer_price_range.properties.gte.description
Lower bound of the transfer price range.

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.transfer_price_range.properties.lte.description
Upper bound of the transfer price range.

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.transfer_price_range.description
Price range if the property is available for transfer.

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.is_street_level.description
Whether the commercial entrance is situated at the street level, without having to go upstairs/downstairs to reach it.

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.number_of_floors.description
The number of commercial property floors.

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.number_of_premises.description
The number of property usable rooms/premises.

# components.schemas.PropertyDetailResponse.properties.retail_data.properties.possible_business_types.description
What kind of business can/did run in this commercial property (e.g. cafe, restaurant, grocery store, dental clinic).

# components.schemas.PropertyDetailResponse.properties.retail_data.description
Retail-related attributes of the property. Null for non-commercial properties or if the retail data is not available.

# components.schemas.Locations.properties.locations.items.properties.locations_structure.description
Information about all the parent locations, starting from the top-most level - country.

# components.schemas.GetLocations.properties.coordinates.description
Limit search to locations within a closed polygon. First and last points must match.

# components.schemas.GetLocations.properties.lang.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.)

# components.schemas.TypeAhead.properties.typeahead.items.properties.breadcrumbs.description
Location breadcrumbs sorted from top to bottom.

# components.schemas.LocationsTypeAheadFilter.properties.country_codes.description
Country codes to scope the search. Supported: ES, PT.

# components.schemas.LocationsTypeAheadFilter.properties.size.description
The maximum number of suggestions to return. Default 30, maximum 100.

# components.schemas.LocationsTypeAheadFilter.properties.lang.description
Language to use for the location name in the response. One of: en, pt, es, de.

# components.schemas.ZipCodeBoundaryFilter.properties.country_code.description
Country code following the ISO 3166-1 alpha-2 rules.

# components.schemas.AlertsSearchFilter.properties.location_ids.description
List of location IDs, as returned by the [POST /v1/references/locations](/#operation/postLocations) endpoint.

# components.schemas.AlertsSearchFilter.properties.custom_location.description
Closed polygon of geo-points to search within. First and last points must match.
This field is deprecated and will be removed in the next major update.
Please, use `custom_locations` field instead.

# components.schemas.AlertsSearchFilter.properties.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.

# components.schemas.AlertsSearchFilter.properties.types.description
Country availability per type is available at the [GET /v1/references/types](/#operation/listTypes) endpoint.

Property types by type groups:
apartment: penthouse, apartment, erdgeschosswohnung, etagenwohnung, duplex, dachgeschosswohnung, studio
house: family_house (DEPRECATED), chalet, zweifamilienhaus, bungalow, reihenendhaus, reihenhaus, reihenmittelhaus, villa, country_estate, einfamilienhaus, country_house, landwirtschaftliche_betriebe, house, townhouse, palace
room: room
building: mix_use_building, apartment_building, office_building
investment: other_commercial, warehouse, restaurant, werkstatt, hotel, industrial, retail, office
plot: urban_plot, plot (DEPRECATED), rural_plot
other: parking, garage, other

# components.schemas.AlertsSearchFilter.properties.alert_date_from.description
Start date (in the format `YYYY-MM-DD`) of the period for alerts of interest.

# components.schemas.AlertsSearchFilter.properties.alert_date_to.description
End date (in the format `YYYY-MM-DD`) of the period for alerts of interest.

# components.schemas.AlertsSearchFilter.properties.created_at_from.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.

# components.schemas.AlertsSearchFilter.properties.created_at_to.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.

# components.schemas.AlertsSearchFilter.properties.created_at_with_photos_from.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.
Note: Some alerts may still not have photos if the original listing did not include any.

# components.schemas.AlertsSearchFilter.properties.created_at_with_photos_to.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.
Note: Some alerts may still not have photos if the original listing did not include any.

# components.schemas.AlertsSearchFilter.properties.price_per_sqm_from.description
Minimum value for price per square meter.

# components.schemas.AlertsSearchFilter.properties.price_per_sqm_to.description
Maximum value for price per square meter.

# components.schemas.AlertsSearchFilter.properties.floor.description
Floor type.
This field is deprecated and will be removed in the next major update.
Please, use `floors` field instead.

# components.schemas.AlertsSearchFilter.properties.view.description
View from the property. "
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead."

# components.schemas.AlertsSearchFilter.properties.direction.description
Cardinal direction the property faces. "
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.AlertsSearchFilter.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.AlertsSearchFilter.properties.private.description
Whether to return alerts only from properties listed by a private individual, as opposed to an agent or a professional.

# components.schemas.AlertsSearchFilter.properties.auction.description
Whether to return alerts from auction property listings.

# components.schemas.AlertsSearchFilter.properties.bank.description
Whether to return alerts from bank property listings.

# components.schemas.AlertsSearchFilter.properties.new_development.description
Whether to return alerts from new development property listings.

# components.schemas.AlertsSearchFilter.properties.listing_agents.description
Return alerts only for properties from specified agents. To find allowed agent names use the [GET /v1/references/agents](/#operation/listAgents) endpoint.

# components.schemas.AlertsSearchFilter.properties.with_agencies.description
Return alerts only for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.AlertsSearchFilter.properties.without_agencies.description
Exclude alerts for properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.AlertsSearchFilter.properties.exclusive.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`.

# components.schemas.AlertsSearchFilter.properties.ref_numbers.description
List of reference numbers from listings.

# components.schemas.AlertsSearchFilter.properties.has_phone.description
Whether to return alerts only from listings with or without `phone` number.

# components.schemas.AlertsSearchFilter.properties.has_email.description
Whether to return alerts only from listings with or without email.

# components.schemas.AlertsSearchFilter.properties.has_agency_name.description
Whether to return alerts only from listings with or without agency name.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.property_url.description
URL of the property in the CASAFARI website.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.primary_listing_id.description
Primary listing (ad) ID of the property which is defined after the matching into property.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.type.description
Property type, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.type_group.description
Property type group, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.locations_structure.description
Information about all the parent locations (including property location) up to the country.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.distance.description
Distance in kilometers from target point to the property. Not calculated for search by polygon.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.floor_number.description
Exact floor number. Negative values indicate underground floors (e.g. basements).

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.features.properties.view.description
View from the property.
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.features.properties.direction.description
Cardinal direction the property faces.
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.features.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.operations.description
Operation types for which property is available.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.sale_price.description
Sale price, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.sale_price_per_sqm.description
Sale price per square meter, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.sale_price_per_sqm_base.description
('Sale price per square meter, in Euros.',)

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.rent_price.description
Rent price, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.rent_price_per_sqm.description
Rent price per square meter, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.rent_price_per_sqm_base.description
('Rent price per square meter, in Euros.',)

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.pictures.description
List of the original picture image URLs.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.sale_price_last_change.description
Information about the last change of sale price.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.rent_price_last_change.description
Information about the last change of rent price.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.sale_time_on_market.description
Information about the property last activity on the sales market.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.rent_time_on_market.description
Information about the property last activity on the rental market.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.sale_active_listings_count.description
Number of active listings for this property on the sales market.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.rent_active_listings_count.description
Number of active listings for this property on the rental market.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.similarity_score.description
Similarity score of the property. Value between 0 and 1. Indicates how property parameters are close to the requested ones.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.is_outlier.description
Whether the property is considered an outlier based on its price.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.is_private_property.description
Whether the property is listed by a private individual, as opposed to an agent or a professional.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.energy_certificate.description
Energy certificate classification that attests to the energy efficiency of a property.
This field is deprecated and will be removed in the next major update.
Please, use `energy_rating` field instead.

# components.schemas.SearchComparablesResponseV1.properties.results.items.properties.energy_rating.description
Energy rating that attests to the energy efficiency of a property.

# components.schemas.SearchComparablesResponseV1.properties.statistics.properties.average_listings_per_property.description
Average number of listings per property.

# components.schemas.SearchComparablesResponseV1.properties.statistics.properties.sold_or_rented_in_last_six_months.description
Number of properties that were sold or rented during the last 6 months in the requested location.

# components.schemas.SearchComparablesResponseV1.properties.statistics.description
Statistics information for the found comparables (for `operation` defined in the request).

# components.schemas.SearchComparablesResponseV1.properties.estimated_prices.description
Estimated prices calculated based on the found comparables (for `operation` defined in the request).

# components.schemas.SearchComparablesResponseV1.properties.casafari_link.description
Link to Comparative Market Analysis page.

# components.schemas.SearchComparablesRequest.properties.comparables_count.description
Maximum number of comparable properties in results.

# components.schemas.SearchComparablesRequest.properties.coordinates.description
Target point coordinates to search around.
This field is deprecated and will be removed in the next major update.
Please, use `target_point.coordinates` field instead.

# components.schemas.SearchComparablesRequest.properties.target_point.properties.coordinates.description
Target point coordinates to search around.

# components.schemas.SearchComparablesRequest.properties.target_point.properties.address.description
Address of the property to define the point to search around.

# components.schemas.SearchComparablesRequest.properties.target_point.properties.cadastral_reference.properties.country_code.description
Country code following the ISO 3166-1 alpha-2 rules.

# components.schemas.SearchComparablesRequest.properties.target_point.properties.cadastral_reference.description
Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain.

# components.schemas.SearchComparablesRequest.properties.target_point.description
Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.
This field is deprecated and will be removed in the next major update.
Please, use `location_boundary.circle` field instead.

# components.schemas.SearchComparablesRequest.properties.distance.description
Maximum distance in kilometers from the requested `target_point` to comparable properties.
This field is deprecated and will be removed in the next major update.
Please, use `location_boundary.circle` field instead.

# components.schemas.SearchComparablesRequest.properties.location_boundary.properties.polygon.description
Closed polygon of geo-points to search within. First and last points must match. 

# components.schemas.SearchComparablesRequest.properties.location_boundary.properties.circle.properties.distance.description
Maximum distance in kilometers from the requested `target_point` to the properties.

# components.schemas.SearchComparablesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.coordinates.description
Target point coordinates to search around.

# components.schemas.SearchComparablesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.address.description
Address of the property to define the point to search around.

# components.schemas.SearchComparablesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.cadastral_reference.properties.country_code.description
Country code following the ISO 3166-1 alpha-2 rules.

# components.schemas.SearchComparablesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.cadastral_reference.description
Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain.

# components.schemas.SearchComparablesRequest.properties.location_boundary.properties.circle.properties.target_point.description
Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.

# components.schemas.SearchComparablesRequest.properties.location_boundary.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.

# components.schemas.SearchComparablesRequest.properties.sold_or_rented_after.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.

# components.schemas.SearchComparablesRequest.properties.business_type.description
Operation type.
This field is deprecated and will be removed in the next major update.
Please, use `operation` field instead.

# components.schemas.SearchComparablesRequest.properties.comparables_type.description
Comparables property type, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.
This field is deprecated and will be removed in the next major update.
Please, use `comparables_types` field instead.

# components.schemas.SearchComparablesRequest.properties.comparables_types.description
Country availability per type is available at the [GET /v1/references/types](/#operation/listTypes) endpoint.

Property types by type groups:
apartment: penthouse, apartment, erdgeschosswohnung, etagenwohnung, duplex, dachgeschosswohnung, studio
house: family_house (DEPRECATED), chalet, zweifamilienhaus, bungalow, reihenendhaus, reihenhaus, reihenmittelhaus, villa, country_estate, einfamilienhaus, country_house, landwirtschaftliche_betriebe, house, townhouse, palace
room: room
building: mix_use_building, apartment_building, office_building
investment: other_commercial, warehouse, restaurant, werkstatt, hotel, industrial, retail, office
plot: urban_plot, plot (DEPRECATED), rural_plot
other: parking, garage, other

Note that you can select multiple types only from one property type group.

# components.schemas.SearchComparablesRequest.properties.property_type.description
Comparables property type, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.
This field is deprecated and will be removed in the next major update.
Please, use `comparables_types` field instead.

# components.schemas.SearchComparablesRequest.properties.min_price.description
The minimum price filter for comparables result.

# components.schemas.SearchComparablesRequest.properties.max_price.description
The maximum price filter for comparables result.

# components.schemas.SearchComparablesRequest.properties.bedrooms.description
Number of bedrooms (cannot be used together with `rooms`).

# components.schemas.SearchComparablesRequest.properties.rooms.description
Number of rooms (cannot be used together with `bedrooms`).

# components.schemas.SearchComparablesRequest.properties.total_area.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.

# components.schemas.SearchComparablesRequest.properties.plot_area.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.

# components.schemas.SearchComparablesRequest.properties.floor.description
Floor type.
This field is deprecated and will be removed in the next major update.
Please, use `floors` field instead.

# components.schemas.SearchComparablesRequest.properties.floor_number.description
Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).
Minimum value is -250.
Maximum value is 250.

# components.schemas.SearchComparablesRequest.properties.view.description
View from the property.
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead.

# components.schemas.SearchComparablesRequest.properties.direction.description
Cardinal direction the property faces.
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.SearchComparablesRequest.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.SearchComparablesRequest.properties.characteristics.properties.must_have.description
Include only properties that have all these characteristics.

# components.schemas.SearchComparablesRequest.properties.characteristics.properties.nice_to_have.description
Include properties that have any of these characteristics.

# components.schemas.SearchComparablesRequest.properties.characteristics.properties.exclude.description
Exclude properties that contain any of these characteristics.

# components.schemas.SearchComparablesRequest.properties.energy_certificate.description
Energy certificate.
This field is deprecated and will be removed in the next major update.
Please, use `energy_ratings` field instead.

# components.schemas.SearchComparablesRequest.properties.energy_certificates.description
List of energy certificates.
This field is deprecated and will be removed in the next major update.
Please, use `energy_ratings` field instead.

# components.schemas.SearchComparablesRequest.properties.with_agencies.description
Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.SearchComparablesRequest.properties.without_agencies.description
Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.SearchComparablesRequest.properties.exclude_outliers.description
Exclude properties that are significantly underpriced or overpriced compared to similar properties.

# components.schemas.PropertiesSearchResponse.properties.primary_listing_id.description
Primary listing (ad) ID of the property which is defined after the matching into property.

# components.schemas.PropertiesSearchResponse.properties.type.description
Property type, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.PropertiesSearchResponse.properties.type_group.description
Property type group, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.

# components.schemas.PropertiesSearchResponse.properties.operations.description
Operation types for which property is available.

# components.schemas.PropertiesSearchResponse.properties.locations_structure.description
Information about all the parent locations (including property location) up to the country.

# components.schemas.PropertiesSearchResponse.properties.floor_number.description
Exact floor number. Negative values indicate underground floors (e.g. basements).

# components.schemas.PropertiesSearchResponse.properties.rent_price.description
Current rent price, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.PropertiesSearchResponse.properties.sale_price.description
Current sale price, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.PropertiesSearchResponse.properties.is_private_property.description
Whether the property is listed by a private individual, as opposed to an agent or a professional.

# components.schemas.PropertiesSearchResponse.properties.features.properties.view.description
View from the property.
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead.

# components.schemas.PropertiesSearchResponse.properties.features.properties.direction.description
Cardinal direction the property faces.
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.PropertiesSearchResponse.properties.features.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.PropertiesSearchResponse.properties.sale_time_on_market.properties.days_on_market.description
Number of days property was / is on the market.

# components.schemas.PropertiesSearchResponse.properties.sale_time_on_market.properties.has_untracked_period.description
Whether the property was already on the market when it started being tracked.

# components.schemas.PropertiesSearchResponse.properties.sale_time_on_market.description
Information about the property last activity on the sales market.

# components.schemas.PropertiesSearchResponse.properties.rent_time_on_market.properties.days_on_market.description
Number of days property was / is on the market.

# components.schemas.PropertiesSearchResponse.properties.rent_time_on_market.properties.has_untracked_period.description
Whether the property was already on the market when it started being tracked.

# components.schemas.PropertiesSearchResponse.properties.rent_time_on_market.description
Information about the property last activity on the rental market.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.sale_price.description
Current sale price, in the currency of the listing (specified by the `sale_currency` field).

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.rent_price.description
Current rent price, in the currency of the listing (specified by the `rent_currency` field).

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.agency_legal_id.description
Agency legal identifier specified on the source. Only for France and its overseas territories(DROM and COM).

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.listing_url.description
URL of the listing. Available only for currently active listings.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.listing_old_url.description
Old URL of the listing. Available only for currently inactive listings.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.listing_uid.description
Unique ID of the listing on the source site.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.source_name.description
The name of the source where the listing is displayed.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.energy_certificate.description
Energy certificate classification that attests to the energy efficiency of a property.
This field is deprecated and will be removed in the next major update.
Please, use `energy_rating` field instead.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.energy_rating.description
Energy rating that attests to the energy efficiency of a property.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.ceiling_label.description
Ceiling height in meters.
Available only for Germany.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.commission.description
Commission percentage.
Available only for Germany.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.min_rent_area.description
Minimum rental area in square meters (mainly applicable to commercial properties).
Available only for Germany.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.companies.items.properties.casafari_connect_on.description
Whether the company is connected to Casafari Connect.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.created_at.description
The datetime when the listing was added.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.floor_number.description
Exact floor number. Negative values indicate underground floors (e.g. basements).

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.is_private.description
Whether the listing is listed by a private individual, as opposed to an agent or a professional.

# components.schemas.PropertiesSearchResponse.properties.listings.items.properties.casafari_connect.description
Whether the company is connected to Casafari Connect.

# components.schemas.PropertiesSearchResponse.properties.listings.description
The list of listings related to the property.

# components.schemas.PropertiesSearchResponse.properties.history.items.properties.sale_price.description
Sale price, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.PropertiesSearchResponse.properties.history.items.properties.rent_price.description
Rent price, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.PropertiesSearchResponse.properties.history.description
('List of sale and rent price history data.
This field is deprecated and will be removed in the next major update.
Please, use `sale_price_history and rent_price_history` field instead.',)

# components.schemas.PropertiesSearchResponse.properties.sale_price_history.items.properties.sale_price_old.description
Old sale price, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.sale_price_history.items.properties.sale_price_new.description
New sale price, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.rent_price_history.items.properties.rent_price_old.description
Old rent price, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.rent_price_history.items.properties.rent_price_new.description
New rent price, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.sale_status_history.items.properties.sale_status_old.description
Old sale status, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.sale_status_history.items.properties.sale_status_new.description
New sale status, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.rent_status_history.items.properties.rent_status_old.description
Old rent status, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.rent_status_history.items.properties.rent_status_new.description
New rent status, in the currency of the listings.

# components.schemas.PropertiesSearchResponse.properties.property_url.description
URL of the property in the CASAFARI website.

# components.schemas.PropertiesSearchResponse.properties.distance.description
Distance in kilometers from target point to the property.Available only when the `custom_location_boundary.circle` field is defined in the request.

# components.schemas.PropertiesSearchResponse.properties.rent_price_per_sqm.description
Current rent price per square meter, in the currency of the listings (specified by the `rent_currency` field).

# components.schemas.PropertiesSearchResponse.properties.rent_price_per_sqm_base.description
Current rent price per square meter, in Euros.

# components.schemas.PropertiesSearchResponse.properties.sale_price_per_sqm.description
Current sale price per square meter, in the currency of the listings (specified by the `sale_currency` field).

# components.schemas.PropertiesSearchResponse.properties.sale_price_per_sqm_base.description
Current sale price per square meter, in Euros.

# components.schemas.PropertiesSearchResponse.properties.is_auction_property.description
Whether the property is an auction property.

# components.schemas.PropertiesSearchResponse.properties.is_bank_property.description
Whether the property is a bank property.

# components.schemas.PropertiesSearchResponse.properties.changed_at.description
The date and time when the property was last updated.

# components.schemas.PropertiesSearchResponse.properties.sale_price_last_change.description
Information about the last change of sale price.

# components.schemas.PropertiesSearchResponse.properties.rent_price_last_change.description
Information about the last change of rent price.

# components.schemas.PropertiesSearchResponse.properties.pictures.description
List of the original picture image URLs.

# components.schemas.PropertiesSearchResponse.properties.energy_certificate.description
Energy certificate classification that attests to the energy efficiency of a property.
This field is deprecated and will be removed in the next major update.
Please, use `energy_rating` field instead.

# components.schemas.PropertiesSearchResponse.properties.energy_rating.description
Energy rating that attests to the energy efficiency of a property.

# components.schemas.PropertiesSearchResponse.properties.ceiling_label.description
Ceiling height in meters.
Available only for Germany.

# components.schemas.PropertiesSearchResponse.properties.min_rent_area.description
Minimum rental area in square meters (mainly applicable to commercial properties).
Available only for Germany.

# components.schemas.PropertiesSearchResponse.properties.ref_numbers.description
List of reference numbers from listings.

# components.schemas.PropertiesSearchResponse.properties.casafari_connect.description
Whether the company is connected to Casafari Connect.

# components.schemas.PropertiesSearchResponse.properties.source_floor_numbers.description
List of property floor numbers based on listings data. Negative values indicate underground floors (e.g. basements).

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.facade_measurements.description
Facade measurements of the commercial property (height, length, surface in meters).

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.transfer_price_range.properties.gte.description
Lower bound of the transfer price range.

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.transfer_price_range.properties.lte.description
Upper bound of the transfer price range.

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.transfer_price_range.description
Price range if the property is available for transfer.

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.is_street_level.description
Whether the commercial entrance is situated at the street level, without having to go upstairs/downstairs to reach it.

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.number_of_floors.description
The number of commercial property floors.

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.number_of_premises.description
The number of property usable rooms/premises.

# components.schemas.PropertiesSearchResponse.properties.retail_data.properties.possible_business_types.description
What kind of business can/did run in this commercial property (e.g. cafe, restaurant, grocery store, dental clinic).

# components.schemas.PropertiesSearchResponse.properties.retail_data.description
Retail-related attributes of the property. Null for non-commercial properties or if the retail data is not available.

# components.schemas.PropertiesSearchRequest.properties.search_operations.description
Search business types for which the property is available.

# components.schemas.PropertiesSearchRequest.properties.location_ids.description
List of location IDs, as returned by the [POST /v1/references/locations](/#operation/postLocations) endpoint.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.polygon.description
Closed polygon of geo-points to search within. First and last points must match.
This field is deprecated and will be removed in the next major update.
Please, use `polygons` field instead.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.circle.properties.distance.description
Maximum distance in kilometers from the requested `target_point` to the properties.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.circle.properties.target_point.properties.coordinates.description
Target point coordinates to search around.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.circle.properties.target_point.properties.address.description
Address of the property to define the point to search around.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.circle.properties.target_point.properties.cadastral_reference.properties.country_code.description
Country code following the ISO 3166-1 alpha-2 rules.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.circle.properties.target_point.properties.cadastral_reference.description
Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.circle.properties.target_point.description
Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.properties.polygons.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.

# components.schemas.PropertiesSearchRequest.properties.custom_location_boundary.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.

# components.schemas.PropertiesSearchRequest.properties.property_date_from.description
Start date (in the format `YYYY-MM-DD`) of the period for property of interest.

# components.schemas.PropertiesSearchRequest.properties.property_date_to.description
End date (in the format `YYYY-MM-DD`) of the period for property of interest.

# components.schemas.PropertiesSearchRequest.properties.created_date_from.description
Created date from (in the format `YYYY-MM-DDTHH:mm:ss`).

# components.schemas.PropertiesSearchRequest.properties.created_date_to.description
Created date to (in the format `YYYY-MM-DDTHH:mm:ss`).

# components.schemas.PropertiesSearchRequest.properties.updated_date_from.description
Updated date from (in the format `YYYY-MM-DDTHH:mm:ss`).

# components.schemas.PropertiesSearchRequest.properties.updated_date_to.description
Updated date to (in the format `YYYY-MM-DDTHH:mm:ss`).

# components.schemas.PropertiesSearchRequest.properties.price_per_sqm_from.description
Minimum value for price per square meter.

# components.schemas.PropertiesSearchRequest.properties.price_per_sqm_to.description
Maximum value for price per square meter.

# components.schemas.PropertiesSearchRequest.properties.floor.description
Floor type.
This field is deprecated and will be removed in the next major update.
Please, use `floors` field instead.

# components.schemas.PropertiesSearchRequest.properties.view.description
View from the property.
This field is deprecated and will be removed in the next major update.
Please, use `views` field instead.

# components.schemas.PropertiesSearchRequest.properties.direction.description
Cardinal direction the property faces.
This field is deprecated and will be removed in the next major update.
Please, use `directions` field instead.

# components.schemas.PropertiesSearchRequest.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.PropertiesSearchRequest.properties.characteristics.properties.must_have.description
Include only properties that have all these characteristics.

# components.schemas.PropertiesSearchRequest.properties.characteristics.properties.exclude.description
Exclude properties that contain any of these characteristics.

# components.schemas.PropertiesSearchRequest.properties.characteristics.description
Property characteristics.
The field was changed from Array of strings to object.
Backwards compatibility is still supported.

# components.schemas.PropertiesSearchRequest.properties.types.description
Country availability per type is available at the [GET /v1/references/types](/#operation/listTypes) endpoint.

Property types by type groups:
apartment: penthouse, apartment, erdgeschosswohnung, etagenwohnung, duplex, dachgeschosswohnung, studio
house: family_house (DEPRECATED), chalet, zweifamilienhaus, bungalow, reihenendhaus, reihenhaus, reihenmittelhaus, villa, country_estate, einfamilienhaus, country_house, landwirtschaftliche_betriebe, house, townhouse, palace
room: room
building: mix_use_building, apartment_building, office_building
investment: other_commercial, warehouse, restaurant, werkstatt, hotel, industrial, retail, office
plot: urban_plot, plot (DEPRECATED), rural_plot
other: parking, garage, other

# components.schemas.PropertiesSearchRequest.properties.property_types.description
Property types, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.
This field is deprecated and will be removed in the next major update.
Please, use `types` field instead.

# components.schemas.PropertiesSearchRequest.properties.private.description
Whether to return properties listed by a private individual, as opposed to an agent or a professional.

# components.schemas.PropertiesSearchRequest.properties.auction.description
Whether to return auction properties. (If the `bank` filter is also set, the result will contain both `auction` and `bank` properties)

# components.schemas.PropertiesSearchRequest.properties.bank.description
Whether to return bank properties. (If the `auction` filter is also set, the result will contain both `bank` and `auction` properties)

# components.schemas.PropertiesSearchRequest.properties.casafari_connect.description
Whether to return properties that have at least one listing with a company connected to Casafari Connect.

# components.schemas.PropertiesSearchRequest.properties.listing_agents.description
Return properties from specified agents. To find allowed agent names use the [GET /v1/references/agents](/#operation/listAgents) endpoint.

# components.schemas.PropertiesSearchRequest.properties.with_agencies.description
Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.PropertiesSearchRequest.properties.without_agencies.description
Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.PropertiesSearchRequest.properties.exclusive.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`.

# components.schemas.PropertiesSearchRequest.properties.ref_numbers.description
List of reference numbers from listings.

# components.schemas.PropertiesSearchRequest.properties.energy_certificate.description
Energy certificate.
This field is deprecated and will be removed in the next major update.
Please, use `energy_ratings` field instead.

# components.schemas.PropertiesSearchRequest.properties.energy_certificates.description
List of energy certificates.
This field is deprecated and will be removed in the next major update.
Please, use `energy_ratings` field instead.

# components.schemas.PropertiesSearchRequest.properties.floor_numbers.description
Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).
Minimum value is -250.
Maximum value is 250.

# components.schemas.CreateSmartLinkRequest.properties.primary_listing_ids.description
List of primary listing ids to include in the smart link.

# components.schemas.CreateSmartLinkRequest.properties.settings.properties.is_indexing_by_search_engine.description
Determines whether a share page should be indexed by search engines.

# components.schemas.CreateSmartLinkRequest.properties.settings.properties.is_hide_source.description
Removes the "Sourced by Casafari" label from the Smartlink page.

# components.schemas.CreateSmartLinkRequest.properties.settings.properties.brand_color.description
Main color of graphical elements in the report.

# components.schemas.CreateSmartLinkRequest.properties.settings.properties.components_to_include.description
List of components to include in the smart link.

# components.schemas.ComparablesPrices.properties.statistics.properties.average_listings_per_property.description
Average number of listings per property.

# components.schemas.ComparablesPrices.properties.statistics.properties.sold_or_rented_in_last_six_months.description
Number of properties that were sold or rented during the last 6 months in the requested location.

# components.schemas.ComparablesPrices.properties.statistics.description
Statistics information for the found comparables (for `operation` defined in the request).

# components.schemas.ComparablesPrices.properties.estimated_prices.description
Estimated prices calculated based on the found comparables (for `operation` defined in the request).

# components.schemas.ComparablesPricesRequest.properties.comparables_count.description
Maximum number of comparable properties in results.

# components.schemas.ComparablesPricesRequest.properties.target_point.properties.coordinates.description
Target point coordinates to search around.

# components.schemas.ComparablesPricesRequest.properties.target_point.properties.address.description
Address of the property to define the point to search around.

# components.schemas.ComparablesPricesRequest.properties.target_point.properties.cadastral_reference.properties.country_code.description
Country code following the ISO 3166-1 alpha-2 rules.

# components.schemas.ComparablesPricesRequest.properties.target_point.properties.cadastral_reference.description
Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain.

# components.schemas.ComparablesPricesRequest.properties.target_point.description
Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.
This field is deprecated and will be removed in the next major update.
Please, use `location_boundary.circle` field instead.

# components.schemas.ComparablesPricesRequest.properties.distance.description
Maximum distance in kilometers from the requested `target_point` to comparable properties.
This field is deprecated and will be removed in the next major update.
Please, use `location_boundary.circle` field instead.

# components.schemas.ComparablesPricesRequest.properties.location_boundary.properties.polygon.description
Closed polygon of geo-points to search within. First and last points must match. 

# components.schemas.ComparablesPricesRequest.properties.location_boundary.properties.circle.properties.distance.description
Maximum distance in kilometers from the requested `target_point` to the properties.

# components.schemas.ComparablesPricesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.coordinates.description
Target point coordinates to search around.

# components.schemas.ComparablesPricesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.address.description
Address of the property to define the point to search around.

# components.schemas.ComparablesPricesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.cadastral_reference.properties.country_code.description
Country code following the ISO 3166-1 alpha-2 rules.

# components.schemas.ComparablesPricesRequest.properties.location_boundary.properties.circle.properties.target_point.properties.cadastral_reference.description
Cadastral reference of the property to define the point to search around. <br/>For now available only for Spain.

# components.schemas.ComparablesPricesRequest.properties.location_boundary.properties.circle.properties.target_point.description
Target point to search around. Can be defined as coordinates, address or cadastral reference of the property. Only one value should be provided.

# components.schemas.ComparablesPricesRequest.properties.location_boundary.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.

# components.schemas.ComparablesPricesRequest.properties.sold_or_rented_after.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.

# components.schemas.ComparablesPricesRequest.properties.comparables_type.description
Comparables property type, as returned by the [GET /v1/references/types](/#operation/listTypes) endpoint.
This field is deprecated and will be removed in the next major update.
Please, use `comparables_types` field instead.

# components.schemas.ComparablesPricesRequest.properties.comparables_types.description
Country availability per type is available at the [GET /v1/references/types](/#operation/listTypes) endpoint.

Property types by type groups:
apartment: penthouse, apartment, erdgeschosswohnung, etagenwohnung, duplex, dachgeschosswohnung, studio
house: family_house (DEPRECATED), chalet, zweifamilienhaus, bungalow, reihenendhaus, reihenhaus, reihenmittelhaus, villa, country_estate, einfamilienhaus, country_house, landwirtschaftliche_betriebe, house, townhouse, palace
room: room
building: mix_use_building, apartment_building, office_building
investment: other_commercial, warehouse, restaurant, werkstatt, hotel, industrial, retail, office
plot: urban_plot, plot (DEPRECATED), rural_plot
other: parking, garage, other

Note that you can select multiple types only from one property type group.

# components.schemas.ComparablesPricesRequest.properties.min_price.description
The minimum price filter for comparables result.

# components.schemas.ComparablesPricesRequest.properties.max_price.description
The maximum price filter for comparables result.

# components.schemas.ComparablesPricesRequest.properties.bedrooms.description
Number of bedrooms (cannot be used together with `rooms`).

# components.schemas.ComparablesPricesRequest.properties.rooms.description
Number of rooms (cannot be used together with `bedrooms`).

# components.schemas.ComparablesPricesRequest.properties.total_area.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.

# components.schemas.ComparablesPricesRequest.properties.plot_area.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.

# components.schemas.ComparablesPricesRequest.properties.floor_number.description
Desired list of floor numbers. Negative values indicate underground floors (e.g. basements).
Minimum value is -250.
Maximum value is 250.

# components.schemas.ComparablesPricesRequest.properties.directions.description
List of cardinal directions the property faces.

# components.schemas.ComparablesPricesRequest.properties.characteristics.properties.must_have.description
Include only properties that have all these characteristics.

# components.schemas.ComparablesPricesRequest.properties.characteristics.properties.nice_to_have.description
Include properties that have any of these characteristics.

# components.schemas.ComparablesPricesRequest.properties.characteristics.properties.exclude.description
Exclude properties that contain any of these characteristics.

# components.schemas.ComparablesPricesRequest.properties.energy_certificate.description
Energy certificate.
This field is deprecated and will be removed in the next major update.
Please, use `energy_ratings` field instead.

# components.schemas.ComparablesPricesRequest.properties.energy_certificates.description
List of energy certificates.
This field is deprecated and will be removed in the next major update.
Please, use `energy_ratings` field instead.

# components.schemas.ComparablesPricesRequest.properties.with_agencies.description
Return properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.ComparablesPricesRequest.properties.without_agencies.description
Exclude properties from specified agencies, companies or sources. To find allowed agency names use the [GET /v1/references/agencies](/#operation/listAgencies) endpoint.

# components.schemas.ComparablesPricesRequest.properties.exclude_outliers.description
Exclude properties that are significantly underpriced or overpriced compared to similar properties.

# components.securitySchemes.TokenAuthentication.description
The API endpoints require an authentication token to be provided with each request. The token must be sent via the
`Authorization` HTTP header, containing the keyword `Token` followed by your authentication token. As an example, using
`curl`:

```bash
curl -H "Authorization: Token {AUTHORIZATION_TOKEN}" \
     https://api.casafari.com/vv0/references/types
```

You can see your authentication token already in the examples in this page.