> ## 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.

# Konventionen für die Response-Struktur unter /v1/

> Zielkonventionen für die Response-Struktur von /v1/-Tabellen — period- und amount-Objekte, Arrays statt nummerierter Spalten, Code+Label-Paare und flache ID-Felder.

Die unversionierte API liefert Datenbanktabellen weitgehend unverändert — flache Zeilen mit Sync-Pipeline-Artefakten, nummerierten Wiederholungsspalten und uneinheitlichen Feldtypen. `/v1/` bewegt sich davon weg, Tabelle für Tabelle. Das ist das Zielbild; **die meisten `/v1/`-Tabellen folgen dem noch nicht vollständig** (siehe Hinweis unten).

| Konvention                                             | Vorher                                                                            | Nachher                                                                                                                                          |
| ------------------------------------------------------ | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Zeiträume werden zu einem `period`-Objekt              | `"date_begin": "2013-04-01", "date_end": "2017-01-31"`                            | `"period": {"start": "2013-04-01", "end": "2017-01-31"}`                                                                                         |
| Geldbeträge werden zu einem `amount`-Objekt            | `"booking_sum_net": 327.0, "booking_sum_tax": 0.0, "booking_sum_gross": 327.0`    | `"amount": {"net": 327.0, "tax": 0.0, "gross": 327.0}`                                                                                           |
| Nummerierte Wiederholungsspalten werden zu einem Array | `"hierarchy_1": "17 10 01", "hierarchy_2": "17 10 01.06", "hierarchy_3": null, …` | `"hierarchy": ["17 10 01", "17 10 01.06"]`                                                                                                       |
| Code+Label-Paare werden zu einem Objekt                | `"exclusivity_id": 0, "exclusivity": "Vorschlag"`                                 | `"exclusivity": {"code": 0, "label": "Vorschlag"}`                                                                                               |
| Sync-Pipeline-Artefakte entfallen                      | `"recommended_join_key": "1204"`, `"property_id_account_number": 1101410500`      | vollständig entfernt — stattdessen über die echten ID-Felder verknüpfen                                                                          |
| ID-Felder bleiben immer flach                          | —                                                                                 | `property_id`, `account_id`, `floor_area_id` etc. werden in keiner Tabelle verschachtelt — das hält Datensätze über Endpunkte hinweg verknüpfbar |

Die letzte Zeile ist die eine Garantie, die über alle anderen Änderungen hinweg gilt: Egal was sonst umstrukturiert wird, die ID-Felder, über die Datensätze heute schon zwischen Endpunkten verknüpft werden, bleiben exakt dort, wo sie sind.

<Note>
  Vollständige Begründung und offene Fragen: [ADR-0003](https://github.com/Trassets-ai/trassets-data-api/pull/192) (Status: Proposed) im Repository `trassets-data-api`.
</Note>
