Raw schema
{
"type": "object",
"properties": {
"court": {
"type": "string",
"enum": [
"vfgh",
"vwgh",
"justiz",
"bvwg",
"lvwg",
"dsk",
"normenliste",
"dok",
"pvak",
"gbk",
"uvs",
"asylgh",
"ubas",
"umse",
"bks",
"verg",
"upts"
],
"description": "Which court/tribunal application to search — one per call. Codes, coverage windows, and successor mapping: ris_list_reference topic courts."
},
"query": {
"description": "Full-text search over decisions (Suchworte). Boolean UND/ODER/NICHT or AND/OR/NOT, quoted phrases, trailing-only * wildcard. Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"norm": {
"description": "Cited-provision filter (Norm) — \"DSG §1\", \"DSGVO Art32\", \"GewO 1994 §129\", matching the format returned in norms_cited. The highest-value case-law filter. Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"case_number": {
"description": "Exact Geschäftszahl — returns that decision’s documents. Formats differ per court (examples: ris_list_reference topic courts). Not available for normenliste. Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"decision_type": {
"default": "all",
"description": "Search headnotes (Rechtssätze), full decision texts (Entscheidungstexte), or both (all, the default). Not available for gbk, upts, or normenliste.",
"type": "string",
"enum": [
"headnote",
"full_text",
"all"
]
},
"decided_from": {
"description": "Earliest decision date (YYYY-MM-DD). Not available for normenliste.",
"type": "string",
"pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])$"
},
"decided_to": {
"description": "Latest decision date (YYYY-MM-DD).",
"type": "string",
"pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])$"
},
"decision_kind": {
"description": "Decision kind (Entscheidungsart) — per-court value sets, validated locally: ris_list_reference topic decision_kinds. No such parameter exists for normenliste, dok, pvak, umse, bks, or upts. For justiz the four documented values are not yet populated in the corpus (every value returns 0 hits, verified 2026-07-05) — filter justiz with query or norm instead. Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"collection_number": {
"description": "Official collection number (Sammlungsnummer). vfgh, vwgh, and uvs only, and the accepted form differs: vfgh and uvs store the bare number and match it dotted or undotted (\"19632\", \"19.632\"), while vwgh stores the full labelled undotted cite — pass \"VwSlg 18000 A/2010\", or the space-anchored prefix \"VwSlg 18000 *\" when the part letter or year is unknown. A bare or dotted number matches nothing under vwgh. Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"issuing_body": {
"description": "Deciding body (EntscheidendeBehoerde) — dsk, dok, pvak, and verg only. dsk: Datenschutzbehoerde (2014+) or Datenschutzkommission (up to 2013). Full value lists: ris_list_reference topic issuing_bodies. Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"court_name": {
"description": "Filter within the ordinary courts (justiz only) — \"OGH\", \"OLG Wien\", \"LG Linz\". Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"legal_area": {
"description": "Legal area (Rechtsgebiet, justiz only): civil (Zivilrecht) or criminal (Strafrecht).",
"type": "string",
"enum": [
"civil",
"criminal"
]
},
"subject_area": {
"description": "Subject-area taxonomy filter (Fachgebiet, justiz only) — 39 exact German values like \"Datenschutzrecht\", validated locally: ris_list_reference topic justiz_subject_areas. The corpus carries no tagged documents yet (every value returns 0 hits, verified 2026-07-05) — filter with query or norm instead until RIS populates the tags. Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"state": {
"description": "Which of the nine state administrative courts/senates to search (lvwg and uvs only).",
"type": "string",
"enum": [
"burgenland",
"kaernten",
"niederoesterreich",
"oberoesterreich",
"salzburg",
"steiermark",
"tirol",
"vorarlberg",
"wien"
]
},
"party": {
"description": "Political party the decision concerns (upts only). Documented values: ÖVP, SPÖ, FPÖ, KPÖ, BZÖ, Team Stronach — the filter is full-text, and further party names appear in live data (e.g. \"Wandel\"). Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"commission": {
"description": "Equal-treatment commission (gbk only): federal (Bundes-Gleichbehandlungskommission) or general (Gleichbehandlungskommission).",
"type": "string",
"enum": [
"federal",
"general"
]
},
"senate": {
"description": "Commission senate (gbk only).",
"type": "string",
"enum": [
"I",
"II",
"III"
]
},
"discrimination_ground": {
"description": "Discrimination ground (gbk only): Alter (age), EthnischeZugehoerigkeit (ethnic origin), Geschlecht (gender/sex), Mehrfachdiskriminierung (multiple grounds), Religion (religion), SexuelleOrientierung (sexual orientation), Weltanschauung (worldview/belief). Upstream German enum values, sent verbatim.",
"type": "string",
"enum": [
"Alter",
"EthnischeZugehoerigkeit",
"Geschlecht",
"Mehrfachdiskriminierung",
"Religion",
"SexuelleOrientierung",
"Weltanschauung"
]
},
"subject_law": {
"description": "Media statute the case concerns (Bereich, bks only) — e.g. \"ORF-Gesetz\", \"Privatradiogesetz\". Omit to leave unfiltered; a blank value is rejected.",
"type": "string",
"pattern": "\\S"
},
"changed_since": {
"description": "Coarse recency filter — decisions changed in RIS within the interval. For exact windows use ris_track_changes.",
"type": "string",
"enum": [
"one_week",
"two_weeks",
"one_month",
"three_months",
"six_months",
"one_year"
]
},
"sort_by": {
"description": "Sort column. Default: upstream order. Not available for court: normenliste, which indexes laws rather than decisions.",
"type": "string",
"enum": [
"decision_date",
"case_number"
]
},
"sort_direction": {
"description": "Sort direction; applies with sort_by.",
"type": "string",
"enum": [
"ascending",
"descending"
]
},
"page": {
"description": "1-based result page. Default 1.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"page_size": {
"description": "Documents per page: 10 or 20 (default 20). For more results, keep the size and raise page.",
"type": "number",
"enum": [
10,
20
]
}
},
"required": [
"court"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}