# Suchprofile

## Suchprofile lesen

<mark style="color:blue;">`GET`</mark> `https://api.propstack.de/v1/saved_queries`

Suchprofile lassen sich paginieren über die Parameter `page` und `per`. Standardmäßig werden die ersten 25 Suchprofile angezeigt.

#### Query Parameters

| Name   | Type   | Description                 |
| ------ | ------ | --------------------------- |
| client | number | <p>ID des Kontaktes<br></p> |

{% tabs %}
{% tab title="200 Cake successfully retrieved." %}

```javascript
{
    "data": [
        {
            "id": 1,
            "created_at": "2018-01-19T18:51:43.133+01:00",
            "updated_at": "2018-12-07T18:34:28.075+01:00",
            "broker_id": 2,
            "client_id": 3,
            "price": null,
            "price_to": null,
            "base_rent": 1520.496,
            "base_rent_to": 1858.384,
            "total_rent": 1815.093,
            "total_rent_to": 2218.447,
            "living_space": 0,
            "living_space_to": null,
            "number_of_rooms": 2.5,
            "number_of_rooms_to": 5,
            "property_status_ids": [],
            "location_ids": [],
            "cities": [
                "Berlin",
                "Frankfurt"
            ],
            "regions": [],
            "marketing_type": "RENT",
            "rs_types": [],
            "rs_categories": [],
            "note": "Sucht sehr dringend",
            "number_of_bedrooms": "",
            "number_of_bedrooms_to": "",
            "floor": "",
            "floor_to": "",
            "plot_area": "",
            "plot_area_to": "",
            "total_floor_space": null,
            "total_floor_space_to": null,
            "construction_year": null,
            "construction_year_to": null,
            "lift": "",
            "balcony": "",
            "garden": "",
            "built_in_kitchen": "",
            "cellar": "",
            "rented": "",
            "price_per_sqm": null,
            "price_per_sqm_to": null,
            "net_floor_space": null,
            "net_floor_space_to": null,
            "price_multiplier": null,
            "price_multiplier_to": null,
            "yield_actual": null,
            "yield_actual_to": null,
            "investment_category": null,
            "purchase_form": null,
            "industrial_area": null,
            "industrial_area_to": null,
            "tenant_structure": null,
            "walt": null,
            "single_rooms_quota": null,
            "single_rooms_quota_to": null,
            "occupancy_rate": null,
            "occupancy_rate_to": null,
            "monument": null,
            "conservation_areas": null,
            "condition": null,
            "number_of_parking_spaces": null,
            "number_of_parking_spaces_to": null,
            "short_term_constructible": null,
            "recommended_use_types": null,
            "site_development_type": null,
            "building_permission": null,
            "preliminary_enquiry": null
        }
    ]
}
```

{% endtab %}
{% endtabs %}

## Suchprofil erstellen

<mark style="color:green;">`POST`</mark> `https://api.propstack.de/v1/saved_queries`

#### Request Body

| Name         | Type   | Description                                     |
| ------------ | ------ | ----------------------------------------------- |
| saved\_query | object | siehe alle möglichen Felder zu einem Suchprofil |

{% tabs %}
{% tab title="201 Es wird die ID des angelegten Suchprofils zurückgegeben" %}

```
{
    "ok": true,
    "id": 123
}
```

{% endtab %}
{% endtabs %}

## Suchprofil aktualisieren

<mark style="color:orange;">`PUT`</mark> `https://api.propstack.de/v1/saved_queries/:id`

#### Request Body

| Name         | Type   | Description                                     |
| ------------ | ------ | ----------------------------------------------- |
| saved\_query | object | siehe alle möglichen Felder zu einem Suchprofil |

{% tabs %}
{% tab title="200 " %}

```
```

{% endtab %}
{% endtabs %}

## Suchprofil löschen

<mark style="color:red;">`DELETE`</mark> `https://api.propstack.de/v1/saved_queries/:id`

