Schemas
ErrorResponseVapor-Standard-Fehlerformat. Wird bei Fehlern (z.B. 404) ausgeliefert.
Type: object
Vapor-Standard-Fehlerformat. Wird bei Fehlern (z.B. 404) ausgeliefert.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
error | boolean | required | Immer `true` bei einer Fehlerantwort. |
reason | string | required | Menschenlesbare Fehlerbeschreibung (deutsch oder englisch, je nach Fehlerquelle). |
HealthResponseAntwort des Health-Endpoints.
Type: object
Antwort des Health-Endpoints.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
status | string | required | Konstant `ok`, solange der Dienst läuft. |
StatusResponseSelbstauskunft über Dienst und Datenbestand.
Type: object
Selbstauskunft über Dienst und Datenbestand.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
service | string | required | Dienst-Kennung, konstant `lagedergesetze-api`. |
version | string | required | Git-Commit-SHA des deployten Servers, oder `local` in der Entwicklung. |
serverTime | string (date-time) | required | Aktuelle Server-Zeit als ISO-8601-Zeitstempel. |
dataset | StatusDataset | required |
StatusDatasetKennzahlen des vorgehaltenen Datenbestands.
Type: object
Kennzahlen des vorgehaltenen Datenbestands.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
lastSyncISO | string | required | Zeitpunkt der letzten Daten-Synchronisation als ISO-8601-Zeitstempel, oder der Literal-Wert `unknown`, wenn nicht bestimmbar. |
lawsCount | integer | required | Anzahl der vorgehaltenen Gesetze (live aus dem Datenbestand gezählt). |
normsCount | integer | required | Anzahl aller Normen über alle Gesetze hinweg (live aus dem Datenbestand gezählt). |
LawsListResponseListe aller Gesetze in Kurzfassung.
Type: object
Liste aller Gesetze in Kurzfassung.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
total | integer | required | Anzahl der Einträge in `items`. |
items | array of LawSummary | required | Alle Gesetze als Kurzfassung, sortiert nach `jurabk`. |
LawSummaryKurzfassung eines Gesetzes (ohne Normen-Liste).
Type: object
Kurzfassung eines Gesetzes (ohne Normen-Liste).
Properties
| Property | Type | Required | Description |
|---|---|---|---|
slug | string | required | Eindeutiger Slug des Gesetzes (kleingeschrieben), zugleich Pfad-Parameter für die Detail-Endpunkte. |
jurabk | string | required | Amtliche juristische Abkürzung des Gesetzes (z.B. `EStG`). |
titel | string | required | Vollständiger Titel des Gesetzes. |
ausfertigungDatum | string | optional | Ausfertigungsdatum des Gesetzes als ISO-Datum (z.B. `1934-10-16`). Fehlt, wenn unbekannt. |
fundstelle | string | optional | Amtliche Fundstelle der Erstverkündung (z.B. `BGBl I 2000, 2045`). Fehlt, wenn unbekannt. |
lastBuilddate | string | optional | Stand-Zeitstempel der lokalen Gesetzes-Quelle im Format `yyyyMMddHHmmss` (z.B. `20260506174531`). Fehlt, wenn unbekannt. |
LawDetailEin Gesetz samt Liste seiner Normen.
Type: object
Ein Gesetz samt Liste seiner Normen.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
summary | LawSummary | required | |
norms | array of NormSummary | required | Alle Normen des Gesetzes als Kurzfassung, sortiert (Paragraphen vor Artikeln, numerisch aufsteigend, aufgehobene zuletzt). |
NormSummaryKurzfassung einer Norm (ohne Volltext).
Type: object
Kurzfassung einer Norm (ohne Volltext).
Properties
| Property | Type | Required | Description |
|---|---|---|---|
slug | string | required | Slug der Norm (z.B. `p1`), zugleich Pfad-Parameter `enbezSlug` für den Norm-Detail-Endpunkt. |
enbez | string | required | Amtliche Einzelnorm-Bezeichnung (z.B. `§ 1`). |
titel | string | optional | Überschrift der Norm (z.B. `Steuerpflicht`). Fehlt, wenn die Norm keine Überschrift trägt. |
status | string | required | Status der Norm, Standard `in_kraft` (z.B. auch `aufgehoben`). |
NormDetailEine Norm mit ihrem Markdown-Volltext und Metadaten.
Type: object
Eine Norm mit ihrem Markdown-Volltext und Metadaten.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
slug | string | required | Slug der Norm (z.B. `p1`). |
lawJurabk | string | required | Amtliche Abkürzung des Gesetzes, zu dem die Norm gehört (z.B. `EStG`). |
enbez | string | required | Amtliche Einzelnorm-Bezeichnung (z.B. `§ 1`). |
titel | string | optional | Überschrift der Norm. Fehlt, wenn die Norm keine Überschrift trägt. |
gliederung | string | optional | Gliederungs-Einordnung der Norm innerhalb des Gesetzes (z.B. `I. – Steuerpflicht`). Fehlt, wenn nicht vorhanden. |
doknr | string | required | Eindeutige Dokument-Nummer der Norm aus der amtlichen Quelle. |
status | string | required | Status der Norm, Standard `in_kraft`. |
lastBuilddate | string | optional | Stand-Zeitstempel der lokalen Gesetzes-Quelle im Format `yyyyMMddHHmmss`. Fehlt, wenn unbekannt. |
content | string | required | Volltext der Norm als Markdown. |
LawHistoryResponseÄnderungs-Historie eines Gesetzes.
Type: object
Änderungs-Historie eines Gesetzes.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
total | integer | required | Anzahl der Einträge in `items`. |
items | array of LawHistoryEntry | required | Drucksachen, die das Gesetz angefasst haben, neueste zuerst. |
LawHistoryEntryEine Drucksache, die das Gesetz geändert hat.
Type: object
Eine Drucksache, die das Gesetz geändert hat.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
drucksachennummer | string | required | Nummer der Drucksache (z.B. `21/6003`). |
herausgeber | string | optional | Herausgeber der Drucksache (`Bundestag` oder `Bundesrat`). Fehlt, wenn unbekannt. |
datum | string | optional | Datum der Drucksache als ISO-Datum. Fehlt, wenn unbekannt. |
titel | string | required | Titel der Drucksache. |
anzahlAenderungenAmGesetz | integer | required | Anzahl der Blöcke dieser Drucksache, die genau dieses Gesetz betreffen. |
klartextLead | string | optional | Erster Satz der Klartext-Gesamtzusammenfassung (auf ~200 Zeichen gekürzt). Fehlt, wenn keine Zusammenfassung vorliegt. |
befund | GesamtBefund | required |
NormHistoryResponseBearbeitungsverlauf einer Norm.
Type: object
Bearbeitungsverlauf einer Norm.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
total | integer | required | Anzahl der Einträge in `items`. |
items | array of NormChangeEntry | required | Block-Änderungen an dieser Norm, neueste zuerst. |
NormChangeEntryEine einzelne Block-Änderung, die diese Norm betroffen hat.
Type: object
Eine einzelne Block-Änderung, die diese Norm betroffen hat.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
drucksachennummer | string | required | Nummer der Drucksache, aus der die Änderung stammt. |
datum | string | optional | Datum der Drucksache als ISO-Datum. Fehlt, wenn unbekannt. |
titel | string | required | Titel der Drucksache. |
paragraph | string | required | Betroffener Paragraph (z.B. `§ 66`). |
absatz | string | optional | Betroffener Absatz (z.B. `Absatz 4 (neu)`). Fehlt, wenn nicht absatz-genau. |
satz | string | optional | Betroffener Satz (z.B. `Satz 5`). Fehlt, wenn nicht satz-genau. |
nummer | string | optional | Betroffene Nummer einer Aufzählung (z.B. `Nummer 3`). Fehlt, wenn nicht nummer-genau. |
art | AenderungsArt | required | |
klartext | string | optional | Laienverständliche Erläuterung dieser Änderung. Fehlt, wenn nicht vorhanden. |
konfidenz | Konfidenz | required | |
befund | GesamtBefund | required |
SynopsenListResponseListe aller Synopsen in Kurzfassung.
Type: object
Liste aller Synopsen in Kurzfassung.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
total | integer | required | Anzahl der Einträge in `items`. |
items | array of SynopseSummary | required | Alle Synopsen als Kurzfassung, sortiert nach Drucksachen-Datum (neueste zuerst). |
SynopseSummaryKurzfassung einer Synopse (ohne Blöcke und Audit-Trail).
Type: object
Kurzfassung einer Synopse (ohne Blöcke und Audit-Trail).
Properties
| Property | Type | Required | Description |
|---|---|---|---|
drucksachennummer | string | required | Nummer der Drucksache (z.B. `21/6003`). |
herausgeber | string | optional | Herausgeber der Drucksache (`Bundestag` oder `Bundesrat`). Fehlt, wenn unbekannt. |
datum | string | optional | Datum der Drucksache als ISO-Datum. Fehlt, wenn unbekannt. |
titel | string | required | Titel der Drucksache. |
betroffeneGesetze | array of string | required | Slugs aller von dieser Drucksache geänderten Gesetze. |
anzahlBlocks | integer | required | Anzahl der Änderungs-Blöcke in dieser Synopse. |
befund | GesamtBefund | required |
SynopseVollständige Synopse zu einer Drucksache nach Schema v1. Die Feldnamen folgen dem Synopse-JSON-Schema (überwiegend `snake_case`).
Type: object
Vollständige Synopse zu einer Drucksache nach Schema v1. Die Feldnamen folgen dem Synopse-JSON-Schema (überwiegend `snake_case`).
Properties
| Property | Type | Required | Description |
|---|---|---|---|
schema_version | string | required | Schema-Version der Synopse, aktuell `1`. |
drucksache | DrucksacheRef | required | |
betroffene_gesetze | array of string | required | Slugs aller von dieser Drucksache geänderten Gesetze. |
bezugsstand | string | optional | Der von der Drucksache selbst genannte Bezugsstand der geänderten Gesetze („zuletzt geändert durch …"). Fehlt, wenn nicht angegeben. |
blocks | array of Block | required | Die einzelnen Änderungs-Blöcke (je ein in sich abgeschlossener Änderungsbefehl). |
audit | Audit | required | |
klartext_gesamt | string | optional | Laienverständliche Gesamtzusammenfassung der Drucksache. Fehlt, wenn nicht erzeugt. |
klartext_bullets | array of KlartextBullet | optional | Bürger-Steckbrief – kompakte Vier-Felder-Karte (Wen betrifft es / Was ändert sich / Ab wann / Was ist noch unsicher). Fehlt, wenn nicht erzeugt. |
DrucksacheRefQuellendaten der Drucksache.
Type: object
Quellendaten der Drucksache.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
nummer | string | required | Drucksachennummer wie im DIP angegeben (z.B. `21/6003`). |
herausgeber | string | optional | Herausgeber (`Bundestag` oder `Bundesrat`). Fehlt, wenn unbekannt. |
wahlperiode | integer | optional | Wahlperiode als Zahl (z.B. `21`). Fehlt, wenn nicht zutreffend. |
datum | string | optional | Datum der Drucksache als ISO-Datum. Fehlt, wenn unbekannt. |
titel | string | optional | Titel der Drucksache. Fehlt, wenn unbekannt. |
vorgang_id | string | optional | DIP-Vorgangs-ID, falls vorhanden. |
pdf_url | string (uri) | optional | URL zum amtlichen PDF der Drucksache, falls vorhanden. |
drucksachetyp | string | optional | Typ der Drucksache, exakt wie vom DIP geliefert (z.B. `Gesetzentwurf`). Fehlt, wenn unbekannt. |
BlockEine in sich abgeschlossene Änderung am Gesetzestext.
Type: object
Eine in sich abgeschlossene Änderung am Gesetzestext.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
id | string | required | Stabile, KI-vergebene Block-Kennung für Audit-Trail-Referenzen (z.B. `block-1`). |
gesetz | string | required | Slug des betroffenen Gesetzes (aus `betroffene_gesetze`). |
paragraph | string | required | Betroffener Paragraph (z.B. `§ 66`). |
absatz | string | optional | Betroffener Absatz (z.B. `Absatz 4 (neu)`). Fehlt, wenn nicht absatz-genau. |
satz | string | optional | Betroffener Satz (z.B. `Satz 5`). Fehlt, wenn nicht satz-genau. |
nummer | string | optional | Betroffene Nummer einer Aufzählung (z.B. `Nummer 3`). Fehlt, wenn nicht nummer-genau. |
art | AenderungsArt | required | |
befehl_original | string | required | Der Original-Änderungsbefehl wortgetreu aus der Drucksache. |
vorher | string | optional | Exakter Wortlaut der Norm-Stelle vor der Änderung (kompletter Norm-Block). Fehlt bzw. ist leer bei Neuregelungen ohne Vortext. |
nachher | string | optional | Exakter Wortlaut der Norm-Stelle nach der Änderung. Fehlt bzw. ist leer bei Aufhebungen. |
klartext | string | optional | Laienverständliche Erläuterung dieser Änderung. Fehlt, wenn nicht erzeugt. |
konfidenz | Konfidenz | required | |
unsicherheiten | array of string | required | Konkrete Punkte, die den Bearbeiter unsicher gemacht haben (je ein Grund pro Eintrag). Leeres Array, wenn keine. |
KlartextBulletEin Feld des Bürger-Steckbriefs.
Type: object
Ein Feld des Bürger-Steckbriefs.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
label | string | required | Frage-Label (z.B. `Wen betrifft es?`). |
text | string | required | Laienverständliche Antwort in einem Satz. |
AuditAudit-Trail – wer die Synopse erzeugt und wer sie geprüft hat.
Type: object
Audit-Trail – wer die Synopse erzeugt und wer sie geprüft hat.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
erzeugt_am | string (date-time) | optional | Erzeugungs-Zeitpunkt der Synopse als ISO-8601-Zeitstempel. Fehlt, wenn nicht gesetzt. |
bearbeiter | AgentInfo | required | |
gutachten | array of GutachtenEintrag | required | Prüf-Befunde der KI-Gutachter (z.B. Synopsen-, Stand-, Klartext-Gutachter). |
freigabe | Freigabe | optional |
AgentInfoAngaben zum erzeugenden KI-Bearbeiter.
Type: object
Angaben zum erzeugenden KI-Bearbeiter.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
typ | string | optional | Rolle des Bearbeiters (z.B. `synopsen-bearbeiter`). Fehlt, wenn nicht gesetzt. |
modell | string | optional | Verwendetes KI-Modell (z.B. `claude-sonnet-4-6`). Fehlt, wenn nicht gesetzt. |
prompt_version | string | optional | Version des verwendeten Prompts (z.B. `1.0`). Fehlt, wenn nicht gesetzt. |
dauer_sekunden | number | optional | Dauer der Bearbeitung in Sekunden. Fehlt, wenn nicht gemessen. |
GutachtenEintragEin einzelner Gutachter-Befund.
Type: object
Ein einzelner Gutachter-Befund.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
typ | string | required | Art des Gutachtens (z.B. `synopsen-gutachter`, `stand-gutachter`, `klartext-gutachter`). |
modell | string | optional | Verwendetes KI-Modell. Fehlt, wenn nicht gesetzt. |
befund | string | required | Befund des Gutachters. Die zulässigen Werte hängen vom Gutachter-Typ ab (z.B. der Synopsen-Gutachter nutzt `konsistent`, `unsicher` oder `abgelehnt`; der Stand-Gutachter z.B. `stand passt`). |
details | string | optional | Freitext-Begründung des Befunds. Fehlt, wenn nicht angegeben. |
erzeugt_am | string (date-time) | optional | Zeitpunkt des Gutachtens als ISO-8601-Zeitstempel. Fehlt, wenn nicht gesetzt. |
FreigabeFreigabe-Vermerk der Synopse.
Type: object
Freigabe-Vermerk der Synopse.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
durch | string | optional | Wer freigegeben hat (z.B. `automatisch`, `betreiber`, `manuell`). Fehlt, wenn noch nicht freigegeben. |
am | string (date-time) | optional | Zeitpunkt der Freigabe als ISO-8601-Zeitstempel. Fehlt, wenn noch nicht freigegeben. |
PagesListResponseListe aller statischen Seiten in Kurzfassung.
Type: object
Liste aller statischen Seiten in Kurzfassung.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
total | integer | required | Anzahl der Einträge in `items`. |
items | array of PageSummary | required | Alle Seiten als Kurzfassung (ohne Inhalt), sortiert nach Slug. |
PageSummaryKurzfassung einer statischen Seite (ohne Inhalt).
Type: object
Kurzfassung einer statischen Seite (ohne Inhalt).
Properties
| Property | Type | Required | Description |
|---|---|---|---|
slug | string | required | Slug der Seite, zugleich Pfad-Parameter für den Detail-Endpunkt. |
titel | string | required | Titel der Seite. |
beschreibung | string | optional | Kurzbeschreibung der Seite. Fehlt, wenn nicht gesetzt. |
aktualisiert | string | optional | Datum der letzten Aktualisierung als ISO-Datum. Fehlt, wenn nicht gesetzt. |
PageEine statische Seite samt Markdown-Inhalt.
Type: object
Eine statische Seite samt Markdown-Inhalt.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
slug | string | required | Slug der Seite. |
titel | string | required | Titel der Seite. |
beschreibung | string | optional | Kurzbeschreibung der Seite. Fehlt, wenn nicht gesetzt. |
aktualisiert | string | optional | Datum der letzten Aktualisierung als ISO-Datum. Fehlt, wenn nicht gesetzt. |
markdown | string | required | Inhalt der Seite als Markdown. |
GesamtBefundServer-berechneter Gesamt-Befund einer Synopse, abgeleitet aus den KI-Gutachten und den Block-Konfidenzen. Dieses Feld wird von der API selbst bestimmt und nimmt genau einen der gelisteten Werte an.
Type: string
Server-berechneter Gesamt-Befund einer Synopse, abgeleitet aus den KI-Gutachten und den Block-Konfidenzen. Dieses Feld wird von der API selbst bestimmt und nimmt genau einen der gelisteten Werte an.
Allowed values
geprüftmit vorbehaltteils unsicherprüfung nötigungeprüft
KonfidenzEigeneinschätzung des Bearbeiters zur Sicherheit eines Blocks. Die API liefert diesen Wert unverändert aus der Synopse-Quelle aus und validiert ihn nicht; nach dem verbindlichen Synopse-Schema v1 ist er einer von: `hoch`, `mittel`, `niedrig`, `unbestimmt`.
Type: string
Eigeneinschätzung des Bearbeiters zur Sicherheit eines Blocks. Die API liefert diesen Wert unverändert aus der Synopse-Quelle aus und validiert ihn nicht; nach dem verbindlichen Synopse-Schema v1 ist er einer von: `hoch`, `mittel`, `niedrig`, `unbestimmt`.
AenderungsArtArt der Änderung eines Blocks. Die API liefert diesen Wert unverändert aus der Synopse-Quelle aus und validiert ihn nicht; nach dem verbindlichen Synopse-Schema v1 ist er üblicherweise einer von: `Wort-Ersetzung`, `Mehrfach-Wort-Ersetzung`, `Satz-Neufassung`, `Nummer-Neufassung`, `Absatz-Neufassung`, `Paragraph-Neufassung`, `Einfügung`, `Anfügung`, `Aufhebung`, `Streichung`, `Inhaltsübersicht-Änderung`, `Neuregelung`.
Type: string
Art der Änderung eines Blocks. Die API liefert diesen Wert unverändert aus der Synopse-Quelle aus und validiert ihn nicht; nach dem verbindlichen Synopse-Schema v1 ist er üblicherweise einer von: `Wort-Ersetzung`, `Mehrfach-Wort-Ersetzung`, `Satz-Neufassung`, `Nummer-Neufassung`, `Absatz-Neufassung`, `Paragraph-Neufassung`, `Einfügung`, `Anfügung`, `Aufhebung`, `Streichung`, `Inhaltsübersicht-Änderung`, `Neuregelung`.