Die HTTP-Schnittstelle von interessenabwaegung.ch. Damit lassen sich Abwägungen aus eigenen Fachanwendungen heraus anstossen, der Urteilskorpus abfragen und Parzellen verorten. Alle Antworten sind JSON, alle Pfade beginnen mit https://interessenabwaegung.ch.
Zugang und Authentifizierung
Jede Anfrage braucht einen persönlichen Schlüssel — entweder als Kopfzeile X-API-Key: … oder als Authorization: Bearer …. Der Schlüssel gehört zu einem Konto, und jede Antwort nennt unter queried_by, wem sie zugerechnet wurde.
Schlüssel werden nicht selbst erzeugt: schreiben Sie an info@spekt.ch mit einem Satz zum Einsatzzweck. Widerrufene Schlüssel antworten sofort mit 401.
Abfrage des eigenen, annotierten Urteilskorpus zur Interessenabwägung. Jeder Entscheid trägt Planungsanlass, betroffenes Schutzgut, berührte Prüfdimensionen, angerufene Normen und den Verfahrensausgang — diese Verknüpfung gibt es nur hier. Die Antworten stammen aus dem eigenen Datensatz, sind deterministisch und brauchen keinen fremden Dienst.
GET/api/v1/rechtsprechung
Entscheide filtern
Liefert gefilterte Entscheide, die Trefferzahlen je Merkmal (Facetten) und die Ausgangsstatistik zur Auswahl. Sortiert nach Datum, neuester zuerst.
Feld
Typ
Bedeutung
anlass
string
Ein Planungsanlass, siehe Vokabular unten.
killer
string, kommagetrennt
Betroffene Schutzgüter. Mehrere Werte wirken als ODER.
dimension
string
Eine Prüfdimension des IAW-Checks.
ausgang
string, kommagetrennt
Verfahrensausgang. Mehrere Werte wirken als ODER.
norm
string
Klartext („Art. 24 RPG“) oder Slug („art-24-rpg“).
gericht
string
Etwa „BGer“, „BVGer“, „VGer ZH“.
ab / bis
string
Jahr oder ISO-Datum. „bis“ schliesst das genannte Jahr ein.
suche
string
Freitext in Leitsatz, Aktenzeichen und Normen. Alle Wörter müssen vorkommen.
Ein Entscheid im Volldatensatz. Akzeptiert den Slug aus der Trefferliste ebenso wie das rohe Aktenzeichen — dieses URL-kodiert, weil es einen Schrägstrich enthält.
Sucht tagesaktuell im Volltextbestand von entscheidsuche.ch. Ergänzung zum Korpus, kein Ersatz: die Treffer sind aktueller, aber ohne Annotation, und die Route hängt von einem fremden Dienst ab.
⚠Antwortet mit 504 und dem Fehler „search_timeout“, wenn entscheidsuche.ch nicht rechtzeitig liefert. Wer verlässliche Antwortzeiten braucht, nimmt den Korpus-Endpunkt.
Interessenabwägung
Eine Abwägung anstossen, ihren Stand verfolgen, Unterlagen beilegen und das Ergebnis abholen. Der Ablauf ist bewusst nicht vollautomatisch: die Gewichtung der Interessen nimmt ein Mensch im Browser vor. Die API liefert dafür den Link.
POST/api/v1/iaw/start
Abwägung anlegen
Legt einen Fall an und gibt eine Fall-ID sowie die Web-Adresse zurück, unter der die Gewichtung vorgenommen wird.
Feld
Typ
Bedeutung
gemeindePflicht
string
Name der Gemeinde.
kantonPflicht
string
Kantonskürzel, etwa „ZH“.
planungsanlassPflicht
string
Siehe Vokabular unten.
beschreibungPflicht
string
Vorhaben in Worten. Wird auf 500 Zeichen gekürzt.
parzelle
string
Parzellennummer, optional.
Shell
curl -X POST -H "X-API-Key: $IAW_KEY" \
-H "Content-Type: application/json" \
-d '{
"gemeinde": "Uster",
"kanton": "ZH",
"planungsanlass": "einzonung",
"beschreibung": "Einzonung von 1.2 ha für Wohnnutzung am Siedlungsrand."
}' \
"https://interessenabwaegung.ch/api/v1/iaw/start"
Liefert den Status (created, in_progress, completed, exported) und einzelne Fortschrittsmerkmale — etwa ob gewichtet wurde und ob der Export bereitsteht.
Lädt ein Dokument zum Fall hoch, als multipart/form-data im Feld „file“. Höchstens 10 MB je Datei. Ein GET auf denselben Pfad listet die bereits hinterlegten Dokumente.
Schliesst den Fall ab und liefert die Abwägungsdaten. Der Parameter „format“ akzeptiert docx oder pdf.
Feld
Typ
Bedeutung
format
query, docx | pdf
Standard docx.
Shell
curl -X POST -H "X-API-Key: $IAW_KEY" \
"https://interessenabwaegung.ch/api/v1/iaw/iaw_a1b2c3d4e5f6a7b8/export?format=docx"
⚠Dieser Endpunkt liefert derzeit die Abwägungsdaten als JSON und setzt den Fall auf „exported“ — noch keine fertige Word- oder PDF-Datei. Das gerenderte Dokument gibt es aktuell nur über die Weboberfläche.
Parzelle
Standortbezug herstellen, bevor eine Abwägung beginnt.
POST/api/v1/parzelle/geodaten
Parzelle verorten
Ermittelt über geo.admin.ch die LV95-Koordinaten und den EGRID zu einer Adresse oder Parzellennummer. Entweder „parzelle“ oder „adresse“ ist erforderlich.
⚠Liefert Verortung, nicht die Schutzgut-Abfrage. Die vollständige Auswertung der Bundesinventare (BLN, ISOS, FFF, Gewässerraum, Naturgefahren) läuft heute nur über die Weboberfläche; die Antwort enthält dafür unter „geodaten_query“ den passenden Folgeaufruf.
Vokabular
Die Werte, die Filter und Antwortfelder verwenden. Links steht der Schlüssel für die Anfrage, rechts die Bezeichnung in der Oberfläche. Diese Tabelle wird aus demselben Modul erzeugt wie die Anwendung selbst und kann deshalb nicht veralten.
planungsanlass / anlass
ortsplanungsrevisionOrtsplanungsrevision
baubewilligungBaubewilligung
gestaltungsplanGestaltungsplan
richtplanungRichtplanung
auszonungAuszonung
einzonungEinzonung
umzonungUmzonung
ausserhalb_bauzoneBauen ausserhalb Bauzone
sondernutzungsplanSondernutzungsplan
killer
gewaesserraumGewässerraum
isosISOS
blnBLN
moorMoorlandschaft
ivsIVS
waldWald
fffFruchtfolgeflächen
biotopBiotop / Aue / Trockenwiese
gewaesserschutzGewässerschutz
dimension
sachverhaltSachverhalt
vollstaendigkeitVollständigkeit
konfliktanalyseKonfliktanalyse
gewichtungKonsistenzGewichtung und Konsistenz
verhaeltnismaessigkeitVerhältnismässigkeit
variantenVarianten
standortgebundenheitStandortgebundenheit
rechtsgrundlagenRechtsgrundlagen
abwaegungsentscheidAbwägungsentscheid
auflagenAuflagen
killerKriterienKiller-Kriterien
ausgang
gutgeheissenGutgeheissen
teilweise_gutgeheissenTeilweise gutgeheissen
abgewiesenAbgewiesen
rueckweisungRückweisung
nichteintretenNichteintreten
andersBesonderer Ausgang
Fehler
Fehlerantworten tragen immer ein Feld error mit einem stabilen Schlüssel, oft ergänzt um message im Klartext.
Status und Schlüssel
Bedeutung
400 invalid_json
Der Rumpf ist kein gültiges JSON.
400 missing_fields
Pflichtfelder fehlen. Die Antwort nennt sie unter „required“.
401 missing_api_key
Weder X-API-Key noch Authorization-Kopfzeile gesetzt.
401 invalid_api_key
Schlüssel unbekannt oder widerrufen.
404 not_found
Entscheid, Fall oder Norm existiert nicht.
504 search_timeout
Nur bei der Live-Suche: entscheidsuche.ch hat nicht rechtzeitig geantwortet.
Die Urteilszusammenfassungen sind eigene, KI-gestützte Texte zu amtlichen Volltexten und ersetzen deren Lektüre nicht. Ohne Schlüssel lässt sich der Korpus auch über die Urteilssuche durchsuchen.