{% tabs %}
{% tab title="200 " %}

```javascript
{
    "ok": true,
    "id": 123,
}
```

{% endtab %}
{% endtabs %}

## Das Suchprofil Objekt

| Attribut        | Typ        | Beschreibung                                                                                                          |
| --------------- | ---------- | --------------------------------------------------------------------------------------------------------------------- |
| client\_id      | integer    | ID des Kontaktes, zu welches das Suchprofil gehört                                                                    |
| active          | boolean    | Soll das Suchprofil für das Matching von Objekten genutzt werden?                                                     |
| cities          | string\[]  | Eine Liste von Städten (einfache Strings, wie Berlin oder München)                                                    |
| regions         | string\[]  | Eine Liste von Regionen/Bundesländern                                                                                 |
| lat             | float      | Breitengrad (für Radiussuche)                                                                                         |
| lng             | float      | Längengrad (für Radiussuche)                                                                                          |
| radius          | integer    | Radius in Meter (für Radiussuche)                                                                                     |
| marketing\_type | string     | eines von `BUY`, oder `RENT` oder leer lassen                                                                         |
| rs\_types       | string\[]  | eine Liste von Objektypen, siehe [hier](https://propstack.gitbook.io/docs/reference/objekte) für alle möglichen Werte |
| rs\_categories  | string\[]  | eine Liste von Objektarten, siehe unten für mögliche Werte                                                            |
| group\_ids      | integer\[] | eine Liste von Objektmerkmalen                                                                                        |
| note            | string     | Notizfeld für weitere Anmerkungen                                                                                     |

### Weitere Felder vom Suchprofil, die für Wohnobjekte interessant sind:

| Attribut                 | Typ     | Beschreibung                                                                           |
| ------------------------ | ------- | -------------------------------------------------------------------------------------- |
| living\_space            | float   | Mindest(wohn)fläche, die das Objekt haben muss                                         |
| living\_space\_to        | float   | Maximale Fläche, die das Objekt haben kann                                             |
| price                    | float   | Mindestpreis des Objektes                                                              |
| price\_to                | float   | Maximaler Kaufpreis, welche das Objekt haben kann                                      |
| number\_of\_rooms        | float   | Mindest- Zimmeranzahl                                                                  |
| number\_of\_rooms\_to    | float   | Maximale Anzahl an Zimmer                                                              |
| number\_of\_bedrooms     | float   | Mindest-Schlafzimmeranzahl                                                             |
| number\_of\_bedrooms\_to | float   | Maximale Anzahl an Schlafzimmer                                                        |
| base\_rent               | float   | Mindestkaltmiete des Objektes                                                          |
| base\_rent\_to           | float   | Maximale Kaltmiete des Objektes                                                        |
| floor                    | integer | Mindest Etage des Objekte (`2` => ab 2. Etage)                                         |
| floor\_to                | integer | Maximale Etage                                                                         |
| plot\_area               | float   | Mindest Grundstücksfläche                                                              |
| plot\_area\_to           | float   | Maximale Grundstücksfläche                                                             |
| construction\_year       | integer | Mindest Baujahr (z.B. `2018`)                                                          |
| construction\_year\_to   | integer | Maximales Baujahr                                                                      |
| lift                     | string  | Muss einen Fahrstuhl haben? `true`, `false` oder einfach leer lassen, wenn es egal ist |
| balcony                  | string  | Muss ein Balkon haben? s. lift für mögliche Optionen                                   |
| garden                   | string  | Muss einen Garten haben? s. lift für mögliche Optionen                                 |
| built\_in\_kitchen       | string  | Einbauküche? s. lift für mögliche Optionen                                             |
| cellar                   | string  | Keller? s. lift für mögliche Optionen                                                  |
| rented                   | string  | Soll das Objekt vermietet sein? s. lift für mögliche Optionen                          |

## Anmerkungen

**Verfügbare Objektarten (`rs_categories`):**

```javascript
{
  "ROOF_STOREY": "Dachgeschoss",
  "LOFT": "Loft",
  "MAISONETTE": "Maisonette",
  "PENTHOUSE": "Penthouse",
  "TERRACED_FLAT": "Terrassenwohnung",
  "GROUND_FLOOR": "Erdgeschosswohnung",
  "APARTMENT": "Etagenwohnung",
  "RAISED_GROUND_FLOOR": "Hochparterre",
  "HALF_BASEMENT": "Souterrain",
  "ATTIKA": "Attikawohnung",
  "OTHER": "Sonstige",
  "SINGLE_FAMILY_HOUSE": "Einfamilienhaus",
  "TWO_FAMILY_HOUSE": "Zweifamilienhaus",
  "TERRACE_HOUSE": "Reihenhaus",
  "MID_TERRACE_HOUSE": "Reihenmittelhaus",
  "TERRACE_END_HOUSE": "Reihenendhaus",
  "END_TERRACE_HOUSE": "Reiheneckhaus",
  "MULTI_FAMILY_HOUSE": "Mehrfamilienhaus",
  "TOWNHOUSE": "Stadthaus",
  "FINCA": "Finca",
  "BUNGALOW": "Bungalow",
  "FARMHOUSE": "Bauernhaus",
  "SEMIDETACHED_HOUSE": "Doppelhaushälfte",
  "VILLA": "Villa",
  "CASTLE_MANOR_HOUSE": "Burg/Schloss",
  "SPECIAL_REAL_ESTATE": "Besondere Immobilie",
  "TWIN_SINGLE_FAMILY_HOUSE": "Doppeleinfamilienhaus",
  "SUMMER_RESIDENCE": "Ferienhaus",
  "GARAGE": "Garage",
  "STREET_PARKING": "Außenstellplatz",
  "CARPORT": "Carport",
  "DUPLEX": "Duplex",
  "CAR_PARK": "Parkhaus",
  "UNDERGROUND_GARAGE": "Tiefgarage",
  "DOUBLE_GARAGE": "Doppelgarage",
  "OFFICE_LOFT": "Loft",
  "STUDIO": "Atelier",
  "OFFICE": "Büro",
  "OFFICE_FLOOR": "Büroetage",
  "OFFICE_BUILDING": "Bürohaus",
  "OFFICE_CENTRE": "Bürozentrum",
  "OFFICE_STORAGE_BUILDING": "Büro-/ Lagergebäude",
  "SURGERY": "Praxis",
  "SURGERY_FLOOR": "Praxisetage",
  "SURGERY_BUILDING": "Praxishaus",
  "COMMERCIAL_CENTRE": "Gewerbepark",
  "LIVING_AND_COMMERCIAL_BUILDING": "Wohn- und Geschäftsgebäude",
  "OFFICE_AND_COMMERCIAL_BUILDING": "Büro- und Geschäftshaus",
  "BAR_LOUNGE": "Barbetrieb/Lounge",
  "CAFE": "Café",
  "CLUB_DISCO": "Club/Diskothek",
  "GUESTS_HOUSE": "Gästehaus",
  "TAVERN": "Gaststätte",
  "HOTEL": "Hotel",
  "HOTEL_RESIDENCE": "Hotelanwesen",
  "HOTEL_GARNI": "Hotel garni",
  "PENSION": "Pension",
  "RESTAURANT": "Restaurant",
  "SHOWROOM_SPACE": "Ausstellungsfläche",
  "HALL": "Halle",
  "HIGH_LACK_STORAGE": "Hochregallager",
  "INDUSTRY_HALL": "Industriehalle",
  "INDUSTRY_HALL_WITH_OPEN_AREA": "Industriehalle mit Freifläche",
  "COLD_STORAGE": "Kühlhaus",
  "MULTIDECK_CABINET_STORAGE": "Kühlregallager",
  "STORAGE_WITH_OPEN_AREA": "Lager mit Freifläche",
  "STORAGE_AREA": "Lagerfläche",
  "STORAGE_HALL": "Lagerhalle",
  "SERVICE_AREA": "Servicefläche",
  "SHIPPING_STORAGE": "Speditionslager",
  "REPAIR_SHOP": "Werkstatt",
  "SHOPPING_CENTRE": "Einkaufszentrum",
  "FACTORY_OUTLET": "Factory Outlet",
  "DEPARTMENT_STORE": "Kaufhaus",
  "KIOSK": "Kiosk",
  "STORE": "Laden",
  "SELF_SERVICE_MARKET": "SB-Markt",
  "SALES_AREA": "Verkaufsfläche",
  "SALES_HALL": "Verkaufshalle",
  "RESIDENCE": "Anwesen",
  "FARM": "Bauernhof",
  "LEISURE_FACILITY": "Freizeitanlage",
  "COMMERCIAL_UNIT": "Gewerbeeinheit",
  "INDUSTRIAL_AREA": "Gewerbefläche",
  "NURSING_HOME": "Pflegeheim",
  "ASSISTED_LIVING": "Betreutes Wohnen",
  "HORSE_FARM": "Reiterhof",
  "SPECIAL_ESTATE": "Spezialobjekt",
  "VINEYARD": "Weingut",
  "INVEST_FREEHOLD_FLAT": "Eigentumswohnung",
  "INVEST_SINGLE_FAMILY_HOUSE": "Einfamilienhaus",
  "INVEST_MULTI_FAMILY_HOUSE": "Mehrfamilienhaus",
  "INVEST_LIVING_BUSINESS_HOUSE": "Wohn-/Geschäftshaus",
  "INVEST_HOUSING_ESTATE": "Wohnanlage",
  "INVEST_MICRO_APARTMENTS": "Micro-Apartments",
  "INVEST_OFFICE_BUILDING": "Bürohaus",
  "INVEST_COMMERCIAL_BUILDING": "Geschäftshaus",
  "INVEST_OFFICE_AND_COMMERCIAL_BUILDING": "Büro- und Geschäftshaus",
  "INVEST_SHOP_SALES_FLOOR": "Laden/Verkaufsfläche",
  "INVEST_SUPERMARKET": "Supermarkt",
  "INVEST_SHOPPING_CENTRE": "Einkaufszentrum",
  "INVEST_RETAIL_PARK": "Fachmarktzentrum",
  "INVEST_HOTEL": "Hotel",
  "INVEST_BOARDING_HOUSE": "Boarding House",
  "INVEST_SURGERY_BUILDING": "Ärztehaus",
  "INVEST_CLINIC": "Klinik",
  "INVEST_REHAB_CLINIC": "Rehaklinik",
  "INVEST_MEDICAL_SERVICE_CENTER": "MVZ",
  "INVEST_INTEGRATION_ASSISTANCE": "Eingliederungshilfe",
  "INVEST_DAY_NURSERY": "Kita",
  "INVEST_DAY_CARE": "Tagespflege",
  "INVEST_NURSING_HOME": "Pflegeheim",
  "INVEST_ASSISTED_LIVING": "Betreutes Wohnen",
  "INVEST_COMMERCIAL_CENTRE": "Gewerbepark",
  "INVEST_HALL_STORAGE": "Halle/Logistik",
  "INVEST_INDUSTRIAL_PROPERTY": "Produktion/Fertigung",
  "INVEST_CAR_PARK": "Parkhaus",
  "INVEST_PLOT": "Grundstück",
  "INVEST_COMMERCIAL_UNIT": "Gewerbeeinheit",
  "INVEST_OTHER": "Sonstiges",
  "SHORT_TERM_APARTMENT": "Apartment",
  "SHORT_TERM_ROOM": "Zimmer",
  "SHORT_TERM_HOUSE": "Haus",
  "SHORT_TERM_FLAT": "Wohnung",
  "TRADE_SITE": "Grundstück"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.propstack.de/reference/suchprofile.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
