> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trassets.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Filterung: Zeilen und Spalten

> Zeilenfilterung per Query-Parameter und Spaltensteuerung pro API-Key in der Data API.

Die Data API hat zwei unabhängige Filterachsen: welche **Zeilen** zurückkommen, gesteuert von dir per Query-Parameter, und welche **Spalten** zurückkommen, gesteuert von einem Admin pro API-Key.

## Zeilenfilterung (horizontal)

Category-Endpunkte akzeptieren Query-Parameter, die nach den filterbaren Spalten benannt sind — jeder davon ist ein exakter Match. Welche Spalten filterbar sind, variiert pro Endpunkt; die genaue Liste steht im Tab **API-Referenz** beim jeweiligen Endpunkt.

```text theme={null}
GET /v1/property/properties?city=Berlin&use_type=Wohnen
GET /v1/contracts/contract_ends?property_id=1234
```

Es gibt keine Bereichs-, Wildcard- oder `OR`-Syntax — ein Query-Parameter matcht Zeilen, bei denen diese Spalte exakt dem angegebenen Wert entspricht. Mehrere Parameter lassen sich kombinieren und werden UND-verknüpft.

### Pflichtfilter

Filter sind bei fast jedem Endpunkt optional, einige verlangen aber einen und beantworten eine Anfrage ohne ihn mit `400 Bad Request`:

```json theme={null}
{ "detail": "Missing required filter(s): ['property_id']" }
```

Aktuell betrifft das `/v1/contracts/contract_ends` — dort ist `property_id` immer nötig. Pflichtparameter sind pro Endpunkt im Tab **API-Referenz** als erforderlich markiert; verlasse dich also darauf statt auf die Annahme, ein ungefilterter Aufruf funktioniere.

> [!NOTE]
>
> Raw-Endpunkte (`/v1/raw/{table_name}`) unterstützen diese Filter nicht — sie liefern immer die vollständige, unfilterte Tabelle, paginiert per Cursor. Siehe [Endpunkt-Typen](https://docs.trassets.ai/de/v1/concepts/endpoint-types.md).

## Spaltenfilterung (vertikal)

Welche Felder in der Response einer Entität enthalten sind, kann pro API-Key eingeschränkt werden. Ein Admin konfiguriert das im Trassets-Portal, pro Key und pro Entität — ein Key ohne explizite Konfiguration liefert den vollen, in der **API-Referenz** dokumentierten Spaltenumfang. Änderungen wirken nach etwa einer Minute, weil Berechtigungen bis zu 60 Sekunden zwischengespeichert werden.

Das ist nicht über den Request selbst steuerbar — es gibt keinen `fields`- oder `select`-Query-Parameter. Fehlt ein erwartetes Feld in der Response, obwohl es in der API-Referenz für diese Entität steht, liegt das wahrscheinlich an der Spaltenkonfiguration deines API-Keys — wende dich an den Trassets-Support, um sie zu prüfen oder zu ändern. Felder mit Personendaten brauchen zusätzlich einen [Grant](https://docs.trassets.ai/de/v1/authentication.md#grants-für-personenbezogene-daten).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.